事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊從關聯性的父數據表,傳回 all 個數據列,但 blank 數據列,orall 數據行的不同 values,但 blank 數據列,and 忽略可能存在的任何內容 filters。
ALLNOBLANKROW( {<table> | <column>[, <column>[, <column>[,…]]]} )
術語 | 定義 |
---|---|
table |
拿掉 all 內容 filters 的數據表。 |
column |
拿掉 all 內容 filters 的數據行。 |
只有一個參數必須傳遞;參數是數據行 or 數據表。
當傳遞的參數是數據表時,當傳遞的參數是數據行時,orvalues的數據行。
ALLNOBLANKROW 函式只會 filters 父數據表在關聯性中父數據表 blank 數據列時,子數據表中有一 or 個數據列與父數據行沒有相符 values。 如需完整說明,請參閱下列範例。
下表摘要說明 DAX中提供的 ALL
變化,and 差異:
函式 and 使用方式 | 描述 |
---|---|
ALL(Column) |
從數據表中指定的數據行中移除 allfilters;all 數據表中的其他 filters,其他數據行仍適用。 |
ALL(Table) |
從指定的數據表中移除 allfilters。 |
ALLEXCEPT(Table,Col1,Col2...) |
覆寫數據表中 all 內容 filters,except 指定的數據行。 |
ALLNOBLANK(table|column) |
從關聯性的父數據表,傳回 all 數據列,但 blank 數據列,orall 數據行的不同 values,但 blank 數據列,and 會忽略可能存在的任何內容 filters |
如需 ALL 函式運作方式的一般描述,以及使用 ALL(Table) andALL(Column) 的逐步範例,請參閱 ALL 函式。
在匯出數據行中使用 or 數據列層級安全性 (RLS) 規則時,支援此函式 not 用於 DirectQuery 模式。
在 sample 數據中,ResellerSales_USD數據表 contains 一個沒有 valuesand 的數據列,因此無法 related 活頁簿內關聯性中的任何父數據表。 您會在數據透視表中使用此數據表,以便查看 blank 數據列行為,and 如何處理不相關的數據計數。
步驟 1:驗證不相關的數據
開啟 Power Pivot window,然後選取ResellerSales_USD數據表。 在 ProductKey 資料行中,filterblankvalues。 一個數據列會保留下來。 在該數據列中,SalesOrderLineNumber 應該 blankexceptall 數據行 values。
步驟 2:建立數據透視表
建立新的數據透視表,然後拖曳數據行 datetime。[CalendarYear],移至 [數據列卷標] 窗格。 下表顯示預期的結果:
數據列標籤 |
---|
2005 |
2006 |
2007 |
2008 |
總計 |
請注意 2008 2008and總計之間的 blank 標籤。 這個 blank 卷標代表未知的成員,這是一個特殊群組,用來考慮子數據表中沒有任何相符 value 之子數據表中的任何 values,在此範例中為 datetime。[CalendarYear] 資料行。
當您在資料透視表中看到此 blank 標籤時,您知道在資料行日期時間 related 的某些數據表中。[CalendarYear],blankvaluesor 非相符 values。 父數據表是顯示 blank 標籤的數據列,但 not 相符的數據列位於一 or 多個子數據表中。
新增至此 blank 標籤群組的數據列 valuesnot 符合父數據表中任何 value,例如,not 存在於 datetime 數據表中的 date,or null values,表示在 alldate 沒有 value。 在此範例中,我們已將 blankvalue 放在子銷售數據表 all 數據行中。 父數據表中的 values 比子數據表中的 not 會造成問題。
步驟 3:使用 ALLNOBLANK ALLandCount 數據列
將下列兩個量值新增至 datetime 資料表,以 count 資料表數據列:Countrows datetime的 ALLNOBLANK,CountrowsALL datetime。 您可以用來 define 這些量值的公式如下:
// Countrows ALLNOBLANK of datetime
= COUNTROWS(ALLNOBLANKROW('DateTime'))
// Countrows ALL of datetime
= COUNTROWS(ALL('DateTime'))
// Countrows ALLNOBLANKROW of ResellerSales_USD
= COUNTROWS(ALLNOBLANKROW('ResellerSales_USD'))
// Countrows ALL of ResellerSales_USD
= COUNTROWS(ALL('ResellerSales_USD'))
在 blank 數據透視表上新增日期時間。[CalendarYear] 資料行至數據列標籤,and 然後新增新建立的量值。 結果看起來應該如下表:
數據列標籤 | datetime 的 Countrows ALLNOBLANK | datetime 的 CountrowsALL |
---|---|---|
2005 | 1280 | 1281 |
2006 | 1280 | 1281 |
2007 | 1280 | 1281 |
2008 | 1280 | 1281 |
1280 | 1281 | |
總計 | 1280 | 1281 |
結果會顯示資料表資料列中 1 個資料列的差異,count。 不過,if 開啟 Power Pivot windowand 選取 datetime 數據表,您無法 find 數據表中任何 blank 數據列,因為這裡提到的特殊 blank 數據列是未知的成員。
步驟 4:確認 count 正確
為了證明
建立新的數據透視表,and 拖曳數據行 datetime。[CalendarYear],移至 [數據列卷標] 窗格。 Now 新增您剛才建立的量值。 結果看起來應該如下所示:
數據列標籤 | ResellerSales_USD的 CountrowsALLNOBLANKROW | ResellerSales_USD的 CountrowsALL |
---|---|---|
2005 | 60856 | 60856 |
2006 | 60856 | 60856 |
2007 | 60856 | 60856 |
2008 | 60856 | 60856 |
60856 | 60856 | |
總計 | 60856 | 60856 |
Now 兩個量值的結果相同。 這是因為 ALLNOBLANKROW 函式確實 notcount 數據表中的數據列 blank,但只會處理父數據表中產生的特殊案例 blank 數據列,而當關聯性中一 or 多個子數據表包含不相符 valuesorblankvalues時。
事件
3月31日 下午11時 - 4月2日 下午11時
最終Microsoft Fabric、Power BI、SQL 和 AI 社群主導的活動。 2025 年 3 月 31 日至 4 月 2 日。
立即註冊