- Excel DAX 教程
- DAX - 首頁
- DAX - 概述
- DAX - 計算列
- DAX - 計算欄位/度量值
- DAX - 編輯計算欄位
- DAX - 刪除計算欄位
- DAX - 語法
- DAX - 運算子
- DAX - 標準引數
- DAX - 函式
- DAX - 理解DAX函式
- DAX - 計算上下文
- DAX - 公式
- 更新DAX公式的結果
- 更新資料模型中的資料
- DAX - 重新計算DAX公式
- DAX公式重新計算故障排除
- DAX - 公式錯誤
- DAX - 時間智慧
- DAX - 篩選函式
- DAX - 場景
- 執行復雜計算
- DAX - 使用文字和日期
- 條件值和錯誤測試
- DAX - 使用時間智慧
- DAX - 排名和比較值
- Excel DAX有用資源
- DAX - 快速指南
- DAX - 有用資源
- DAX - 討論
Excel DAX - 篩選函式
DAX擁有強大的篩選函式,這與Excel函式大不相同。查詢函式的工作原理是使用表和關係,就像資料庫一樣。篩選函式允許您操作資料上下文以建立動態計算。
注意 - 返回表的DAX篩選函式不會將表新增到資料模型中。生成的表用作另一個DAX函式中的引數。也就是說,此類DAX函式用作其他DAX函式的巢狀函式。
在下一節中,您將學習可以使用哪些DAX篩選函式。有關這些函式的更多詳細資訊,請參閱本教程庫中的教程 - DAX 函式。
DAX篩選函式
以下是DAX篩選函式 -
| 序號 | DAX函式及其功能? |
|---|---|
| 1 | ADDMISSINGITEMS (<showAllColumn>, [<showAllColumn>] …, <table>, <groupingColumn>, [<groupingColumn>] …, [filterTable] …) 如果專案組合尚不存在,則將多個列的專案組合新增到表中。新增哪些專案組合的確定是基於引用包含所有列可能值的源列。 要確定要評估的不同列的專案組合 -
|
| 2 | ALL ( {<table> | <column>, [<column>], [<column>], … }) 返回給定表中的所有行或表中指定列中的所有值,忽略可能已應用的任何篩選器。 此函式可用於清除篩選器並在表中的所有行上建立計算。 |
| 3 | ALLEXCEPT (<table>, <column>, [<column>], …) 刪除表中的所有上下文篩選器,但已應用於作為引數指定的列的篩選器除外。 與ALL相反,當您想要刪除表中許多(但不是全部)列上的篩選器時,可以使用此函式。 |
| 4 | ALLNOBLANKROW (<table>|<column>) 從關係的父表返回 -
該函式會忽略可能存在的任何上下文篩選器。 |
| 5 | ALLSELECTED ( [<tableName>|<columnName>] ) 從當前查詢中的列和行中刪除上下文篩選器,同時保留所有其他上下文篩選器或顯式篩選器。 |
| 6 | CALCULATE (<expression>, [<filter1>, <filter2> …)] 在由指定篩選器修改的上下文中評估表示式。 返回表示式的結果值。 |
| 7 | CALCULATETABLE (<expression>, <filter1>, <filter2>, …) 在由給定篩選器修改的上下文中評估表表達式。 返回一個值表。 |
| 8 | CROSSFILTER (<columnName1>, <columnName2>, <direction>) 指定用於存在於兩列之間的關係的計算中的交叉篩選方向。不返回值。 |
| 9 | DISTINCT (<column>) 返回一個包含指定列中不同值的單列表。換句話說,重複值將被刪除,並且只返回唯一值。 生成的列用作另一個DAX函式中的引數。 |
| 10 | EARLIER (<column>, <number>) 返回指定列在提到的列(由數字指定)的外部計算過程中的當前值。 |
| 11 | EARLIEST (<column>) 返回指定列在指定列的外部計算過程中的當前值。 |
| 12 | FILTER (<table>, <filter>) 返回一個僅包含已篩選行的表。 FILTER僅用作嵌入在需要表作為引數的其他函式中的函式。 |
| 13 | FILTERS (<columnName>) 返回直接應用於columnName作為篩選器的值。 FILTERS僅用作嵌入在需要表作為引數的其他函式中的函式。 |
| 14 | HASONEFILTER (<columnName>) 當columnName上直接篩選的值數量為一時返回TRUE。否則,返回FALSE。 |
| 15 | HASONEVALUE (<columnName>) 當columnName的上下文僅被篩選到一個唯一值時返回TRUE。否則,返回FALSE。 |
| 16 | ISCROSSFILTERED (<columnName>) 當columnName或同一表或相關表中的另一列被篩選時返回TRUE。 |
| 17 | ISFILTERED (<columnName>) 當columnName被直接篩選時返回TRUE。如果列上沒有篩選器,或者由於同一表中或相關表中的不同列被篩選而導致篩選,則該函式返回FALSE。 |
| 18 | KEEPFILTERS (<expression>) 修改在評估CALCULATE或CALCULATETABLE函式時應用篩選器的方式。 |
| 19 | RELATED (<column>) 返回來自另一個表的相關值。 |
| 20 | RELATEDTABLE (<tableName>) 在由給定篩選器修改的上下文中評估表表達式。 |
| 21 | SUBSTITUTEWITHINDEX (<table>, <indexColumnName>, <indexColumnTable>, <orderBy_expression>, [<order>]) 返回一個表示作為引數提供的兩個表的左半連線的表。 半連線是透過使用公共列(由公共列名和公共資料型別確定)執行的。 正在連線的列將被替換為返回表中的單個列,該列的型別為整數,幷包含索引。 索引是給定指定排序順序的右連線表的引用。 |
| 22 | USERELATIONSHIP ( <columnName1>,<columnName2>) 指定在特定計算中要使用的關係,作為columnName1和columnName2之間存在的關係。 |
| 23 | VALUES (<TableNameOrColumnName>) 返回一個包含指定表或列中不同值的單列表。 換句話說,重複值將被刪除,並且只返回唯一值。 |