콘텐츠로 이동

테이블 차트

테이블 차트에는 그룹 테이블 차트와 시계열 테이블 차트가 포함됩니다.

그룹 테이블 차트 데이터 구조 설명

//  아래 demo 데이터 테이블 열은 ['host', 'host_ip', 'columnA', 'columnB']입니다.
{
    group_by: ['host', 'host_ip'],
    column_names: ['columnA', 'columnB'],
    series: [
      {
        tags: {
          host: 'host_1',
          host_ip: '111.11.123.103',
        },
        values: [[null, 1,2]],
        column_names: ['time', 'columnA', 'columnB'],
        columns: ['time', 'columnA', 'columnB'],
      },
      {
        tags: {
          host: 'host_2',
          host_ip: '111.11.123.101',
        },
        values: [[null, 3,4]],
        column_names: ['time', 'columnA', 'columnB'],
        columns: ['time', 'columnA', 'columnB'],
      },
      {
        tags: {
          host: 'host_3',
          host_ip: '111.11.123.102',
        },
        values: [[null, 5,6]],
        column_names: ['time', 'columnA', 'columnB'],
        columns: ['time', 'columnA', 'columnB'],
      },
      {
        tags: {
          host: 'host_4',
          host_ip: '111.11.123.106',
        },
        values: [[null, 7,8]],
        column_names: ['time', 'columnA', 'columnB'],
        columns: ['time', 'columnA', 'columnB'],
      },
    ],
  },

그룹 테이블 차트의 열 값은 group_bycolumn_names를 병합하여 구성되며, group_by는 비어 있을 수 있습니다.

  • 필드 설명:
매개변수 유형 필수 여부 설명
group_by list 테이블 열의 구성 요소로, 해당 열의 값은 series 데이터의 각 항목에 있는 tags 객체에서 매핑된 value 값을 가져옵니다.
group_by[#] str
column_names list 필수 테이블 열의 구성 요소로, series 데이터의 column_names에서 time이 아닌 필드 값에 대응하며, 해당 열의 값은 series[#].values의 데이터를 가져옵니다.
column_names[#] str
series list 필수 데이터 그룹으로, 길이는 테이블의 행 수를 나타냅니다.
series[#] dict 하나의 데이터 집합
series[#].tags dict group_by 테이블 열에 연결된 속성 값입니다 (group_by 부분 열의 매핑 값에 해당하며, 별칭 key 값의 매핑으로도 사용됩니다).
series[#].columns list 필수 series[#].column_names와 동일합니다. ['time', ...]
series[#].columns[#] str 데이터 소스 필드 key로, 첫 번째 열 값은 반드시 time 필드여야 합니다.
series[#].column_names list 필수 데이터 소스 필드 key로, time을 제외한 나머지는 테이블 열의 참조로 사용됩니다.
series[#].column_names[#] str
series[#].values list 데이터 그룹으로, 길이는 series[#].columns와 일치해야 합니다. (테이블 차트에서 column_names 부분 열의 매핑 값에 해당합니다.)
series[#].values[#] list [null, 데이터 값, ...]으로 구성됩니다.
series[#].values[#][#] str

외부 함수 응답 구조 예시

@DFF.API('함수명', category='dataPlatform.dataQueryFunc')
def whytest_topology_test():
    data1_1 = 100
    data1_2 = 101
    data2_1 = 200
    data2_2 = 201
    now1 = int(time.time()) * 1000
    now2 = int(time.time()) * 1000
    #
    return {
    "content": [
      {
        "group_by": ['attrA'],
        "columns": ["filedA","filedB"]
        "column_names": ["filedA","filedB"]
        "series": [
          {
            "tags": {"attrA":'value1'},
            "columns": ["time", "filedA","filedB"],
            "values": [
              [now1, data1_1,data1_2],
              [now2, data2_1,data2_2]
            ],
            "total_hits": -1
          }
        ]
      }
    ]
  }

시계열 테이블 차트 데이터 구조 설명

//  아래 demo 데이터 테이블 열은 ['fieldA', 'fieldB', 'fieldC', 'fieldD']입니다.
{
  "query": {},
  "series": [
    {
      "values": [
        [1737365938763, 19],
        [1737365938585, 20],
        [1737365938874, 21],
        [1737365939137, 22]
      ],
      "columns": ["time", "fieldA"]
    },
    {
      "values": [
        [1737365938763, 30],
        [1737365938585, 30.5],
        [1737365938874, 31],
        [1737365939137, 31.5]
      ],
      "columns": ["time", "fieldB"]
    },
    {
      "values": [
        [1737365938763, 50],
        [1737365938585, 50.5],
        [1737365938874, 51],
        [1737365939137, 51.5]
      ],
      "columns": ["time", "fieldC"]
    },
    {
      "values": [
        [1737365938763, 60],
        [1737365938585, 60.5],
        [1737365938874, 61],
        [1737365939137, 61.5]
      ],
      "columns": ["time", "fieldD"]
    }
  ]
}

시계열 테이블 차트의 열 값은 series[#].columns의 두 번째 열 데이터를 중복 제거하여 병합하여 구성됩니다.

  • 필드 설명:
매개변수 유형 필수 여부 설명
series list 필수 데이터 그룹으로, 길이는 테이블에 있는 데이터 그룹의 수를 나타냅니다.
series[#] dict 하나의 데이터 집합
series[#].columns list 필수 time열 이름으로 구성됩니다. 즉, ['time', 열 이름]입니다.
series[#].columns[#] str
series[#].values list 2차원 배열로, 각 데이터는 해당 열의 서로 다른 시간 차원에 대응하는 값을 나타내며, 배열 길이는 테이블의 행에 영향을 미칩니다.
series[#].values[#] list [타임스탬프, 데이터 값]
series[#].values[#][#] str

외부 함수 응답 구조 예시

@DFF.API('함수명', category='dataPlatform.dataQueryFunc')
def whytest_topology_test():
    data1_1 = 100
    data1_2 = 101
    data2_1 = 200
    data2_2 = 201
    data3_1 = 101
    data3_2 = 202
    now1 = int(time.time()) * 1000
    now2 = int(time.time()) * 1000
    now3 = int(time.time()) * 1000
    #
    return {
    "content": [
      {
        "series": [
          {
            "columns": ["time", "filedA"],
            "values": [
              [now1, data1_1],
              [now2, data2_1],
              [now3, data3_1],
            ],
          },
          {
            "columns": ["time", "filedB"],
            "values": [
              [now1, data1_2],
              [now2, data2_2]
              [now3, data3_2]
            ],
          }
        ]
      }
    ]
  }

문서 평가

이 페이지가 도움이 되었나요?