Power BI DAX:如何用IF+DIVIDE按条件标准化PO Plan度量值
解决Power BI矩阵中PO Plan度量值的条件缩放问题
原公式的错误分析
你编写的DAX公式存在语法错误,导致Power BI无法正确计算:
- 括号位置错误:将比较逻辑
>999.999.999错误嵌套在SUM函数的参数内,正确逻辑应该是先计算总和,再与阈值比较 - 阈值格式错误:DAX中数字不能使用千分位分隔符(
.),必须输入纯数字999999999
正确的单个度量值实现
使用以下DAX公式,通过变量存储总和避免重复计算,同时修正语法逻辑:
PO Plan = VAR TotalPO = SUM('PO'[PO_AMOUNT]) RETURN IF( TotalPO > 999999999, DIVIDE(TotalPO, 10000), TotalPO )
匹配期望的显示格式
为了得到你需要的千分位用.、小数用,的显示效果,需设置度量值的格式:
- 选中
PO Plan度量值 - 切换到建模选项卡
- 在格式下拉菜单中选择「自定义」,输入格式字符串:
#.###,00- 该格式会自动为大于1000的数值添加千分位
.,同时保留两位小数(小数部分用,分隔)
- 该格式会自动为大于1000的数值添加千分位
验证结果
应用上述设置后,矩阵中的PO Plan值将与你的期望结果完全一致:
PO Plan
1.500.000
84.500
254.519,85
585.000
1.972.000
7.776.532,42
内容的提问来源于stack exchange,提问作者Abbi KRK
相关产品推荐
相关产品推荐

