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








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