如何在 Azure 数据资源管理器 (Kusto) 中将行转换为列

问题描述 投票:0回答:1

我遇到了一种情况,我需要将 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 行。

kql azure-data-explorer
1个回答
0
投票

我发现你的预期输出的定义不够清晰。

也就是说,您可能会发现以下内容很有帮助 - 它使用:

  • 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
© www.soinside.com 2019 - 2024. All rights reserved.