Как выполнить отдельный запрос с критерием для поиска определенной подстроки в Kusto?

#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 нашел
банан не найдено
Оранжевый нашел