全部
返回表中的所有行或列中的所有值,同時(shí)忽略可能已應(yīng)用的任何篩選器。 此函數(shù)對(duì)于清除表中所有行的篩選器以及創(chuàng)建針對(duì)表中所有行的計(jì)算非常有用。
語(yǔ)法
DAX ALL( [<table> | <column>[, <column>[, <column>[,…]]]] )
參數(shù)
術(shù)語(yǔ) |
定義 |
表 |
要清除篩選器的表。 |
柱形圖 |
要清除篩選器的列。 |
ALL 函數(shù)的參數(shù)必須是對(duì)基表的引用或?qū)械囊谩?/span> 不能將 ALL 函數(shù)與表表達(dá)式或列表達(dá)式一起使用。
返回值
已刪除的帶篩選器的表或列。
備注
此函數(shù)不單獨(dú)使用,而是用作中間函數(shù),可用于更改執(zhí)行過(guò)其他計(jì)算的結(jié)果集。
如下表所述,可以在各種方案中使用 ALL 和 ALLEXCEPT 函數(shù)。
函數(shù)和用法 |
說(shuō)明 |
ALL() |
刪除所有篩選器。 ALL() 只能用于清除篩選器,不能返回表。 |
ALL(Table) |
從指定表刪除所有篩選器。 實(shí)際上,ALL(Table) 返回表中的所有值,同時(shí)刪除上下文中可能已以其他方式應(yīng)用了的任何篩選器。
如果要處理多個(gè)級(jí)別的分組,并且想要?jiǎng)?chuàng)建一個(gè)計(jì)算來(lái)創(chuàng)建聚合值與總值的比率,此函數(shù)則很有用。 第一個(gè)示例演示了這種情況。 |
ALL (Column[, Column[, …]]) |
刪除表中指定列的所有篩選器;表中針對(duì)其他列的所有其他篩選器仍會(huì)應(yīng)用。 所有列參數(shù)必須來(lái)自同一個(gè)表。
如果想要?jiǎng)h除一個(gè)或多個(gè)特定列的上下文篩選器并保留所有其他上下文篩選器,ALL(Column) 變體則很有用。
第二個(gè)和第三個(gè)示例演示了這種情況。 |
ALLEXCEPT(Table, Column1 [,Column2]...) |
刪除表中所有的上下文篩選器,應(yīng)用于指定列的篩選器除外。
如果要?jiǎng)h除表中多個(gè)(但不是所有)列的篩選器,這是一個(gè)快捷的方法。 |
示例
計(jì)算類別銷售額與總銷售額的比率
假設(shè)你要查找數(shù)據(jù)透視表中當(dāng)前單元格的銷售額,將其除以所有經(jīng)銷商的總銷售額。 為確保分母相同,無(wú)論數(shù)據(jù)透視表用戶如何對(duì)數(shù)據(jù)進(jìn)行篩選或分組,你都可以定義一個(gè)公式,該公式使用 ALL 來(lái)創(chuàng)建正確的總計(jì)。
下表顯示了使用代碼部分中所示公式創(chuàng)建新度量值(所有經(jīng)銷商銷售額比率)時(shí)的結(jié)果 。 若要查看其工作原理,請(qǐng)將字段 CalendarYear 添加到數(shù)據(jù)透視表的“行標(biāo)簽”區(qū)域,然后將字段 ProductCategoryName 添加到“列標(biāo)簽”區(qū)域 。 然后,將度量值“所有經(jīng)銷商銷售額比率”拖到數(shù)據(jù)透視表的“值”區(qū)域 。 若要按百分比查看結(jié)果,使用 Excel 的格式設(shè)置功能將百分比數(shù)字格式應(yīng)用于包含度量值的單元。
所有經(jīng)銷商銷售額 |
列標(biāo)簽 |
|
|
|
|
行標(biāo)簽 |
配件 |
自行車 |
服裝 |
部件 |
總計(jì) |
2005 |
0.02% |
9.10% |
0.04% |
0.75% |
9.91% |
2006 |
0.11% |
24.71% |
0.60% |
4.48% |
29.90% |
2007 |
0.36% |
31.71% |
1.07% |
6.79% |
39.93% |
2008 |
0.20% |
16.95% |
0.48% |
2.63% |
20.26% |
總計(jì) |
0.70% |
82.47% |
2.18% |
14.65% |
100.00% |
Formula
DAX =SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/SUMX(ALL(ResellerSales_USD), ResellerSales_USD[SalesAmount_USD])
公式構(gòu)造如下:
分子 SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) 是 CalendarYear 和 ProductCategoryName 上應(yīng)用了上下文篩選器時(shí),數(shù)據(jù)透視表的當(dāng)前單元格中 ResellerSales_USD[SalesAmount_USD] 的值的總和。
對(duì)于分母,首先指定表 ResellerSales_USD,然后使用 ALL 函數(shù)刪除表上的所有上下文篩選器。
然后,使用 SUMX 函數(shù)對(duì) ResellerSales_USD[SalesAmount_USD] 列中的值求和。 換句話說(shuō),你將獲得所有經(jīng)銷商銷售額的 ResellerSales_USD[SalesAmount_USD] 之和。
示例
計(jì)算截至本年份的產(chǎn)品銷售額和總銷售額的比率
假設(shè)你想要?jiǎng)?chuàng)建一個(gè)表,其中顯示各個(gè)產(chǎn)品類別 (ProductCategoryName) 多年來(lái)的所占的銷售額百分比。 若要獲取相對(duì)每個(gè) ProductCategoryName 值的各年份百分比,你需要將該特定年份和產(chǎn)品類別的銷售額總和除以所有年份同一產(chǎn)品類別的銷售總額。 換句話說(shuō),你需要在計(jì)算百分比的分母時(shí),保留 ProductCategoryName 上的篩選器但刪除年份上的篩選器。
下表顯示了使用代碼部分中所示公式創(chuàng)建新度量值(經(jīng)銷商銷售年份)時(shí)的結(jié)果 。 若要查看其工作原理,請(qǐng)將字段 CalendarYear 添加到數(shù)據(jù)透視表的“行標(biāo)簽”區(qū)域,然后將字段 ProductCategoryName 添加到“列標(biāo)簽”區(qū)域 。 若要按百分比查看結(jié)果,使用 Excel 的格式設(shè)置功能將百分比數(shù)字格式應(yīng)用于包含度量值(經(jīng)銷商銷售年份)的單元 。
經(jīng)銷商銷售年份 |
列標(biāo)簽 |
|
|
|
|
行標(biāo)簽 |
配件 |
自行車 |
服裝 |
部件 |
總計(jì) |
2005 |
3.48% |
11.03% |
1.91% |
5.12% |
9.91% |
2006 |
16.21% |
29.96% |
27.29% |
30.59% |
29.90% |
2007 |
51.62% |
38.45% |
48.86% |
46.36% |
39.93% |
2008 |
28.69% |
20.56% |
21.95% |
17.92% |
20.26% |
總計(jì) |
100.00% |
100.00% |
100.00% |
100.00% |
100.00% |
Formula
DAX =SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(DateTime[CalendarYear]))
公式構(gòu)造如下:
分子 SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) 是 CalendarYear 和 ProductCategoryName 上應(yīng)用了列上下文篩選器時(shí),數(shù)據(jù)透視表的當(dāng)前單元格中 ResellerSales_USD[SalesAmount_USD] 的值的總和。
對(duì)于分母,使用 ALL(Column) 函數(shù)刪除 CalendarYear 上的現(xiàn)有篩選器。 這將在應(yīng)用了列標(biāo)簽中的現(xiàn)有上下文篩選器后,計(jì)算 ResellerSales_USD 表上其余行的總和。 最終效果是,對(duì)于分母,總和是對(duì)所選 ProductCategoryName(隱含的上下文篩選器)和年份中的所有值進(jìn)行求和。
示例
計(jì)算產(chǎn)品類別對(duì)每年總銷售額的貢獻(xiàn)
假設(shè)你要?jiǎng)?chuàng)建一個(gè)表,按年顯示每個(gè)產(chǎn)品類別的銷售額百分比。 若要獲取特定年份中每個(gè)產(chǎn)品類別的百分比,你需要計(jì)算在年份 n 該特定產(chǎn)品類別 (ProductCategoryName) 的銷售總額,然后將結(jié)果值除以年份 n 所有產(chǎn)品類別的銷售額總和。 換句話說(shuō),你需要在計(jì)算百分比的分母時(shí),保留年份上的篩選器但刪除 ProductCategoryName 上的篩選器。
下表顯示了使用代碼部分中所示公式創(chuàng)建新度量值(經(jīng)銷商銷售 CategoryName)時(shí)的結(jié)果 。 若要查看其工作原理,請(qǐng)將字段 CalendarYear 添加到數(shù)據(jù)透視表的“行標(biāo)簽”區(qū)域,然后將字段 ProductCategoryName 添加到“列標(biāo)簽”區(qū)域 。 然后,將新度量值添加到數(shù)據(jù)透視表的“值”區(qū)域 。 若要按百分比查看結(jié)果,使用 Excel 的格式設(shè)置功能將百分比數(shù)字格式應(yīng)用于包含新度量值(經(jīng)銷商銷售 CategoryName)的單元 。
經(jīng)銷商銷售 CategoryName |
列標(biāo)簽 |
|
|
|
|
行標(biāo)簽 |
配件 |
自行車 |
服裝 |
部件 |
總計(jì) |
2005 |
0.25% |
91.76% |
0.42% |
7.57% |
100.00% |
2006 |
0.38% |
82.64% |
1.99% |
14.99% |
100.00% |
2007 |
0.90% |
79.42% |
2.67% |
17.01% |
100.00% |
2008 |
0.99% |
83.69% |
2.37% |
12.96% |
100.00% |
總計(jì) |
0.70% |
82.47% |
2.18% |
14.65% |
100.00% |
Formula
DAX =SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD])/CALCULATE( SUM( ResellerSales_USD[SalesAmount_USD]), ALL(ProductCategory[ProductCategoryName]))
公式構(gòu)造如下:
分子 SUMX(ResellerSales_USD, ResellerSales_USD[SalesAmount_USD]) 是字段 CalendarYear 和 ProductCategoryName 上應(yīng)用了上下文篩選器時(shí),數(shù)據(jù)透視表的當(dāng)前單元格中 ResellerSales_USD[SalesAmount_USD] 的值的總和。
對(duì)于分母,使用函數(shù) ALL(Column) 刪除 ProductCategoryName 上的篩選器,然后在應(yīng)用了行標(biāo)簽中的現(xiàn)有上下文篩選器后計(jì)算 ResellerSales_USD 表中其余行的總和。 最終效果是,對(duì)于分母,總和是對(duì)所選年份(隱含的上下文篩選器)和 ProductCategoryName 中的所有值進(jìn)行求和。
另請(qǐng)參閱
篩選器函數(shù) (DAX)
ALL 函數(shù) (DAX)
ALLEXCEPT 函數(shù) (DAX)
FILTER 函數(shù) (DAX)
|