如果您要將表格式模型當做 Power View 的資料模型使用,可以設定資料表行為屬性,在更細微的層級公開詳細資料列。 設定資料表行為屬性會變更詳細資料列的群組行為,並讓識別資訊 (例如姓名、相片識別碼或標誌影像) 在圖格、卡片和圖表版面配置中有更好的預設位置。
Power View 不同於其他報表應用程式,因為它會在報表設計期間自動群組項目,方法是根據您所使用的呈現格式來評估您將哪些資料行放在報表欄位清單中。 在大多數情況下,預設群組行為會產生最佳的結果。 但對於某些資料表 (主要是包含詳細資料的資料表),預設群組行為有時會將不應群組的資料列群組在一起。 如果是這類資料表,您可以設定屬性來變更評估群組的方式。
建議針對個別資料列為主要目的的資料表 (例如員工或客戶記錄),設定資料表行為屬性。 反之,某些資料表不會受惠於這些屬性,包括做為查閱資料表的資料表 (例如,日期資料表、產品目錄資料表或部門資料表,這類資料表包含相當少量的資料列和資料行),或包含只在進行摘要時產生重點之資料列的摘要資料表 (例如,依性別、年齡或地理位置積存的人口普查資料)。 對於查閱和摘要資料表,預設群組行為會產生最佳的結果。
[!附註]
資料表行為屬性只會影響 Power View 中當做資料模型使用的表格式模型。 Excel 樞紐分析報表中不支援資料表行為屬性。
資料表行為屬性包含下列項目:
資料列識別碼:指定只包含唯一值的資料行,允許該資料行做為內部群組索引鍵使用。
保留唯一資料列:指定哪些資料行提供應視為唯一的值,即使是重複值也一樣 (例如,員工姓氏和名字,以因應兩個以上同名員工的案例)。
預設標籤:指定哪個資料行提供代表資料列資料的顯示名稱 (例如員工記錄的員工姓名)。
預設影像:指定哪個資料行提供代表資料列資料的影像 (例如員工記錄的相片識別碼)。
[!附註]
請參閱下列章節,以了解從特定呈現格式觀點讓配置最佳化的方式:<為特定配置最佳化>。
開啟資料表行為對話方塊
在 SQL Server Data Tools (SSDT) 中,按一下您要設定預設欄位清單的資料表 (標籤)。
在 [屬性] 視窗中,於 [資料表行為] 屬性上按一下 [按一下可編輯]。
在 [資料表行為] 對話方塊中,設定 [資料列識別碼],然後在此對話方塊中指定其他屬性。
設定資料列識別碼屬性
在資料表內,資料列識別碼會指定只包含唯一值且沒有空白值的單一資料行。 [資料列識別碼] 屬性是用來變更群組,使其不根據資料列的欄位組成,而是根據永遠用來唯一識別資料列的固定資料行 (無論特定報表配置中使用的欄位為何)。
設定此屬性會將預設群組行為從動態群組變更為固定群組行為,前者根據畫布中出現的資料行,後者則會根據資料列識別碼進行摘要。 變更預設群組行為與報表配置相關,例如針對資料列中的每個資料行進行群組 (或顯示小計) 的矩陣。
在 Power View 中設定資料列識別碼會啟用下列其他屬性:[保留唯一資料列] 屬性、[預設標籤] 屬性和 [預設影像] 屬性。
您也可以單獨使用 [資料列識別碼] 屬性,以啟用下列功能:
在報表中使用二進位影像。 在移除資料列唯一性模稜兩可的情況後,Power View 就可以判斷如何為給定資料列指派預設影像和預設標籤。
從矩陣報表中移除不必要的小計。 欄位層級的預設群組會針對每個欄位建立小計。 如果您只要在資料列層級計算的單一小計,設定 [資料列識別碼] 會產生此結果。
已標記為日期資料表的資料表不能設定資料列識別碼。 日期資料表的資料列識別碼是在標記為日期資料表時指定。 如需詳細資訊,請參閱<標記為日期資料表對話方塊 (SSAS)>。
設定保留唯一資料列屬性
這個屬性可讓您指定哪些資料行以區分資料列的方式來傳達識別資訊 (例如員工姓名或產品代碼)。 在多個資料列看起來相同的案例中 (例如兩個同名的客戶),您為這個屬性指定的資料行會在報表資料表中重複。
根據加入至報表中的資料行而定,您可能會發現有些資料列視為相同的資料列,因為每個資料列中的值看起來相同 (例如兩個客戶姓名都是 Jon Yang)。 這可能是因為提供差異化的其他資料行 (例如中間名、地址或生日) 不在報表畫布中。 在這類案例中,預設行為是將明顯相同的資料列群組為單一資料列,而且從合併的資料列中將任何計算值摘要為一個較大的結果。
藉由設定 [保留唯一資料列] 屬性,您可以指定每當加入至報表畫布時,一個或多個永遠應該重複的資料行,即使有重複的例項也一樣。 與資料列相關聯的計算值現在會根據每個個別的資料列來配置,而不積存至單一資料列。 當您為 [保留唯一資料列] 屬性選擇資料行時,請選擇包含唯一值或幾乎是唯一值的資料行。
[!附註]
因為使用者選取的資料行會影響群組,因而變更運算式計算的篩選內容,所以模型設計人員必須費心思,建立可傳回正確結果的量值。 如需詳細資訊,請參閱<Power View 常見問題集>。
設定預設標籤
此屬性會指定在圖格報表的導覽帶中顯示的標籤。 與預設影像一起使用時,預設標籤會出現在影像之下。 如果沒有影像,則會顯示預設標籤本身。 選擇預設標籤時,請選擇最能傳達資料列資訊的資料行 (例如姓名)。
在圖格配置中,預設標籤會出現在影像下方的標題區域中,如同 [預設影像] 屬性所定義。 例如,如果有員工清單,可以使用相片識別碼做為預設影像,員工姓名做為預設標籤,並排顯示員工資訊。 在圖格中,預設標籤會出現在預設影像之下。 這些資料行一定會出現在圖格中,即使您並未在報表欄位清單中明確選取也是一樣。
設定預設影像
此屬性會指定在圖格報表的導覽帶中或是卡片前面顯示的影像。 當您在報表中選取包含預設影像的資料行時,預設影像會出現在圖格報表配置的導覽帶中或是卡片前面。 預設影像應該是視覺內容。 範例包含員工資料表中的相片識別碼、客戶資料表中的客戶標誌,或地理位置資料表中的國家 (地區) 圖案。
[!附註]
影像來源可以是 Web 伺服器上影像檔的 URL 位址,或活頁簿中內嵌的二進位資料。 如果影像是以 URL 為來源,請務必也將資料行設定為影像類型,才能讓 Power View 擷取影像,而不會在報表中將 URL 顯示為文字資料。
為特定配置最佳化
本節從特定呈現格式和資料特性的觀點,描述設定資料表行為屬性的影響。 例如,如果您嘗試微調矩陣報表的配置,可以利用此資訊,了解如何在模型中使用資料表行為屬性來改進矩陣呈現。
遺漏影像
在模型中所設定的屬性會決定影像在報表中視覺化,還是在報表中表示為文字值。
.gif)
根據預設,模型中的文字會在報表中解譯為文字。 如果文字資料行是報表影像的 URL 位址,請記得設定 [影像 URL] 屬性,好讓 Power View 擷取影像檔。 如果是二進位影像,請記得設定 [資料列識別碼] 屬性。
資料表遺漏一個或多個資料列
有時預設群組行為會產生與預期相反的結果;具體地說,出現在模型中的詳細資料列未出現在報表中。 根據預設,Power View 會將您加入至畫布中的資料行進行群組。 如果您將國家 (地區) 名稱加入至報表,每個國家 (地區) 在畫布中只出現一次,即使基礎資料表中可能有數千個資料列包含每個國家 (地區) 名稱的多個例項也一樣。 在這個案例中,預設的群組行為會產生正確的結果。
但假設不同的範例中,您可能要顯示某個資料列的多個例項,因為基礎資料列事實上包含不同實體的資料。 在此範例中,假設有兩個客戶的姓名都是 Jon Yang。 使用預設群組行為時,報表中只會顯示一個 Jon Yang 例項。 而且因為清單中只顯示一個例項,所以 [年收入] 量值是兩個客戶的該值總和。
.gif)
若要變更預設群組行為,請設定 [資料列識別碼] 和 [保留唯一資料列] 屬性。 在 [保留唯一資料列] 中,選擇 [姓氏] 資料行,讓資料列可重複此值,即使在其他資料列中已經出現此值也一樣。 在變更屬性及重新發行活頁簿之後,您可以建立相同的報表,不過此時會顯示兩個同名客戶 Jon Yang,並為每個客戶正確配置年收入。
.gif)
矩陣配置太擁擠
在矩陣中呈現詳細資料表時,預設群組會針對每個資料行提供摘要值。 根據您的目標而定,這些摘要可能多於所需之量。 若要變更此行為,您可以設定 [資料列識別碼]。 不需要設定其他屬性;僅設定資料列識別碼就足以變更群組行為,以便根據唯一資料列識別碼來計算每個資料列的摘要。
下列兩張圖比較為矩陣配置設定此屬性之前和之後的影響。
之前:預設群組行為根據矩陣中的欄位
.gif)
之後:群組行為根據資料列識別碼
.gif)
圖表在軸上顯示太多項目和層級
顯示詳細資料的圖表報表應該使用資料列識別碼做為軸。 如果不使用資料列識別碼,軸是未定的,因而產生可能沒有意義的最佳猜測配置。 若要變更此行為,您可以設定 [資料列識別碼]。 不需要設定其他屬性;僅設定資料列識別碼就足以變更群組行為,以便根據唯一資料列識別碼來計算每個資料列的摘要。
下列兩張圖比較為圖表配置設定此屬性之前和之後的影響。 它是同一份報告,具有相同的欄位和呈現格式。 唯一差異在於下方影像顯示 Items 資料表上設定 [資料列識別碼] 之後的報表。
之前:預設群組行為根據圖表中的欄位
.gif)
之後:群組行為根據資料列識別碼 (資料列識別碼變成軸)
.gif)
後續步驟
在評估模型中的資料表,並對包含永遠應該顯示為個別項目之詳細資料列的資料表設定資料表行為屬性之後,您可以進一步透過其他屬性或設定來最佳化模型。