DAX从入门到精通

DAX从入门到精通 2-1-1 DAX的数据类型

2019-06-14  本文已影响0人  PowerBI入门到实践

第二章 介绍DAX

在上一章简单快速的介绍了DAX后,现在开始稍微深入的介绍下DAX语言。在这个章节里面,我们会学习DAX的语法,计算列和度量值的区别,这两者在DAX中使用频率非常高。
因为这个章节是作为一个大概介绍的章节,许多函数不会深入的讨论。在本书后面的章节,我们会进行详细深入的讨论。现在这阶段,只需要大概了解一些函数以及熟悉DAX语法即可。

了解DAX中的计算

要写出复杂的函数,就要从学习基础的DAX知识开始。包括语法,各种数据类型,运算符号,如何引用列和表。接下来会一一介绍它们。
你使用DAX对表中的列进行计算。你可以做聚合,计算,查找数值等,总而言之,所有的计算都涉及表和列的概念。因此,第一个需要学习的就是如何引用表中的列。
写法是先写表名,然后括号,接着列的名称,然后反括号

'Sales'[Quantity]

当表名不以数字开头的时候,不包含空格,不是使用系统保留的字符(例如date,sum)你可以忽略引号

划重点:
不在表名中使用空格是非常好的习惯。这样,你就避免了在公式中使用引号,也使得代码更适合阅读。牢记,表名会出现在你模型中的所有地方,无论是数据表,透视表,客户端工具例如Power View。因此,如果要在表名中包含空格,那么你就需要在所有使用到表的地方使用引号。

如果你引用的列或者度量值于你定义的函数是在同一个表,那么书写的时候,可以忽略表名。因此, 当你在sales表中写计算列或者度量值的时候,[Quantity]这样的写法是正确的。但是,即使这样写是正确的,但是当你选择列的时候(非书写时)用户界面会建议你使用表的名称作为前缀。这里,我们非常建议你只用表名前缀。这样有助于提高代码的可阅读性。

DAX的数据类型

DAX可以对多种的数据类型进行计算,一共有7种。如下列表,列出了DAX的名称以及他们通常的名称。例如:布尔值,在DAX中表现为TRUE/FALSE。

DAX拥有强大的功能处理不同类型的数据,所以你不必担心数据类型的问题。当书写一个DAX表达式的时候,结果的类型取决于表达式中使用的数据类型。对于这点,你需要特别注意,已避免返回的是预期之外的情况,如果这样,就必须要调整一下表达式使用的字段。
例如:一个求和计算中,一个表达式是日期类型,那么结果也是日期类型。同样,如果是整型,那么返回的也是整型。也称为计算决定数据类型。


image.png

另外,DAX会根据计算符自动转换文本和数字。例如,如果使用&连接,那么结果就是返回文本。如下公式

= 5 & 4

返回了“54”的字符串。对于这个公式

= "5" + "4"

这个公式返回的是数字9
计算的结果取决于计算的符号,而不是原始的计算列。即使这功能看起来很方便,也会在自动转换的时候出现一些错误。作者的建议是,避免使用系统的自动转换,如果需要进行一些转换,最好是人为的控制它,申明转换的内容。例如上面的转换,可以按如下的写法:

= VALUE ( "5" ) + VALUE ( "4" )

DAX的数据类型对于使用Excel和其他语言的人来说,应该是熟悉的。但是还是有必要简单介绍下DAX的数据类型。

= NOW () + 1

如果你仅需要日期部分,那么记得使用TRUNC函数来截除小数部分。

上一篇下一篇

猜你喜欢

热点阅读