如何将唯一值与 kusto 中的列分开并为它们创建新行?

How to separate the unique values from a column in kusto and make new rows for them?

我在 Kusto 有一个 table。看起来像这样:-

------------------
| Tokens | Shop  |
------------------
| a      |  P    |
| a,b    |  Q    |
| c,d,e  |  P    |
| c      |  R    |
| c,d    |  Q    |
------------------

总共有 12 个不同的标记,标记列可以有它们的任何排列(包括空),商店列将只有 5 个可能值中的一个固定值(不能为空)。

我想要得到一个输出 table,具有三列,如下所示:-

----------------------------------
| Distinct Tokens | Shop | Count |
----------------------------------
| a               | P    |  12   |
| b               | P    |  13   |
| c               | R    |  16   |
| d               | Q    |  2    |
----------------------------------

简而言之,我希望所有不同的标记都在一列中,每个标记都与 5 家可用商店中的每一个映射,并计数指示原始 table 中特定标记随附的行数特定商店。

注意:新 table 中 'P' 的 'a' 的计数将包括原始 table 中任何 'a' 中的行数逗号分隔值。

我无法为此编写 kusto 查询,请帮忙。

这是一种方法:

datatable(Tokens:dynamic, Shop:string)[dynamic(["a"]), "P", 
dynamic(["a", "b"]), "Q", 
dynamic(["a", "d", "e"]), "P", 
dynamic(["c"]), "R", 
dynamic(["a", "b", "c", "d"]), "Q"]
| mv-expand Token =Tokens to typeof(string)
| summarize count() by Token, Shop
| order by Token asc

这是输出: