数据类型
整数 Integer
十进制數 Decimal
日期时间DateTime
布尔值Boolean
文本String
//这三个我没用过
货币 Currency
变体Variant
二进制Binary
运算符
( ) 优先计算 ,函数的括号,元组
+ 日期类型也可直接加, date(2024,1,1)+1 = date(2024,1,2)
−
*
/
=
<> dax里面没 != , 只能用这个,或者 前面加 not
>
>=
<
<=
& 字符串拼接的 , 和excel一样
&& [CountryRegion] = "USA" && [Quantity]>0
|| [CountryRegion] = "USA" || [Quantity]>0
IN 注意用花括号 ,[CountryRegion] IN {"USA", "Canada"}
NOT NOT [Quantity] > 0 && not [CountryRegion] IN {"USA", "Canada"}
dax创建新表
{
( "A", 10, 1.5, DATE ( 2017, 1, 1 ), CURRENCY ( 199.99 ), TRUE ),
( "B", 20, 2.5, DATE ( 2017, 1, 2 ), CURRENCY ( 249.99 ), FALSE ),
( "C", 30, 3.5, DATE ( 2017, 1, 3 ), CURRENCY ( 299.99 ), FALSE )
}
计算列和度量值
计算列
计算列是添加到模型中的新列 , 类似excel ,每次加载模型的时候计算(有点耗内存) ,不参与筛选 可以理解为以下SQL
select a ,b, a+b as c
from table
其中c就是计算列 , 在使用模型的时候和其他列非计算列一模一样
度量值
可以称之为一组数据集的聚合,只能是一个值,这个值根据不同的筛选条件生成不同结果,可以理解为以下SQL:
select sum(a)
from table
where b>1
其中 where条件是可以实时变化的,然后生成不同的结果
变量
只需要两个关键字 VAR RETURN , 必须同时出现
比如下面计算同比:
var a = sum([1])
var b = calculate(sum(1),peryear([date]))
return divide(a-b,b)
使用变量使可读性增强
常用函数
聚合函数 SUM、AVERAGE、MIN 和 MAX
逻辑函数 AND、FALSE、IF、IFERROR、NOT、TRUE 和 OR
信息函数 ISBLANK、ISERROR、ISLOGICAL、ISNONTEXT、ISNUMBER 和 ISTEXT
数学函数 INT ,FLOOR,TRUNC
三角函数 COS、COSH、COT、COTH、SIN、SINH、TAN
文本函数 RIGHT, LEFT LEN, LOWER FIND , FORMAT
转换函数 FORMAT ( DATE ( 2019, 01, 12 ), "yyyy mmm dd" )
日期和时间函数 DAY ( Calendar[Date] ) MONTH YEAR
标签:FALSE,函数,基本知识,CURRENCY,计算,DATE,2017,DAX
From: https://www.cnblogs.com/cheng9999/p/18065097