Как объединить две таблицы на основе совпадений подстрок в Azure Data Explorer / Kusto?
Я хотел бы создать результирующую таблицу из объединения этих двух таблиц на основе ячеек в
Fruit
наличие совпадений подстрок в
Things
Таблица данных.
let Fruit = datatable(fruit:string)
[
"apple",
"banana"
"orange"
];
let Things = datatable(fruit:string)
[
"anappletree",
"myoranges"
];
Я пробовал что-то вроде этого:
Fruit
| join Things on $left.fruit contains $right.thing
Но получите эту ошибку:
Semantic Error
join: only column entities or equality expressions are allowed in this context.
Так что не могу использовать
contains
здесь.
Как мне присоединиться к этому, чтобы получить таблицу, состоящую из
"apple" | "anappletree"
"banana" | ""
"orange" | "myoranges"
1 ответ
Если левая часть
join
(в твоем случае -
Fruit
) достаточно мала, вы можете попробовать использовать
mv-apply
:
let Fruit = datatable(fruit:string)
[
"apple",
"banana",
"orange"
];
let Things = datatable(thing:string)
[
"anappletree",
"myoranges",
"this is not a fruit"
];
let Fruit_list = toscalar(Fruit | summarize make_list(fruit));
Things
| mv-apply fruit = Fruit_list on (where thing contains fruit)