如何从列表中仅获取不同的值
How to get only distinct values from list
我有什么:一个带有字符串列的数据源,我们称它为“名称”。
还有很多,但与问题无关。
具体查询上下文中的“名称”列仅包含 2 个不同的值:
- ""
- “SomeName”
但是两者中的任何一个都有不同的次数。这两个只有。
现在,我需要的是:在 summarize
语句的上下文中,我需要一个包含两个不同值的列 strcat
ed 在一起,所以我最终只得到“SomeName ".
我所拥有的不符合这个要求,我无法让自己找到解决方案:
datatable(name:string)["","SomeName","SomeName"] // just to give a minimal reproducible example
| summarize Name = strcat_array(make_list(name), "")
这给了我
| Name
> SomeNameSomeName
但我只需要
| Name
> SomeName
我知道我需要以某种方式在某个地方做一些“不同”的事情,或者可能有一个完全不同的解决方案来获得相同的结果?
所以,我的问题是:我需要在显示的查询中更改什么才能满足我的要求?
哇哦,刚发问题,居然找到答案了:
datatable(name:string)["","SomeName","SomeName", ""]
| summarize Name = max(name)
我不知道为什么这适用于字符串列,但我在这里。
这导致了我想要的结果:
| Name
> SomeName
...我想这可能不如大卫的回答有效。所以我更喜欢他的。
When the function is provided with a single column reference, it will
attempt to return a non-null/non-empty value, if such value is
present.
datatable(name:string)["","SomeName","SomeName", ""]
| summarize take_any(name)
name
SomeName
我有什么:一个带有字符串列的数据源,我们称它为“名称”。 还有很多,但与问题无关。
具体查询上下文中的“名称”列仅包含 2 个不同的值:
- ""
- “SomeName”
但是两者中的任何一个都有不同的次数。这两个只有。
现在,我需要的是:在 summarize
语句的上下文中,我需要一个包含两个不同值的列 strcat
ed 在一起,所以我最终只得到“SomeName ".
我所拥有的不符合这个要求,我无法让自己找到解决方案:
datatable(name:string)["","SomeName","SomeName"] // just to give a minimal reproducible example
| summarize Name = strcat_array(make_list(name), "")
这给了我
| Name > SomeNameSomeName
但我只需要
| Name > SomeName
我知道我需要以某种方式在某个地方做一些“不同”的事情,或者可能有一个完全不同的解决方案来获得相同的结果?
所以,我的问题是:我需要在显示的查询中更改什么才能满足我的要求?
哇哦,刚发问题,居然找到答案了:
datatable(name:string)["","SomeName","SomeName", ""]
| summarize Name = max(name)
我不知道为什么这适用于字符串列,但我在这里。
这导致了我想要的结果:
| Name > SomeName
...我想这可能不如大卫的回答有效。所以我更喜欢他的。
When the function is provided with a single column reference, it will attempt to return a non-null/non-empty value, if such value is present.
datatable(name:string)["","SomeName","SomeName", ""]
| summarize take_any(name)
name |
---|
SomeName |