ALLEXCEPT 函數
除了指定的資料行已套用的篩選之外,移除資料表中的所有內容篩選。
語法
ALLEXCEPT(<table>,<column>[,<column>[,…]])
參數
詞彙 |
定義 |
---|---|
table |
除了後續引數指定之資料行的篩選之外,要從中移除所有內容篩選的資料表。 |
column |
必須保留內容篩選的資料行。 |
ALLEXCEPT 函數的第一個引數必須是基底資料表的參考;所有後續引數都必須是基底資料行的參考。 您無法搭配 ALLEXCEPT 函數使用資料表運算式或資料行運算式。
傳回值
除了指定之資料行的篩選,移除所有篩選的資料表。
備註
此函數本身無法單獨使用,而是當做中繼函數,可以用來變更執行其他特定計算所得的一組結果。
如下表所述,您可以在幾種不同情況下使用 ALL 和 ALLEXCEPT 函數。
函數和用法 |
說明 |
---|---|
ALL(Table) |
從指定的資料表移除所有篩選。 實際上,ALL(Table) 會傳回資料表中所有的值,而移除可能已套用之內容中的所有篩選。 當您要處理許多群組層級,而且想要建立的計算會計算彙總值對總值的比率時,此函數相當實用。 |
ALL (Column[, Column[, …]]) |
從資料表中指定的資料行移除所有篩選;資料表中其餘資料行的所有其他篩選仍然會套用。 所有的資料行引數必須來自同一個資料表。 當您想要移除一個或多個特定資料行的內容篩選,並保留其餘所有內容篩選時,ALL(Column) 的各種變化相當實用。 |
ALLEXCEPT(Table, Column1 [,Column2]...) |
除了指定的資料行已套用的篩選之外,移除資料表中的所有內容篩選。 當您想要移除資料表中多數 (但不是全部) 資料行的篩選時,這種方法提供了一個便捷的途徑。 |
範例
下列範例所呈現的公式可以應用於量值。 如需如何建立量值的詳細資訊,請參閱<在樞紐分析表或樞紐分析圖中建立量值>。
此公式會加總 SalesAmount_USD,並使用 ALLEXCEPT 函數移除 DateTime 資料表的所有內容篩選,但不包括除已經套用至 CalendarYear 資料行的篩選。
[!附註]
上述範例使用來自 DAX 範例活頁簿的資料表 ResellerSales_USD 和 DateTime。 如需有關範例的詳細資訊,請參閱取得範例資料。
=CALCULATE(SUM(ResellerSales_USD[SalesAmount_USD]), ALLEXCEPT(DateTime, DateTime[CalendarYear]))
公式使用了 ALLEXCEPT,因而每當 DateTime 資料表中 CalendarYear 除外的任何資料行用來配量樞紐分析表時,公式將會移除所有交叉分析篩選器,為資料行標籤值提供一個等於 SalesAmount_USD 總和的值,如表 1 所示。
不過,若是使用 CalendarYear 資料行來配量樞紐分析表,結果就不同。 由於 CalendarYear 指定為 ALLEXCEPT 的引數,以致當針對年份配量資料時,將會在資料列層級對年份套用篩選,如表 2 所示。 建議使用者比較這兩個表格以了解 ALLEXCEPT() 的行為。