微软2019年8月发布了两个新的DAX函数:CONVERT和REMOVEFILTERS。它们非常新,在撰写本文时(2019年8月23日),它们仅在Azure Analysis Services和Power BI Service中可用,甚至DAX Guide也没有列出它们。在这篇博文中,我展示了它们的用法。
CONVERT
函数允许您显式地将表达式的数据类型转换为指定的数据类型。它接受两个参数:
- 标量表达式
- 数据类型
其中第二个参数–数据类型,可以是以下其中一种:
- BOOLEAN
- CURRENCY
- DATETIME
- DOUBLE
- INTEGER
- STRING
虽然我们以前可以用CURRENCY和INT这样的函数进行数据类型转换,但这个函数是通用的,而且更容易记住。如果要将值转换为以某种格式显示的文本,则仍必须使用FORMAT函数。
REMOVEFILTERS
这几乎可以看作我们的老朋友–ALL函数的新名字了。该函数只能在CALCULATE中作为过滤器使用,它不能被用作表级别的表达式。
作为CALCULATE函数的过滤器,该函数的工作方式与ALL完全相同,并接受以下参数:
- 单独的表名
- 单独的列名
- 同表中的多个列
- 不含任何参数,留空
当你使用REMOVEFILTERS且不含任何参数时,它将忽略整个数据模型的筛选上下文。
从某种意义上说,REMOVEFILTERS与ALL的关系和RELATEDTABLE与CALCULATETABLE的关系完全相同:一个减少了功能的别名,它可以使代码更具可读性,这总是一件好事。
来自《 Definitive Guide to DAX (2019) 》:
当用作表函数时,ALL是一个简单的函数。它返回一列或多列的所有唯一值,或表的所有值。当用作CALCULATE修饰符时,它充当假设的REMOVEFILTER函数。
如今,该函数已不再是假设的了 🙂
你已经可以通过连接到发布到Power BI service的数据集来尝试此新函数了!
由Davis ZHANG翻译,点此查看英文原文

本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可
关于本文,如有问题或建议,欢迎您前往知乎微软BI圈发帖(备注本文链接),我将尽快回复