📅  最后修改于: 2023-12-03 15:00:21.615000             🧑  作者: Mango
除了基本的聚合和计算外,DAX还具有许多其他功能,让你轻松地对数据进行处理和分析。以下是一些常见的DAX功能及其用法:
SWITCH
函数是一个可以根据多个条件进行分支选择的函数。该函数的语法如下:
SWITCH(expression1, value1, result1, value2, result2, ..., default_result)
expression1
是要进行选择的表达式,value1
、value2
等则是多个选择条件,而result1
、result2
则是相应条件下的结果。默认情况下,如果表达式不匹配任何条件,函数则会返回default_result
。
例如,以下代码将根据销售额选择相应的订购类型:
Order Type = SWITCH(TRUE(),
[Sales Amount] > 100000, "Large Order",
[Sales Amount] > 50000, "Medium Order",
[Sales Amount] > 10000, "Small Order",
"No Order")
GENERATE
函数可以创建数据表,并为每一行设定不同的关键值。该函数的语法如下:
GENERATE (
<table>,
<expression>
)
table
是要生成的数据表,而expression
则是为每行设定的关键值表达式。
例如,以下代码可以生成一张成绩表,并按照不同科目和等级设置成绩值:
Grades = GENERATE(
{ "Math", "English", "Science" },
{ "A", "B", "C", "D", "F" }
)
EARLIER
函数可以返回先前的计算结果,以便在后续计算中使用。该函数的语法如下:
EARLIER ( <expression> [, <n> ] )
其中,n
表示需要返回的先前计算结果的层数。默认情况下,n
为1。
例如,以下代码可以计算其他所有地区的平均销售额与北美地区之间的差距:
Diff from North America = [Average Sales] - CALCULATE(
[Average Sales],
FILTER(Sales, Sales[Region] = "North America")
)
DAX支持将多个表达式拼接成一条长语句进行计算。以下是一些例子:
UNION
函数用于将两个表格连接在一起:
Table3 = UNION(Table1, Table2)
CONCATENATE
函数可以将两个字符串连接在一起:
FullName = CONCATENATE(Sales[First Name], " ", Sales[Last Name])
&运算符返回拼接后的两个字符串:
FullName = Sales[First Name] & " " & Sales[Last Name]
以上就是一些常见的DAX功能以及它们的用途。除此之外,DAX还有更多的功能,可以轻松地对数据进行处理和分析。如果你想进一步了解DAX,请查阅官方文档。