數(shù)據(jù)分析表達式 (DAX) 公式中總共有 200 多個函數(shù),分為以下類型:
一、日期和時間函數(shù)
創(chuàng)建基于日期和時間的計算,DAX 中很多函數(shù)都與 Excel 日期和時間函數(shù)類似。 不過 DAX 函數(shù)使用日期/時間數(shù)據(jù)類型,可以將列中的值用作參數(shù) 。
例子:
Date函數(shù)。返回指定日期。
DATE(2020,3,27)) //結果:2020/3/27 0:00:00
二、時間智能函數(shù)
能夠使用時間段(包括日、月、季度和年)對數(shù)據(jù)進行操作,然后生成并比較對這些時間段的計算,從而支持商業(yè)智能分析的需求。
例子:
DATESBETWEEN函數(shù)。返回一個表,此表包含一列日期,日期以 start_date 開始,一直持續(xù)到 end_date 。
如下,該銷售明細表包含了2017年5月,2018年5月的銷售記錄。函數(shù)運行結果只返回了2017年5月的日期值。
EVALUATE
DATESBETWEEN('銷售明細'[銷售日期],
DATE(2017,5,1),
DATE(2018,8,31)
)
三、篩選器函數(shù)
DAX 中的篩選器函數(shù)是最復雜且功能強大的函數(shù),并且與 Excel 函數(shù)有很大的不同。 查找函數(shù)通過使用表和關系(類似數(shù)據(jù)庫)來工作。 篩選函數(shù)支持通過操作數(shù)據(jù)上下文來創(chuàng)建動態(tài)計算。
例子:
FILTER函數(shù)。篩選銷售明細表,找出銷量>1的訂單
EVALUATE
FILTER('銷售明細', '銷售明細'[銷量]>1)
四、信息函數(shù)
DAX 信息函數(shù)查看作為參數(shù)提供的單元格或行,并告訴你此值是否與預期類型匹配。
例子:
ISERROR 函數(shù)。如果引用的值包含錯誤,則 ISERROR 函數(shù)返回 TRUE。
ISERROR(10/5) //結果:False
ISERROR(10/0) //結果:True
五、邏輯函數(shù)
邏輯函數(shù)對表達式有效,用于返回表達式中值或集的信息。
例子:
IF函數(shù)??梢允褂?IF 函數(shù)檢查表達式的結果并創(chuàng)建條件結果。
IF(AND(10 > 9, -10 < -1), "全真", "存在假" ) //結果:全真
六、數(shù)學和三角函數(shù)
(DAX) 中的數(shù)學函數(shù)與 Excel 數(shù)學函數(shù)和三角函數(shù)非常相似。
例子:
ABS函數(shù)。返回某一數(shù)字的絕對值。
ABS(-10) //結果:10
七、父函數(shù)和子函數(shù)
管理以父/子層次結構顯示的數(shù)據(jù)。 DAX 提供了五個函數(shù),可幫助用戶管理在其模型中顯示為父子層次結構的數(shù)據(jù)。 使用此函數(shù),用戶可以獲取一行中所有父級。例如,到頂端父級有多少級別,誰是當前行中的第 n 級父級,誰是當前行層次結構從頂部開始的第 n 個后代,以及某些父級是當前行層次結構中的父級嗎?
例子:
PATH函數(shù)。返回一個帶分隔符的文本字符串,其中包含當前標識符的所有父級的標識符,從最早的父級開始,一直持續(xù)到當前。
PATH(員工表[員工ID], 員工表[上級經(jīng)理ID]) //列出每個員工的所有經(jīng)理
八、統(tǒng)計函數(shù)
用于創(chuàng)建聚合(例如求和、計數(shù)和平均值)的函數(shù)。
例子:
AVERAGEA函數(shù)。返回列中值的平均值(算術平均值)。
AVERAGEA([銷量]) //計算平均銷量
九、文本函數(shù)
對文本進行操作的函數(shù)。這些函數(shù)基于 Excel 中的字符串函數(shù)庫。
例子:
LEN函數(shù)。返回文本字符串中的字符數(shù)。
LEN([AddressLine1])+LEN([AddressLin2]) // 返回AddressLine1、AddressLin2的合計字符個數(shù)。
十、其他函數(shù)
其他無法歸為上述類別的函數(shù)。
例子:
EXCEPT函數(shù)。返回一個表的行,這些行未在另一個表中出現(xiàn)。
Except(表1, 表2) //返回表1中的未在表2出現(xiàn)的行。








暫無數(shù)據(jù)