如何用DAX仅将表格中括号内数字文本设置为红色?
解决Power BI表格局部文本变色问题
你当前用的DAX条件格式是针对整个单元格生效的,所以会把整格文本全部染红。要实现仅括号内数字(如(1)、(2))单独变红,得借助HTML格式渲染的方式,具体步骤如下:
1. 创建带HTML样式的计算列
用DAX函数把目标内容包裹上红色样式的HTML标签,生成新的格式化文本列。
基础版(适配单/多位数字括号)
如果所有括号内都是数字,直接用嵌套替换即可:
Formatted Notes = VAR OriginalText = 'Current Qtr Target'[Notes] -- 给左括号前加红色样式标签 VAR AddLeftTag = SUBSTITUTE(OriginalText, "(", "<span style='color:red;'>(") -- 给右括号后加闭合标签 VAR FinalText = SUBSTITUTE(AddLeftTag, ")", ")</span>") RETURN FinalText
精准匹配版(仅给数字括号加样式)
如果文本里有非数字内容的括号,用REGEXREPLACE(需Power BI Desktop 2021年11月及以后版本)精准匹配括号内的数字:
Formatted Notes = REGEXREPLACE( 'Current Qtr Target'[Notes], "\((\d+)\)", "<span style='color:red;'>(\1)</span>" )
2. 开启表格的HTML渲染
把新生成的Formatted Notes列拖入表格后:
- 选中该列的可视化属性
- 在「值」选项下找到「格式」,选择「HTML内容」
- 表格会自动解析HTML标签,仅将括号内的数字显示为红色
内容的提问来源于stack exchange,提问作者sara
相关产品推荐
相关产品推荐

