ALLSELECTED
從目前查詢中的數據列 filters 資料列中移除內容 and,同時 all 保留其他內容 filtersor 明確 filters。
ALLSELECTED 函式會取得內容,代表查詢中 all 數據列 and 數據行,同時保留數據列 filters 數據行 and以外的明確 andfilters 內容。 此函式可用來取得查詢中的視覺效果總計。
語法
ALLSELECTED([<tableName> | <columnName>[, <columnName>[, <columnName>[,…]]]] )
參數
術語 | 定義 |
---|---|
tableName |
使用標準 DAX 語法的現有數據表名稱。 此參數不可以是表達式。 這個參數是選擇性的。 |
columnName |
使用標準 DAX 語法的現有數據行名稱,通常為完整。 它不能是表達式。 這個參數是選擇性的。 |
傳回 value
查詢的內容,沒有任何資料列 and 資料列 filters。
言論
If 有一個自變數,自變數
tableName
orcolumnName
。 If 有多個自變數,它們必須是來自相同數據表的數據行。此函式與 ALL() 不同,因為它會保留 allfilters 在查詢中明確設定,and 它會保留數據列 all 數據行 filters以外的 and 內容 filters。
在匯出數據行中使用 not 數據列層級安全性 (RLS) 規則時,支援此函式 or 用於 DirectQuery 模式。
例
下列範例示範如何使用 generate 表達式,在數據表報表中 DAX 不同層級的視覺效果總計。 在報表中,已將兩 (2) previousfilters 套用至轉銷商銷售數據:銷售領域群組上的一個 = 歐洲and 另一個在促銷類型 = 磁碟區折扣。 一旦套用 filters,就可以計算整個報表的視覺效果總計,All 年,orAllProduct 類別。 此外,為了說明目的,也會取得 All 轉銷商銷售的總和,移除報表中的 allfilters。 評估下列 DAX 表示式會導致數據表中含有 all 使用 Visual Totals 建置數據表所需的資訊。
define
measure 'Reseller Sales'[Reseller Sales Amount]=sum('Reseller Sales'[Sales Amount])
measure 'Reseller Sales'[Reseller Grand Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALL('Reseller Sales'))
measure 'Reseller Sales'[Reseller Visual Total]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED())
measure 'Reseller Sales'[Reseller Visual Total for All of Calendar Year]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Date'[Calendar Year]))
measure 'Reseller Sales'[Reseller Visual Total for All of Product Category Name]=calculate(sum('Reseller Sales'[Sales Amount]), ALLSELECTED('Product Category'[Product Category Name]))
evaluate
CalculateTable(
//CT table expression
summarize(
//summarize table expression
crossjoin(distinct('Product Category'[Product Category Name]), distinct('Date'[Calendar Year]))
//First Group by expression
, 'Product Category'[Product Category Name]
//Second Group by expression
, 'Date'[Calendar Year]
//Summary expressions
, "Reseller Sales Amount", [Reseller Sales Amount]
, "Reseller Grand Total", [Reseller Grand Total]
, "Reseller Visual Total", [Reseller Visual Total]
, "Reseller Visual Total for All of Calendar Year", [Reseller Visual Total for All of Calendar Year]
, "Reseller Visual Total for All of Product Category Name", [Reseller Visual Total for All of Product Category Name]
)
//CT filters
, 'Sales Territory'[Sales Territory Group]="Europe", 'Promotion'[Promotion Type]="Volume Discount"
)
order by [Product Category Name], [Calendar Year]
在 SQL Server Management Studio 中針對 AdventureWorks DW 表格式模型執行上述表達式之後,您會取得下列結果:
[Product 類別名稱] | [CalendarYear] | [轉銷商銷售金額] | [轉銷商總計] | [Reseller Visual Total] | [轉銷商 Visual Total for All of CalendarYear] | [轉銷商 Visual Total for All of Product Category Name] |
---|---|---|---|---|---|---|
輔料 | 2000 | 80450596.9823 | 877006.7987 | 38786.018 | ||
輔料 | 2001 | 80450596.9823 | 877006.7987 | 38786.018 | ||
輔料 | 2002 | 625.7933 | 80450596.9823 | 877006.7987 | 38786.018 | 91495.3104 |
輔料 | 2003 | 26037.3132 | 80450596.9823 | 877006.7987 | 38786.018 | 572927.0136 |
輔料 | 2004 | 12122.9115 | 80450596.9823 | 877006.7987 | 38786.018 | 212584.4747 |
輔料 | 2005 | 80450596.9823 | 877006.7987 | 38786.018 | ||
輔料 | 2006 | 80450596.9823 | 877006.7987 | 38786.018 | ||
自行車 | 2000 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
自行車 | 2001 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
自行車 | 2002 | 73778.938 | 80450596.9823 | 877006.7987 | 689287.7939 | 91495.3104 |
自行車 | 2003 | 439771.4136 | 80450596.9823 | 877006.7987 | 689287.7939 | 572927.0136 |
自行車 | 2004 | 175737.4423 | 80450596.9823 | 877006.7987 | 689287.7939 | 212584.4747 |
自行車 | 2005 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
自行車 | 2006 | 80450596.9823 | 877006.7987 | 689287.7939 | ||
服裝 | 2000 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
服裝 | 2001 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
服裝 | 2002 | 12132.4334 | 80450596.9823 | 877006.7987 | 95090.7757 | 91495.3104 |
服裝 | 2003 | 58234.2214 | 80450596.9823 | 877006.7987 | 95090.7757 | 572927.0136 |
服裝 | 2004 | 24724.1209 | 80450596.9823 | 877006.7987 | 95090.7757 | 212584.4747 |
服裝 | 2005 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
服裝 | 2006 | 80450596.9823 | 877006.7987 | 95090.7757 | ||
元件 | 2000 | 80450596.9823 | 877006.7987 | 53842.2111 | ||
元件 | 2001 | 80450596.9823 | 877006.7987 | 53842.2111 | ||
元件 | 2002 | 4958.1457 | 80450596.9823 | 877006.7987 | 53842.2111 | 91495.3104 |
元件 | 2003 | 48884.0654 | 80450596.9823 | 877006.7987 | 53842.2111 | 572927.0136 |
元件 | 2004 | 80450596.9823 | 877006.7987 | 53842.2111 | 212584.4747 | |
元件 | 2005 | 80450596.9823 | 877006.7987 | 53842.2111 | ||
元件 | 2006 | 80450596.9823 | 877006.7987 | 53842.2111 |
報表中的數據列如下:
轉銷商銷售金額 yearandproduct 類別的轉銷商銷售的實際 value。 此 value 會出現在報表中央的單元格中,位於 yearand 餐飲的交集處。
轉銷商Visual Total for AllCalendarYear 跨 all 年 product 類別的總 value。 此 value 會出現在報表中指定 or 類別 productandall 數據行結尾。
轉銷商Visual Total for Product Category Name All 跨 allproduct 類別 year 的總 value。 此 value 會出現在報表中指定 oryearandall 類別的數據行 product 數據列結尾。
Reseller Visual Total valueall 年 andproduct 類別。 此 value 通常會出現在數據表最右下角。
轉銷商總計 這是套用任何 filter 之前,all 轉銷商銷售的總和;您應該注意到 [Reseller Visual Total] 的差異。 您記得這份報告包含兩個(2)個 filters,一個在 Product 類別群組 and 另一個在促銷類型。
注意
if 表示式中有明確的 filters,這些 filters 也會套用至表達式。