#azure-data-explorer #kql #kusto-explorer
Вопрос:
Я новичок в Kusto и пытаюсь создать запрос, который возвращает отдельный столбец ( fruit
) на основе другого столбца ( data
), содержащего определенную подстроку.
В приведенном ниже примере, если awesome
в столбце найдена подстрока»» data
, верните "found"
ее, а если нет, верните "not found"
, но всегда сохраняйте четкость первого столбца.
let Fruit = datatable(fruit:string, data:string)
[
"apple", "awesome",
"apple", "beast",
"banana", "a beast",
"orange", "awesome cat",
"orange", "blah"
];
Таким образом, желаемый результат будет:
"apple", "found",
"banana", "not found",
"orange", "found",
Ответ №1:
одним из вариантов было бы использование функции countif()
агрегирования с fruit
ключом агрегирования следующим образом:
datatable(fruit:string, data:string)
[
"apple", "awesome",
"apple", "beast",
"banana", "a beast",
"orange", "awesome cat",
"orange", "blah"
]
| summarize countif(data has 'awesome') by fruit
| project fruit, output = iff(countif_ == 0, "not found", "found")
фрукты | выход |
---|---|
Apple | нашел |
банан | не найдено |
Оранжевый | нашел |