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

Power BI中检查列值是否包含字符串列表任意内容的方法

批量统计包含指定字符串列表的Tag总数(DAX方案)

你可以通过DAX的迭代或筛选函数,一次性匹配P Values表中的所有字符串,无需重复编写400次函数。以下是两种实用方案:

方案一:用SUMX逐行判断后求和

符合条件的标签总数 = 
SUMX(
    'Tag Table',
    VAR 当前TagId = 'Tag Table'[tags.Id]
    RETURN
        IF(
            COUNTROWS(
                FILTER(
                    'P Values',
                    CONTAINSSTRING(当前TagId, 'P Values'[Column1]) && NOT ISBLANK('P Values'[Column1])
                )
            ) > 0,
            1,
            0
        )
)

逻辑说明:

  • SUMX遍历Tag Table的每一行标签
  • 对每个标签ID,用FILTER筛选P Values中能被当前ID包含的非空字符串
  • 只要存在匹配的字符串,该行标签计1分,否则计0分
  • 最终求和得到符合条件的标签总数

方案二:用EXISTS结合CALCULATE直接计数(性能更优)

符合条件的标签总数 = 
CALCULATE(
    COUNTROWS('Tag Table'),
    EXISTS(
        'P Values',
        CONTAINSSTRING('Tag Table'[tags.Id], 'P Values'[Column1]) && NOT ISBLANK('P Values'[Column1])
    )
)

逻辑说明:

  • EXISTS函数会检查当前标签ID是否存在对应的匹配字符串(来自P Values)
  • 只有满足匹配条件的标签行才会被保留在筛选上下文中
  • COUNTROWS直接统计筛选后的标签数量,性能比逐行迭代更高效

注意事项:

  • 加入NOT ISBLANK('P Values'[Column1])是为了避免空字符串导致的误匹配(如果你的列表中没有空值,可以省略)
  • 若字符串列表中有重复值,无需提前去重,两种方案都会自动处理重复匹配的情况

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 07:55:00