簡體   English   中英

如何在 Kusto 中查詢具有 null 和非空值的分組不同記錄?

[英]How to query for grouped distinct records that both have null and non-null values in Kusto?

我正在嘗試創建一個查詢,該查詢返回一個結果集,該結果集具有基於另一個非空(數據)列的不同(汽車)列。

在下面的示例中,如果在數據列中找到非空值,則返回帶有值的單個實例,如果沒有,則返回帶有 null 的值,並始終保持第一列的獨特性。

let Car = datatable(car, data:string) 
[
    "mercedes", "fast",
    "mercedes", null,
    "tesla", null
    "toyota", "good",
    "sonata", null,
    "sonata", null,
    "sonata", "amazing" 
];

所以所需的 output 將是:

"mercedes", "fast",
"tesla", null,
"toyota", "good",
"sonata", "amazing",

謝謝!

一種選擇是結合使用set_difference()make_set()

  • make_set()將創建一組data的所有唯一值(通過car ,聚合鍵)
  • dynamic([""])是一個帶有空字符串的數組
  • set_difference()將產生兩個前者之間的差異 arrays - 提供具有非空字符串(或空集)的集合
  • 最后,通過訪問結果集的第一個元素(使用[0] ),您將獲得第一個非空元素(或 null,如果集合為空)
datatable(car:string, data:string) 
[
    "mercedes", "",
    "mercedes", "fast",
    "tesla", "",
    "toyota", "good",
    "sonata", "",
    "sonata", "",
    "sonata", "amazing" 
]
| summarize data = set_difference(make_set(data), dynamic([""]))[0] by car
數據
奔馳 快速地
特斯拉
豐田 好的
奏鳴曲 驚人的

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM