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

如何在DAX Studio或SSIS中查询DAX表达式含指定子串的度量值?

问题原因

你执行的是Analysis Services专属的DMV(动态管理视图)查询,语法既不兼容标准SQL的LIKE关键字,也不支持直接调用DAX函数,需要使用DMV内置的InStr函数实现子串匹配。另外你之前的代码错误筛选了度量名列,没有匹配到实际需要的DAX表达式列。

正确查询代码

select 
    MEASURE_NAME as MeasureName
    ,MEASUREGROUP_NAME as TableName
    ,TRIM(EXPRESSION) as DAXExpression
from $system.MDSCHEMA_MEASURES
-- InStr返回子串首次出现的位置,大于0即表示包含对应子串
where InStr(TRIM(EXPRESSION), "SUM") > 0
order by MEASUREGROUP_NAME

适用工具说明

  • 该代码可以直接在DAX Studio中运行,连接到你的PowerBI数据集即可返回符合要求的度量值
  • 如果你使用SQL Server Management Studio(SSMS),需要先连接到PowerBI对应的XMLA端点,在MDX查询窗口中执行上述代码即可得到结果

补充说明

如果需要忽略大小写匹配,比如同时匹配sum、Sum、SUM等格式,可以改用InStr的大小写不敏感重载:

where InStr(1, TRIM(EXPRESSION), "SUM", 1) > 0

参数解释:

  • 第1个参数:搜索起始位置,填1即从字符串开头搜索
  • 第4个参数:填1表示执行文本比较(忽略大小写),填0表示二进制比较(区分大小写)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 07:18:03