Распечатать отдельные значения в массиве

У меня есть столбец, который представляет собой массив, и я хотел бы напечатать отдельный счет

Event
| project colors

Представить вывод

["Red", "Green", "Green", "Red"]
["Yellow", "Yellow", "Yellow", "Yellow"]

Ожидается

["Red", "Green", "Green", "Red"] , 2
["Yellow", "Yellow", "Yellow", "Yellow"], 1

person Praveen Reddy    schedule 15.03.2018    source источник
comment
На каком языке вы пытаетесь это сделать. В SQL это довольно просто. Вы можете использовать count и group by. Можете ли вы поделиться примером столбца?   -  person Syed Junaid Yousuf    schedule 15.03.2018
comment
язык - это язык запросов ms-app-analytics :)   -  person John Gardner    schedule 16.03.2018


Ответы (1)


Вот что, я думаю, вы хотите, используя todynamic и mvexpand и summarizedatatable для создания входных данных)

// create your sample data using datatable to make a 'fake' table
datatable (colors: string) [
'["Red", "Green", "Green", "Red"]',
'["Yellow", "Yellow", "Yellow", "Yellow"]'
]
// this part is answering your question
| extend c = todynamic(colors) // turns colors into arrays
| mvexpand c // expands all the values out of colors into their own rows (but each column value is still "dynamic" type)
| extend c = tostring(c) // turn the dynamic c column to strings to summarize the values
| summarize ["Count"] = dcount(c) by colors // count up distinct c values by each row

это выведет то, что у вас есть в вашем вопросе:

colors                                     Count 
------------------------------------------------
["Red", "Green", "Green", "Red"]           2 
["Yellow", "Yellow", "Yellow", "Yellow"]   1 
person John Gardner    schedule 16.03.2018