データ変換ルールを設定して、グラフで可視化する前にクエリ結果を処理します。たとえば、複数のクエリ文の結果をマージしたり、フィールド値で結果を分類したりします。
データ変換ルールのタイプ
グラフを作成する際に、データ変換ルールを設定できます。サポートされているタイプには、Connect、Category、Parse Timestamp、Group By、Transpose Rows and Columns があります。
-
Category: 指定されたフィールドに基づいてクエリ文の結果をグループ化し、各グループで計算を実行します。次の表にパラメーターを示します。詳細については、「Category の例」をご参照ください。
パラメーター
説明
[データソースの選択]
分類対象の結果を含むクエリ文を選択します。たとえば、A を選択すると、クエリ文 A の結果が分類されます。
[X軸]
X軸として使用するフィールドを選択します。
[Y軸]
Y軸として使用するフィールドを選択します。
[集計列]
データをさらに分類して集計するためのフィールドを選択します。たとえば、kind フィールドを選択すると、そのフィールドでデータが分類および集計されます。
-
Connect: Left Join、Right Join、または Full Join を使用して複数のクエリ文の結果をマージし、マージされた結果をグラフに表示します。次の表にパラメーターを示します。詳細については、「Connect の例」をご参照ください。
パラメーター
説明
[接続モード]
クエリ結果をマージするための結合方法を選択します。
[結合フィールド]
すべてのクエリ結果に共通するフィールドを結合キーとして選択します。
たとえば、データ変換 TA では、タイプに Category を、[データソースの選択] に A を、[X軸] に Time を、[Y軸] に count を、[集計列] に kind を設定します。データ変換 TB では、タイプに Connect を、[接続モード] に Left Join を、[結合フィールド] に Time を設定します。
Connect の例
クエリ文 A と B は、どちらも time フィールドを含む結果を返します。time フィールドで Left Join を実行し、結果をマージしてテーブルに表示できます。
-
クエリと分析の設定: クエリと分析 A では Logstore (SQL) を使用します。Logstore は sls-mall-traces で、クエリ文は
* | select __time__ - __time__ % 60 as time, count() as pv, 'computer' as icon, 'database' as database from log group by time order by time asc limit 2000です。クエリと分析 B では Logstore (SQL) を使用します。Logstore は sls-mall-traces-deps で、クエリ文は* | select __time__ - __time__ % 60 as time, count() as pvb from log group by time order by time asc limit 2000です。 -
クエリと分析 A の結果: 結果のテーブルには、
time、pv、icon、databaseの 4 つの列が含まれます。60 秒間隔でグループ化された統計データが表示されます。 -
クエリと分析 B の結果: 結果のテーブルには、
timeとpvbの 2 つの列が含まれます。60 秒間隔でグループ化された PVB の統計データが表示されます。 -
データ変換の設定: タイプに Connect を、[接続モード] に Left Join を、[結合フィールド] に time を設定します。
-
データ変換の結果: Left Join の後、結合されたテーブルには
time、pvb、pv、icon、databaseの 5 つの列が含まれます。2 つの結果セットはtimeフィールドに基づいてマージされています。
Category の例
クエリ文 A は、kind と time フィールドでデータを集計し、グループ化します。折れ線グラフには、結果の一部のみが表示されます。すべてのカテゴリを表示するには、kind フィールドに基づき、結果をプロデューサー、コンシューマー、サーバー、クライアント、内部の 5 つのグループに分類する Category データ変換ルールを設定します。その後、折れ線グラフに各カテゴリの数が表示されます。
-
クエリと分析の設定: クエリと分析 A では Logstore (SQL) を使用します。Logstore は sls-mall-traces で、クエリ文は
* | SELECT __time__ - __time__ % 60 AS Time, count(1) AS count, kind GROUP BY Time, kind ORDER BY Time LIMIT 1000です。 -
データ変換前のクエリ結果
-
テーブル: 結果のテーブルには、
Time、count、kindの 3 つの列があり、合計 80 行です。各時点には、プロデューサー、コンシューマー、サーバー、クライアント、内部の 5 種類の kind タイプに対応する数が含まれます。 -
折れ線グラフ

-
-
データ変換の設定: タイプに Category を、[データソースの選択] に A を、[X軸] に Time を、[Y軸] に count を、[集計列] に kind を設定します。
-
データ変換後のクエリ結果
-
テーブル: 分類後のテーブルでは、
kindフィールドに基づいてデータがconsumer、producer、internal、server、clientの 5 つの個別の列に分割されます。各行には、同時点での各カテゴリの数が表示されます。 -
折れ線グラフ

-
Parse Timestamp の例
クエリ文 A が結果を返した後、Parse Timestamp データ変換ルールを設定して、特定のフィールドを UNIX タイムスタンプに解析できます。
-
クエリ文
クエリと分析 A では Logstore (SQL) を使用します。クエリ文は
* | select *です。 -
クエリ文 A の結果
結果のテーブルには、
__line__、file、info、time、__time__、_source_などの列が含まれています。time列には、2024-03-04T10:31:27.427014という形式の値が含まれています。結果セットには 82 行が含まれています。 -
データ変換の設定
データ変換タイプに Parse Timestamp を、[データソースの選択] に A を、[フィールド] に time を、[フォーマット] に YYYY-MM-DDTHH:mm:ss.SSSSSS を設定します。
-
データ変換の結果
変換後のテーブルでは、time 列の値が時間文字列から UNIX タイムスタンプ形式 (例: 1720578030) に解析されます。テーブルには 82 行が含まれています。
Group By の例
クエリ文 A と B は、どちらも request_method フィールドを含む結果を返します。このフィールドで Group By を使用して、結果をマージおよび集計してテーブルに表示できます。
-
クエリ文
クエリと分析 A と B は、どちらも Logstore (SQL) を使用します。Logstore は nginx-access-log です。両方のクエリ文は
* | SELECT request_method, COUNT(*) as c group by request_methodです。 -
クエリ文 A の結果
クエリと分析 A の結果テーブルには、
request_methodとcの 2 つの列が含まれ、各メソッドの数が表示されます: HEAD (1)、GET (237)、DELETE (17)、POST (62)、PUT (64)。 -
クエリ文 B の結果
クエリと分析 B の結果はクエリと分析 A の結果と同じで、同じ
request_methodの値と対応する数が含まれています。 -
データ変換の設定
データ変換タイプに Group By を設定し、request_method フィールドでグループ化し、c フィールドに SUM 関数を適用します。
-
データ変換の結果
Group By データ変換後の結果には、両方のクエリと分析操作の結果を結合した統計が表示されます: GET (474)、POST (124)、PUT (128)、DELETE (34)、HEAD (2)。
Transpose Rows and Columns の例
クエリ文 A が結果を返した後、Transpose Rows and Columns データ変換ルールを設定して、行と列を入れ替えることができます。
-
クエリ文
クエリと分析 A では Logstore (SQL) を使用します。クエリ文は
* | select *です。 -
クエリ文 A の結果
結果のテーブルには、
__line__、file、info、time、__time__、_source_などの列が含まれています。time列には、2024-03-04T10:31:27.427014という形式の値が含まれています。結果セットには 82 行が含まれています。 -
データ変換の設定
データ変換タイプに Transpose Rows and Columns を設定し、データソースとして A を選択します。
-
データ変換の結果
新しいテーブルには 82 の列 (元の各行ごとに 1 列) があり、行数は元の列数と同じになります。転置後のテーブルでは、元の行は列に、元の列は行になります。