Kusto 查询带过滤的迭代字符串数组

Kusto query for iterate string array with filtering

现在我有数据了,比如 CSV = "AAA@XXX.com,BBB@YYY.com,CCC@XXX.com,DDD@ZZZ.com,EEE@YYY.com,FFF@XXX.com"
应用 parse_csv(),然后得到

| data                                                                                       |
| ["AAA@XXX.com", "BBB@YYY.com", "CCC@XXX.com", "DDD@ZZZ.com", "EEE@YYY.com", "FFF@XXX.com"] |

如何简单的过滤数据得到

| XXX.com               | YYY.com        | ZZZ.com  |
|-----------------------|----------------|----------|
| ["AAA", "CCC", "FFF"] | ["BBB", "EEE"] | ["DDD"]  |

关键不在于如何转换数据(AAA@XXX.com -> AAA),而是如何为每个类型拆分日期(XXX.com, YYY.com, ZZZ.com).

这可以工作,但效率不高。

考虑根据输出模式调整您使用数据的方式,以便您能够删除最后两行:

print input = "AAA@XXX.com,BBB@YYY.com,CCC@XXX.com,DDD@ZZZ.com,EEE@YYY.com,FFF@XXX.com"
| mv-apply address = split(input, ",") on (
    parse address with name "@" domain
    | summarize make_list(name) by domain
)
| summarize b = make_bag(pack(domain, list_name))
| evaluate bag_unpack(b)
XXX.com YYY.com ZZZ.com
[
"AAA",
"CCC",
"FFF"
]
[
"BBB",
"EEE"
]
[
"DDD"
]