在 Power BI 中顯示沒有資料的專案

適用於:Power BI Desktop Power BI 服務

Power BI 可讓您可視化來自各種來源的數據。 當您建立視覺效果時,Power BI 只會顯示相關數據,以正確管理數據呈現和顯示的方式。 Power BI 會根據視覺效果的設定和基礎數據模型來判斷哪些數據相關。 本文說明判斷相關數據時 Power BI 的行為方式。 我們也包含示範如何判斷的範例。

Screenshot of the Visualizations menu, highlighting the Show items with no data within the X-axis dropdown menu.

判斷相關數據

為了說明 Power BI 如何判斷哪些數據與顯示有關,讓我們將數據表視為簡單的範例。 使用本文結尾所找到的 範例數據模型區段中所代表的模型 ,請考慮使用下列設定所建置的數據表:

1. 來自相同數據表的群組:Product[Color] - Product[Size]

Product[Color] Product[Size]
藍色 大型
藍色
藍色 Small
大型

在此範例中,Power BI 會顯示數據表 [Product] 中存在的 [Color-Size] 組合

現在讓我們看看不同的組合:

2. 來自不同但直接相關數據表和量值:ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])

ProductStyle[Finish] Product[Color] Sum(Sales[Quantity])
光澤 藍色 10
磨 砂 藍色 15

在此範例中,Power BI 只會顯示存在的組合。 不會顯示模型中不存在的組合,例如 (“None” + “Blue”) 或 (“Matte” + “Red”) 。 判斷哪些組合存在的條件是 Sum(Sales[Quantity]) 的值不是空白。

讓我們看看不同的案例:

3. 來自不同但相關數據表的群組,沒有量值:ProductStyle[Finish] - Product[Color]

ProductStyle[Finish] Product[Color]
光澤 藍色
光澤
磨 砂 藍色

因為沒有明確的量值,而且兩個數據表直接相關,因此Power BI 會嘗試插入量值來限制產生的組合。 在此情況下,Power BI 會 CALCULATE(COUNTROWS('Product')) 插入不應空白的量值,因為 Product 是這兩個數據表通用的。

在此案例中,Power BI 會顯示 Product 數據表中項目的組合,其中會排除 組合 (“None” + “Blue”)(“Matte” + “Red”) 的組合

4.來自不同和不相關的數據表群組

範例模型不包含此組合,但如果有來自不同和不相關數據表的群組,則 Power BI 無法關聯兩個數據行。 結果會是每個數據行所有值的交叉聯結。 在此情況下,Power BI 會發出類型不受限制聯結的錯誤 ,因為這類交叉聯 結在資料庫中的計算成本很高,而且不會為使用者提供太多資訊。

Screenshot of an error dialog, stating Can't determine relationships between the fields.

顯示沒有數據的專案

上一節說明Power BI如何判斷哪些數據與顯示有關。 不過,有時候您可能會 想要 顯示沒有數據的專案。

[顯示沒有資料的專案] 功能可讓您包含不包含量值數據的數據列和數據行(空白量值值)。

若要啟用 [顯示沒有資料的專案] 功能,請遵循下列步驟:

  1. 選取視覺效果。
  2. 在 [ ] 欄位中,以滑鼠右鍵按下字段,然後從出現的功能表中選取 [顯示沒有數據 的專案],如下圖所示:

Screenshot of the Fields menu, highlighting the Show items with no data feature.

下列情況下,[顯示沒有數據 功能的專案] 沒有任何作用:

  • 視覺效果中沒有加入任何量值,而且群組數據行來自相同的數據表。
  • 群組不相關。 Power BI 不會針對具有不相關群組的視覺效果執行查詢。
  • 量值與任何群組無關。 在此情況下,針對某些群組組合,量值永遠不會是空白的。
  • 有使用者定義的量值篩選會排除空白量值。 例如: SalesAmount > 0

警告

啟用選項以顯示沒有數據的專案可能會對效能造成負面影響,而且可能會導致視覺效果呈現緩慢或數據匯出逾時。

顯示沒有數據的項目的運作方式

[顯示沒有數據的專案] 最有趣的用法是量值存在時。 請考慮群組來自相同數據表的情況,或可透過模型中的路徑相關。 例如,ProductStyle 與 Product 直接相關,間接與 Sales 相關。 ProductStyleProductCategory 可以透過 Product 數據表相關。

讓我們看看幾個有趣的案例,並比較顯示 沒有數據 的專案何時關閉,然後開啟。

1. 將相同數據表的數據行分組:Product[Color] - Product[Size] - Sum(Sales[Quantity])

當 [顯示沒有資料功能的項目] 關閉時,其顯示方式:

Product[Color] Product[Size] Sum(Sales[Quantity])
藍色 15
藍色 Small 10

當 [顯示沒有資料功能的專案] 開啟時,其顯示方式:

Product[Color] Product[Size] Sum(Sales[Quantity])
藍色 大型
藍色 15
藍色 Small 10
大型

