Я хочу собрать уникальные записи из одного столбца и передать их как имена столбцов, чтобы отобразить их значения счетчика.
let sales = datatable (store: string, category: string, product: string)
[
"StoreA", "Food", "Steak",
"StoreB", "Drink", "Cola",
"StoreB", "Food", "Fries",
"StoreA", "Sweets", "Cake",
"StoreB", "Food", "Hotdog",
"StoreB", "Food", "Salad",
"StoreA", "Sweets", "Chocolate",
"StoreC", "Food", "Steak"
];
sales
| summarize Food=count(category= = "Food"),Drink=count(category= = "Drink"),Sweets=count(category= = "Sweets") by store
Это можно сделать вручную, но я хочу сделать этот запрос универсальным, чтобы его не нужно было менять при добавлении новых категорий.
Преобразование строк в столбцы называется «поворотом».
См. KQL сводной плагин
let sales = datatable (store: string, category: string, product: string)
[
"StoreA", "Food", "Steak",
"StoreB", "Drink", "Cola",
"StoreB", "Food", "Fries",
"StoreA", "Sweets", "Cake",
"StoreB", "Food", "Hotdog",
"StoreB", "Food", "Salad",
"StoreA", "Sweets", "Chocolate",
"StoreC", "Food", "Steak"
];
sales
| evaluate pivot(category, count(), store)