我遇到了一种情况,我需要将 Kusto 中的行转换为列
let mainTable = datatable (GroupName:string, MemberCount:int, MemberType:string)[
"ABC",5,"User",
"ABC",10,"MSI",
"ABC",15,"ServiceAccount",
"ABC",20,"SPN",
"XYZ",3,"User",
"XYZ",6,"MSI",
"XYZ",9,"ServiceAccount",
"XYZ",12,"SPN",
];
mainTable
上面的 mainTable 结果是 8 行。但预期结果应该只有 2 行、2 个组名和 6 列。需要将所有MemberType转换为列。 组名称、成员计数、MSI、用户、SPN、服务帐户
我尝试了
| evaluate pivot(MemberType)
,但它仍然给了我 8 行。
我发现你的预期输出的定义不够清晰。
也就是说,您可能会发现以下内容很有帮助 - 它使用:
bag_pack()
功能make_bag()
聚合函数bag_unpack()
插件datatable (GroupName: string, MemberCount: int, MemberType: string)
[
"ABC", 5, "User",
"ABC", 10, "MSI",
"ABC", 15, "ServiceAccount",
"ABC", 20, "SPN",
"XYZ", 3, "User",
"XYZ", 6, "MSI",
"XYZ", 9, "ServiceAccount",
"XYZ", 12, "SPN",
]
| summarize b = make_bag(bag_pack(MemberType, MemberCount)) by GroupName
| evaluate bag_unpack(b)
群组名称 | 微星 | 服务帐号 | SPN | 用户 |
---|---|---|---|---|
ABC | 10 | 15 | 20 | 5 |
XYZ | 6 | 9 | 12 | 3 |