带有加号或减号的 DAX 数字格式
Posted
技术标签:
【中文标题】带有加号或减号的 DAX 数字格式【英文标题】:DAX number format with a plus or minus sign 【发布时间】:2019-01-26 15:12:17 【问题描述】:我想格式化 DAX 度量,以便值 0.105
显示为 +10.5%
,值 -0.105
显示为 -10.5%
。对我来说重要的是加号。我使用FORMAT(measure, "+0.0%")
失败。
我在 FORMAT
函数文档中找不到任何有用的信息:
https://msdn.microsoft.com/query-bi/dax/custom-numeric-formats-for-the-format-function
我能想到的唯一解决方案是使用IF
或SWITCH
函数处理它。有办法避免吗?
IF(variable>0, "+"&variable, variable)
【问题讨论】:
FORMAT(measure, "+0.0%") 在 PowerBI 中非常适合我。到底是什么让你失败了? 你试过负值吗?使用FORMAT(measure, "+0.0%")
我得到+-10.5%
【参考方案1】:
也许我玩的有点晚了。是的,以前在 Power BI 中格式化括号中的负数有点困难。正如其他答案所暗示的那样,它将涉及 FORMAT 函数。但是今天您可以对度量使用自定义格式。例如“#,##0.0, (#.##0.0)”。希望有帮助。您可以在此处找到更详细的解释:
Format Negative values between Parentheses
继续粉碎它!
瑞克
【讨论】:
【参考方案2】:我将 RADO 的回答视为已接受。我最终得到了解决方案,它克服了非常小的负小数值的问题 - 例如-0.0001
的值在通过FORMAT
函数四舍五入后可能变为正零(请参阅我们的 cmets 中的讨论)。
Plus Minus Growth =
SWITCH (
TRUE (),
ISBLANK ( [Growth] ), BLANK (),
[Growth] >= 0, FORMAT ( [Growth], "+0.0 % ▲;-0.0 % ▼" ), -- positive here
[Growth] < 0, FORMAT ( [Growth], "-0.0 % ▼;-0.0 % ▼" ), -- negative here
BLANK ()
)
被FORMAT
函数四舍五入到正零的负小数落在代码"-0.0 % ▼;-0.0 % ▼"
的第一部分
【讨论】:
【参考方案3】:您需要为正数和负数创建自定义格式:
Formatted Value = FORMAT( [Measure], "+0.0%;-0.0%")
结果:
一般来说,自定义格式字符串由4部分组成,用;分隔
Positive values; Negative values; Zero values; Text values
一个部分是必需的,其他部分是可选的。因此,为了避免 + 在零前面,完整的代码可能是:
Formatted Value = FORMAT( [Measure], "+0.0%;-0.0%;"0")
【讨论】:
你从哪里得到的?您可以链接到答案中的文档吗?我的意思是自定义格式的 4 个参数。 格式为 DAX 使用常规 Excel 自定义格式规则。我熟记于心,但谷歌“Excel 自定义格式” 您的解决方案存在错误。如果 [measure]=-0.001(注意减号),则 FORMAT( [Measure], "+0.0%;-0.0%) 返回 +0.0%,这是错误的。期望的结果将是 -0.0%。假设您有绝对值比如说 -123(下降)和百分比值,由我们的度量显示,结果 +0.0% 将具有不同的符号。 我无法重现您的问题。我的模型显示 -0.1% 抱歉 [measure]=-0.00001 请把它弄小一点。以上是关于带有加号或减号的 DAX 数字格式的主要内容,如果未能解决你的问题,请参考以下文章
使用VBA为负数设置带有千位分隔符、2位小数和减号的标准数字格式?