前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >在DAX里将空值或0显示为减号?这个问题可能困扰不少人!

在DAX里将空值或0显示为减号?这个问题可能困扰不少人!

作者头像
大海Power
发布2021-08-31 11:44:25
3.7K0
发布2021-08-31 11:44:25
举报
文章被收录于专栏:用户8950297的专栏

- 问题 -

近期碰到个很有意思的例子,一个度量值,其中判断某个值为0时,结果用减号“-”表示,不是0时执行相应的除法:

但是,明明用条件设置了这里应该显示为减号(“-”),但结果却显示为0%!!!为什么!!!

——不要一看到这种需求就说这是中国式报表的无理要求之类的,貌似很多老外也很喜欢这种表达方式!

- 原因 -

为什么会出现这种情况呢?

我猜(纯凭经验,没深究,不严谨),这可能是由于DAX中的类型自动转换导致的,因为“-”是DAX(也是很多其他编程语言)里唯一既作为运算符(减,如3-2)又同时是符号(负,如-1)的字符,所以,单独的“-”在参与度量计算的过程被转换成了类似[-blank()]的负数结果,-blank()也就等于0。

换成其他的字符就不会,即使是换成“+”,比如:

- 尝试 1 -

那如果就是想表示成“-”的样子,该怎么办?

我们首先想到的方法是给“-”前或后加上空格,但是,这没有用!见下图:

为什么?应该跟这个问题类似:《PP-数据建模:明明删除了重复项,为什么还是说有重复值?》,但在DAX公式里面,可以理解为符号前后的空格是不影响计算结果的。

- 尝试 2 -

那还有其他什么办法?

这个时候,根据对计算机字符集的了解(又是经验),可以加上一个不可见字符,如UNICODE字符集里第9个,如果在Excel的传统表格或Power BI里,可以轻松用UNICHAR(9)得到,可惜,在Excel的Power Pivot里,却没有UNICHAR这个函数(对于DAX函数的适用范围,可以在DAX.Guide网站上查到,这是DAX函数用法及案例最佳参考网站哦,拿走不谢!):

而且,我觉得以后也不太可能支持,因为,你看看前后就只差一个多月设计的对应的函数UNICODE,却一出来就是支持Excel的,现在4年过去了,UNICHAR却还没有支持Excel,实在没有搞懂为什么要这样:

- 最后的答案 -

那,还能怎么办?

——当然是复制粘贴啊!

先在Excel的传统表格里生成一个不可见字符,然后复制粘贴到DAX公式里:

好了,问题终于解决了,顺带,如果想要换行符,用unichar(10)……

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-02-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
区块链
云链聚未来,协同无边界。腾讯云区块链作为中国领先的区块链服务平台和技术提供商,致力于构建技术、数据、价值、产业互联互通的区块链基础设施,引领区块链底层技术及行业应用创新,助力传统产业转型升级,推动实体经济与数字经济深度融合。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档