给定Kusto查询
Table
| where type == "TYPE"
| summarize lastEventTime = arg_max(lastEvent, *), vmCount = count(), onboardedCount = countif(onboarded),
failVM = make_list_if(entity, onboarded == false and isnotempty(entity)), allVM = make_set(entity) by environmentType, osType, id , type
现在我想把所有的VM计数分成两个列表,第一个包含前100个元素,第二个包含其余的元素。
allVM1 = [... first 100 elements... ] (0-99)
allVM2 = [.. remaining ... ] (100- size of allVm)
如果少于100个元素,则allVM2
应为空。
我怎么能做到同样的?
假设onboarded
包含值true / false,entity
是一个字符串
3条答案
按热度按时间ykejflvf1#
你只需要在
summarize
之后使用extend
,并创建allVM
字段的子字符串,我想我有你的KQL在这里:dz6r00yl2#
array_slice could be just the thing you're looking for.
I've edited your example code a little, hopefully though it's transferable enough to your use case. I've removed
lastEventTime
, andid
.wkyowqbh3#
有很多方法可以实现这一点,因为已经有一些答案,我将提供另一种方法(您可以对https://help.kusto.windows.net/ContosoSales执行):
关键的思想是给用户row_number(),其中指定一个数字按照一个排序,然后使用一个条件函数(有很多以
_if
结尾),在此我使用make_list_if如果你不想排序,你可以以任何你想要的条件...