如何正确统计List表逗号分隔列产品出现次数且无空白计数?
解决思路与实现方案
问题根源
你之前的度量值统计错误,核心原因是没有完整拆分每行中逗号分隔的所有产品,仅提取了每行的第一个值进行匹配,导致非首位置的产品无法被统计,出现空白计数。
方法一:Power Query拆分列(推荐,模型更清晰)
通过Power Query把List表中逗号分隔的产品拆分为单独行,后续统计逻辑会非常简单:
- 打开Power Query编辑器,加载List表
- 选中目标列(存储逗号分隔产品的列),点击「转换」→「拆分列」→「按分隔符」
- 分隔符选择逗号,拆分方式选「拆分为行」
- 关闭并应用修改,此时List表中每行的多个产品会被拆成独立行
- 在Products表和拆分后的List表之间,基于「产品列」建立关联关系
- 创建统计度量值:
之后在可视化中搭配Products表的产品列,就能得到每个产品的正确出现次数。产品出现次数 = COUNTROWS(RELATEDTABLE(List))
方法二:DAX度量值直接统计(无需修改表结构)
如果不想改动原有表结构,可以用DAX直接处理字符串拆分与计数:
产品出现次数 = VAR 当前产品 = SELECTEDVALUE(Products[产品列]) RETURN SUMX( List, COUNTROWS( FILTER( STRING_SPLIT(List[目标列], ","), [value] = 当前产品 ) ) )
兼容替代方案(若不支持STRING_SPLIT):
产品出现次数 = VAR 当前产品 = SELECTEDVALUE(Products[产品列]) VAR 所有行拆分 = ADDCOLUMNS( List, "@拆分产品", PATHITEM(SUBSTITUTE(List[目标列], ",", "|"), , TEXT) ) RETURN COUNTROWS(FILTER(所有行拆分, [@拆分产品] = 当前产品))
内容的提问来源于stack exchange,提问作者Xboraxe
相关产品推荐
相关产品推荐

