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

Power BI创建度量值:移除resourceGroupName列末尾的rg字符

问题分析与解决方法

你的三个公式错误点逐一解析

  • 公式URL_test1
    • 错误1:DAX中不存在Text.Start函数,截取文本前N位需用LEFT函数;Text.Start是M语言函数,但你这里用的是DAX表达式(用到了SELECTEDVALUE)。
    • 错误2:拼写失误,Text.Lengh应为Text.Length。
    • 错误3:DAX的参数分隔符是逗号,,而非分号;。
  • 公式URL_test2
    • 错误1:参数分隔符用错,需替换为逗号。
    • 错误2:RIGHT函数是提取文本右侧N位,和你“移除末尾字符”的需求完全相反,应使用LEFT截取前面的内容。
  • 公式URL_test3
    • 错误:你用LEN包裹了SUBSTITUTE,导致返回的是处理后文本的字符数而非文本本身;另外SUBSTITUTE会替换所有匹配的-rg,若资源组名称中间出现该字符串会误修改,安全性不足。

正确的DAX公式写法

根据你的需求,分两种场景提供方案:

场景1:确定所有名称末尾是-rg(移除最后3个字符)

如果资源组名称统一以-rg结尾,直接截取长度减3的部分:

URL_correct = LEFT(SELECTEDVALUE('Usage details'[resourceGroupName]), LEN(SELECTEDVALUE('Usage details'[resourceGroupName])) - 3)

场景2:仅移除末尾的rg字符(移除最后2个字符)

若只需去掉最后两位的rg(保留前面的横杠):

URL_correct = LEFT(SELECTEDVALUE('Usage details'[resourceGroupName]), LEN(SELECTEDVALUE('Usage details'[resourceGroupName])) - 2)

更安全的写法(仅替换末尾的-rg)

如果担心名称中间可能出现-rg,可先判断末尾内容再处理:

URL_correct = 
VAR rg_name = SELECTEDVALUE('Usage details'[resourceGroupName])
RETURN
    IF(RIGHT(rg_name, 3) = "-rg", LEFT(rg_name, LEN(rg_name) - 3), rg_name)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 14:20:33