You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PowerBI中如何按店铺分组获取唯一目标值的拼接列/度量值?

按店铺拼接唯一Target值的DAX解决方案

问题原因

你原公式的问题在于:DISTINCT('Table'[Target])会返回整个数据表的所有唯一Target值,且CALCULATE没有限定当前Shop的筛选上下文,导致每个店铺行都拼接了全局的唯一值。

正确DAX表达式(计算列)

直接使用以下计算列公式即可实现需求:

uniqueTarget = 
CALCULATE(
    CONCATENATEX(DISTINCT('Table'[Target]), 'Table'[Target], ", "),
    ALLEXCEPT('Table', 'Table'[Shop])
)

原理说明

  • ALLEXCEPT('Table', 'Table'[Shop]):保留当前行的Shop筛选条件,移除其他所有筛选,确保只计算当前Shop对应的Target值。
  • DISTINCT('Table'[Target]):在当前Shop的筛选范围内,提取唯一的Target值。
  • CONCATENATEX:将这些唯一值用, 拼接成字符串。

另一种等价写法(显式筛选上下文)

如果更习惯用显式筛选逻辑,也可以使用以下公式:

uniqueTarget = 
CONCATENATEX(
    DISTINCT(FILTER('Table', 'Table'[Shop] = EARLIER('Table'[Shop]))),
    'Table'[Target],
    ", "
)
  • EARLIER('Table'[Shop]):引用当前行的Shop值,确保FILTER只筛选当前店铺的记录。
  • DISTINCT:去除当前店铺内重复的Target值。

结果验证

应用上述公式后,将得到你期望的结果:

ShopuniqueTarget
A2, 5, 15
B1, 9

内容的提问来源于stack exchange,提问作者prernaroy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 03:20:19