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

DAX度量问题:跨表统计逗号分隔列中产品的出现次数

跨表统计逗号分隔列中产品的出现次数解决方案

正确DAX度量(精确匹配+处理空格)

产品出现次数 = 
VAR SelectedProduct = SELECTEDVALUE(Products[Product])
RETURN
SUMX(
    Query1,
    -- 清理列表中的空格,避免因空格导致匹配失败
    VAR CleanedList = SUBSTITUTE(Query1[M0_LIST], " ", "")
    -- 将逗号分隔的字符串转换为可迭代的列表
    VAR SplitProducts = PATHSPLIT(SUBSTITUTE(CleanedList, ",", "|"))
    -- 统计当前行中目标产品的出现次数
    RETURN
        COUNTROWS(FILTER(SplitProducts, [Value] = SelectedProduct))
)

原度量的问题分析

  1. 空白行异常计数:当未选中任何产品时,MAX(Products[Product])返回空白,CONTAINSSTRING(Query1[M0_LIST], "")会匹配所有行,导致COUNTROWS返回全表行数,出现空白行的无效计数。
  2. 模糊匹配风险:CONTAINSSTRING是模糊匹配逻辑,若存在类似act_checking_vip的字符串,会被误判为包含act_checking,导致计数不准确。
  3. 空格导致匹配失效:如果M0_LIST中逗号后带有空格(如act_checking, act_savings),原度量无法匹配到带前置空格的产品,会让你误以为只统计了逗号前的第一个产品。

使用说明

将该度量添加到报表中,配合Products[Product]列使用,即可得到每个产品在Query1[M0_LIST]中的精确出现次数,完全符合预期结果:

  • act_checking:2次
  • act_savings:1次
  • act_auto:2次

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 19:47:26