在使用統計圖表進行格式化展示前,您可以通過資料轉換對查詢分析結果進行處理。例如合并多個查詢分析結果、對查詢分析結果進行分類等。
資料轉換類型
您可以在添加統計圖表時,設定資料轉換。資料轉換的類型包括連接、分類、解析時間戳記、Group By、行列變換。
-
分類:根據指定的欄位對查詢分析結果進行分組,並針對每組進行計算,參數說明如下表所示。具體操作,請參見分類樣本。
參數
說明
選擇資料來源
選擇目標查詢分析。例如選擇A,表示對查詢分析A的結果進行分類。
X軸
選擇目標欄位作為X軸。
Y軸
選擇目標欄位作為Y軸。
彙總列
選擇需要在第三維度中分類彙總的欄位。例如選擇kind欄位,表示對kind欄位進行分類並完成彙總統計。
-
連接:通過Left Join、Right Join或Full Join將多個查詢分析結果合并為一個結果,並在統計圖表中展示,參數說明如下表所示。具體操作,請參見連接樣本。
參數
說明
串連方式
選擇串連方式,用於串連您所添加的各個查詢分析的結果。
串連欄位
通過各個查詢分析結果中都存在的欄位進行串連。
例如設定TA為分類類型,選擇資料來源為A,X軸為Time,Y軸為count,彙總列為kind;設定TB為連接類型,串連方式為Left Join,串連欄位為Time。
連接樣本
執行查詢分析A和B,返回兩個查詢分析結果,兩個查詢分析結果中存在相同的time列。此時可以通過time欄位進行Left Join,將兩個查詢分析結果合并,並在同一個表格中展示。
-
查詢分析配置:查詢分析A類型為LogStore(SQL),Logstore為sls-mall-traces,語句為
* | select __time__ - __time__ % 60 as time, count() as pv, '電腦' as icon, '資料庫' 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四列,展示了按60秒分組的統計資料。
-
查詢分析B的結果:返回的表格包含time、pvb兩列,展示了按60秒分組的PVB統計資料。
-
資料轉換配置:設定類型為連接,串連方式選擇Left Join,串連欄位選擇time。
-
資料轉換結果:通過Left Join合并後,表格包含time、pvb、pv、icon、database五列,實現了兩個查詢分析結果按time欄位的合并展示。
分類樣本
查詢分析A表示對資料進行彙總計算,然後按照kind欄位和time欄位進行分組。通過線圖展示時,只能展示其中一部分資料。此時可以通過資料轉換中的分類功能,將查詢分析結果按照kind欄位的值(producer、consumer、server、client、internal)分為5類,然後通過線圖展示各個類別對應的數量。
-
查詢分析配置:查詢分析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三列,共80條資料,每個時間點對應producer、consumer、server、client、internal五種kind類型的計數。
-
線圖

-
-
資料轉換配置:設定類型為分類,選擇資料來源為A,X軸為Time,Y軸為count,彙總列為kind。
-
資料轉換後的結果
-
表格:分類後的表格按kind欄位將資料拆分為consumer、producer、internal、server、client五個獨立列,每行展示同一時間點各類別的計數值。
-
線圖

-
解析時間戳記樣本
執行查詢分析A,返回查詢分析結果。此時通過解析時間戳記,可以將指定的欄位解析成UNIX時間戳記。
-
查詢分析配置
查詢分析A的類型為Logstore(SQL),查詢語句為
* | select *。 -
查詢分析A的結果
返回的表格包含__line__、file、info、time、__time__、_source_等列,其中time列值的格式為
2024-03-04T10:31:27.427014,共82條資料。 -
資料轉換配置
設定資料轉換類型為解析時間戳記,選擇資料來源為A,欄位選擇time,格式設定為YYYY-MM-DD H:mm:ss。
-
資料轉換結果
轉換後的表格中,time列的值已從時間字串解析為UNIX時間戳記格式(如1720578030),共100條資料。
Group By樣本
執行查詢分析A和B,返回兩個查詢分析結果,兩個查詢分析結果中存在相同的request_method列。此時可以通過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兩列:HEAD(1)、GET(237)、DELETE(17)、POST(62)、PUT(64)。
-
查詢分析B的結果
查詢分析B的結果與A相同,包含相同的request_method和對應計數。
-
資料轉換配置
設定資料轉換類型為Group By,對request_method欄位執行Group By操作,對c欄位選擇計算方式為總和。
-
資料轉換結果
Group By轉換後的結果為兩個查詢的合并統計:POST(98)、HEAD(2)、PUT(102)、GET(370)、DELETE(28)。
行列轉換樣本
執行查詢分析A,返回查詢分析結果。此時通過行列轉換,可以將查詢結果的行列轉換。
-
查詢分析配置
查詢分析A的類型為Logstore(SQL),查詢語句為
* | select *。 -
查詢分析A的結果
返回的表格包含__line__、file、info、time、__time__、_source_等列,其中time列值的格式為
2024-03-04T10:31:27.427014,共82條資料。 -
資料轉換配置
設定資料轉換類型為行列變換,選擇資料來源為A。
-
資料轉換結果
行列轉換後,未經處理資料的行和列互換,產生_col0至_col11共12列,原始的每行日誌記錄變為一列展示,共10條記錄。