統(tǒng)計函數(shù)是最強力的函數(shù),同時也是最復雜的函數(shù),為數(shù)據(jù)的分析,提供非常強力的工具,同時,在使用統(tǒng)計函數(shù)時,必須考慮到數(shù)據(jù)模型,表之間關系,數(shù)據(jù)重復等因素,一般都會搭配過濾函數(shù)實現(xiàn)數(shù)據(jù)的提取和分析。
1,求和函數(shù)
從表中計算每一個行的加和,只有數(shù)值會被加和,忽略空值,date,邏輯值或文本值:
SUMX(<table>, <expression>)
?示例,第一個參數(shù)是過濾器返回的表值,計算[Freight]的加和:
=SUMX(FILTER(InternetSales, InternetSales[SalesTerritoryID]=5),[Freight])
可以把SUMX函數(shù),轉換為CALCULATE函數(shù):
=CALCULATE( SUM(InternetSales[Freight]), FILTER(InternetSales, InternetSales[SalesTerritoryID]=5))
2,計數(shù)函數(shù)
計算函數(shù)分為:COUNTX和COUNTAX,COUNTX只統(tǒng)計數(shù)值,忽略空值(blank),date,邏輯值或文本值;COUNTAX函數(shù)統(tǒng)計非空值(blank),包含數(shù)值,date,邏輯值或文本值。
COUNTX(<table>,<expression>)
COUNTAX(<table>,<expression>)
例外:如果列中包含表達式,而表達式的結果是空值,但是,COUNTAX/COUNTX函數(shù)把包含公式的列值作為非空(nonblank)看待,在這種情況下,計數(shù)函數(shù)會增加計數(shù)值。
如果COUNTAX函數(shù)沒有數(shù)據(jù)列做計數(shù),返回blank;如果COUNTAX函數(shù)聚合的數(shù)據(jù)列都是blank,返回0。
3,唯一值計數(shù)
統(tǒng)計列的唯一值計數(shù),參數(shù)是表列,允許是任意數(shù)據(jù)類型,當找不到任何數(shù)據(jù)行時,返回BLANK,否則,統(tǒng)計唯一值的數(shù)量。
DISTINCTCOUNT(<column>)
4,分組聚合函數(shù)
DAX 中功能最強大的函數(shù),對相互關聯(lián)的Table按照特定的字段,分組聚合,由于分組列是唯一的,通過SUMMARIZE函數(shù),可以獲得多列的唯一值。
SUMMARIZE(<table>, <groupBy_columnName>[, <groupBy_columnName>]…[, <name>, <expression>]…)
示例:對數(shù)據(jù)表?ResellerSales_USD ,按照字段?DateTime[CalendarYear] 和?ProductCategory[ProductCategoryName]分組,計算?SUM(ResellerSales_USD[SalesAmount_USD])和?SUM(ResellerSales_USD[DiscountAmount]) 。
SUMMARIZE(ResellerSales_USD
, DateTime[CalendarYear]
, ProductCategory[ProductCategoryName]
, "Sales Amount (USD)", SUM(ResellerSales_USD[SalesAmount_USD])
, "Discount Amount (USD)", SUM(ResellerSales_USD[DiscountAmount])
)
分組聚合函數(shù),能夠利用關系,引用相關表的字段,也就是說,SUMMARIZE函數(shù)能夠對有關系的表執(zhí)行連接(join)運算,計算笛卡爾乘積,對Join的結果集執(zhí)行分組聚合,例如:
summarize
(
'Internet Sales',
'Product'[Product Name],
'Date'[Calendar Year],
"Total Sales Amount", sum('Internet Sales'[Sales Amount])
)
從數(shù)據(jù)表Date中獲取字段Calendar Year的前提是,數(shù)據(jù)表Date和Internet Sales之間存在關系,從數(shù)據(jù)表Product中獲取字段Product Name的前提是:數(shù)據(jù)表Product和Internet Sales之間存在關系。
分組聚合函數(shù)用于創(chuàng)建新表,在Modeling菜單中,通過“New Table”從DAX表達式中創(chuàng)建新的Table:
參考文檔:SUMMARIZE – groupping in data models (DAX – Power Pivot, Power BI)








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