請注意兩個新的組合如何隨著功能開啟而顯示: 藍色 - 大紅色 - 大型。 這兩個專案在 Sales 數據表中都沒有對應的 Quantity。 不過,它們會顯示在 Product 數據表中

2. 將相關數據表的數據行分組:ProductStyle[Finish] - Product[Color] - Sum(Sales[Quantity])

當 [顯示沒有資料功能的項目] 關閉時,其顯示方式:

ProductStyle[Finish] Product[Color] Sum(Sales[Quantity])
光澤 藍色 10
磨 砂 藍色 15

當 [顯示沒有資料功能的專案] 開啟時,其顯示方式:

ProductStyle[Finish] Product[Color] Sum(Sales[Quantity])
光澤 藍色 10
光澤
磨 砂 藍色 15

請注意 Gloss-RedNone,空白如何顯示為組合。 以下是他們出現的原因:

  • Power BI 會先考慮 ProductStyle[Finish] ,然後選取要顯示的所有值,這會導致 GlossMatteNone
  • 使用上述每個值,Power BI 會選取所有對應的 Product[Color] 專案。
  • None 不會對應至任何 Product[Color],因此該值會出現空白。

請務必注意,選取數據行值的機制是依序的,而且可以視為 數據表之間的左外部聯結 作業。 如果數據行的順序已變更,結果也會變更。

現在查看變更順序的範例,以及其影響結果的方式。 此範例與本節中的第二個專案相同,順序已變更。

Product[Color] - ProductStyle[Finish] - Sum(Sales[Quantity])

這是顯示沒有資料功能的專案在下列項目上顯示的方式:

Product[Color] ProductStyle[Finish] Sum(Sales[Quantity])
藍色 光澤 10
藍色 磨 砂 15
光澤

請注意 ProductStyle[Finish]=None 不會顯示在數據表中的方式。 在此情況下,Power BI 會先選取 Product 數據表中的所有 Color 值。 然後,針對每個色彩,Power BI 會選取包含數據的對應 Finish 值。 由於 None 不會以任何色彩組合顯示,因此不會選取。

Power BI 視覺效果行為

當視覺效果中一個字段上未啟用任何數據的專案時,該功能會自動針對該相同視覺貯體或階層中的所有其他字段啟用。 可視化貯體或階層可以是其 AxisLegendCategoryRowsColumns

Screenshot of the Fields menu entries for axis and legend.

例如,在 [數據列] 貯體中有四個字段的矩陣視覺效果上,如果有一個字段未啟用任何數據顯示專案,則矩陣中的所有專案都會啟用。 在下圖中,[數據列] 貯體 [SupplierID] 欄位的第一個字段上會啟用 [顯示沒有數據的專案]。 Rows 貯體中的其他欄位也會自動啟用。

Screenshot of the fields menu, highlighting Show items with no data from the SupplierID shortcut menu.

相反地,[數據行] 貯體中顯示的 [歐洲大陸] 欄位沒有自動啟用任何數據的 [顯示專案]。

如果視覺效果轉換成不同的類型,例如將矩陣視覺效果轉換成數據表視覺效果,通常會看到這種視覺行為。 在這類轉換中 ,系統會自動針對任何已移至該貯體中已啟用功能之欄位的欄位啟用任何欄位的 [顯示專案 ] 。 在上一個範例中,如果 SupplierID 具有未啟用數據功能的 [顯示專案],且視覺效果已轉換成數據表,則 [數據行] 貯體中的 [歐洲大陸] 欄位會移至數據表視覺效果中使用的唯一貯體[] 貯體。 因此,[值] 貯體中的所有欄位都會啟用 [顯示未啟用資料的專案]。

匯出資料

當您使用匯出摘要數據功能時,顯示沒有數據功能之專案的行為與匯出轉換成數據表視覺效果的行為相同。 因此,當您匯出圖表矩陣視覺效果等視覺效果時,匯出的數據可能會與顯示的視覺效果不同。 此行為會導致轉換至數據表視覺效果,做為匯出程式的一部分,會啟用 [顯示未匯出所有字段的數據 的專案]。

範例資料模型

本節說明本文範例中使用的範例數據模型。

模型Diagram of the relationships in the data model.

資料:

Product[ProductId] Product[ProductName] Product[Color] Product[Size] Product[CategoryId] Product[StyleId]
1 Prod1 藍色 Small 1 7
2 Prod2 藍色 2 2
3 Prod3 大型 1 1
4 Prod4 藍色 大型 2 2
ProductCategory[CategoryId] ProductCategory[CategoryName]
1 電話
2 相機
3 TV
ProductStyle[StyleId] ProductStyle[Finish] ProductStyle[波蘭文]
1 光澤 Yes
2 磨 砂 No
3 No
Sales[SaleId] Sales[ProductId] Sales[Date] Sales[Quantity]
1 1 1/1/2012 0:00 10
2 2 1/1/2013 0:00 15

本文說明如何啟用 Power BI 中沒有資料 功能的顯示專案。 您可能也對下列文章感興趣: