DAX 基本知识

数据类型

整数 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就是计算列 , 在使用模型的时候和其他列非计算列一模一样

度量值

可以称之为一组数据集的聚合,只能是一个值,这个值根据不同的筛选条件生成不同结果,可以理解为以下SQLselect 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
逻辑函数             ANDFALSE、IF、IFERROR、NOTTRUEOR
信息函数             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
posted @   程闯  阅读(35)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示