コンテンツにスキップ

テーブルチャート

テーブルチャートには、グループ化テーブルチャートと時系列テーブルチャートがあります。

グループ化テーブルチャートのデータ構造の説明

//  以下のデモデータのテーブル列は ['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 1 つのデータセット
series[#].tags dict group_by テーブル列に関連付けられた属性値(group_by 部分の列のマッピング値、およびエイリアス key 値のマッピングとしても機能します)
series[#].columns list 必須 series[#].column_names と同じ ['time', ...]
series[#].columns[#] str データソースフィールドのキー。最初の列の値は必ず time フィールドである必要があります
series[#].column_names list 必須 データソースフィールドのキー。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
          }
        ]
      }
    ]
  }

時系列テーブルチャートのデータ構造の説明

//  以下のデモデータのテーブル列は ['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 の 2 列目のデータを重複排除して結合したものです。

  • フィールドの説明:
パラメータ 必須 説明
series list 必須 データグループ。長さはテーブルに含まれるデータグループの数を表します
series[#] dict 1 つのデータセット
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]
            ],
          }
        ]
      }
    ]
  }

フィードバック

このページは役に立ちましたか?