資料模型關聯性

已完成

在傳統 Excel 報表中,使用者一般會用 VLOOKUP()、HLOOKUP() 或 INDEX/MATCH() 函式,將數個資料表中的不同欄位歸納為一個主要資料表。 此外,這些查閱還有其他補充的條件式計算,例如 SUMIFS()、AVERAGEIFS() 和 SUBTOTAL() 等等。

透過實作資料表之間的關聯性,資料模型可免除數個查閱的需求。 關聯性可讓現代分析師迅速分析數個資料表和大量資料。

關聯性設定

建立連結或匯入資料之前,請務必驗證目前的報表設定。 驗證步驟有助您節省設定時間,讓您不必另外移除自動偵測卻不正確的關聯性。

移至 [檔案>選項] 和 [>目前檔案] 資料載入>關聯性選項>

移至 [檔案] > [選項與設定] > [選項] > [目前檔案資料載入] > [關聯性]。

如果選取 [自動偵測新的關聯性] 核取方塊,則 Power BI 會在將資料表從 Power Query 載入模型後,試圖尋找並建立資料表之間的關聯性。 這項流程的依據為資料表和資料行名稱之間的相似性,但結果差強人意。

關聯性簡介

您可用線條連接兩個資料表來顯示關聯性。 只要將滑鼠游停留在線條上,兩個已建立關聯性的對應欄位就會以外框標出。 下方範例顯示 Quotes 資料表中的 CustID 欄位對應 Customers 資料表的 ID 欄位。

顯示 Quotes 資料表 CUSTID 欄位的螢幕擷取畫面範例。

此線條顯示的指標有助檢視人員掌握基數和交叉篩選方向,了解關聯性為使用中 (實線) 或非使用中 (虛線)。 此概念會於稍後詳細探討。

建立關聯性的方法迅速又簡單,各種方法亦有不同的等級,從詳細到簡易都有。

建立關聯性最簡單的方法是移至 [資料模型] 或 [圖表] 檢視,然後從一個資料表中將欄位拖曳至另一個資料表中的欄位。 資料模型會解讀兩個欄位之間的關聯性,如果相當明顯,則關聯性便會顯示。

建立關聯性另一種更詳盡的做法,是透過 [管理關聯性] 視窗。 您可在 Power BI [模型] 檢視的 [首頁] 索引標籤中存取此視窗,或在 Excel 的 [資料] 索引標籤中透過 [關聯性] 按鈕存取。

選取其中一個按鈕的初始檢視畫面,是資料模型中所有關聯性的摘要。

管理關聯性視窗的螢幕擷取畫面。

注意

Excel 的 [關聯性] 視窗包含相同資訊以及相同的選項,例如自動偵測功能。

您可從 [管理關聯性] 視窗選擇 [編輯] 現有關聯性,或建立 [新的] 關聯性。 兩個選項都會將您引導至相同的關聯性定義精靈。

若要用這種方式定義關聯性,請從下拉式清單選取兩個資料表,接著醒目提示對應的資料行/欄位來連結關聯性。 精靈會自動判斷關聯性的基數和交叉篩選方向。 您也可選擇是否要開始使用關聯性。

編輯關聯性視窗的螢幕擷取畫面。

注意

您可按住 Ctrl 鍵並選取欄位,用多個資料行定義關聯性。 各圖示旁會顯示數值,表示彼此的相關程度。

基數和交叉篩選方向這類複雜的設定會影響資料模型的效能、功能和使用容易度。

基數

基數設定會反映資料的方向和資料表彼此之間關聯的方式。 此關聯性可以是一對多 (1 到 *) 、一對一 (1 到 1) ,或多對多 (* 到 *) 。 這項定義描述同一型別的值在各資料表中出現的次數。

一對多

在一對多關聯性中,一個資料表中的唯一值會多次出現在另一資料表中。 這種關聯性最常用於資料模型。 舉例來說,一個擁有多種屬性的產品資料表,其屬性與某銷售資料表中的各項產品相關,該銷售資料表則包含各項產品的多個資料列。

一對一

在一對一關聯性中,一個值只會在兩個資料表中出現一次。 一對一關聯性並不常見,建立者通常會將一對一關聯性合併為單一資料表,便於在資料模型中使用。

多對多

在多對多關聯性中,取自相符資料行的唯一值會在兩個資料表中出現多次。 處理多對多關聯性時須審慎考量並運用先進技術,以便妥善管理。 剛開始使用 Power BI 時,請避免多對多關聯性,因為這種方法有時會產生與量值無關的結果。

交叉篩選方向

交叉篩選設定會為資料模型指示篩選條件在兩個資料表之間的傳播方式。 在 [模型] 檢視中,線條中間的箭頭代表交叉篩選方向。

使用中與非使用中

建議您定期在資料表之間設定多個關聯性 (例如銷售資料表中的訂單日期運送日期欄位,以及行事曆資料表的日期欄位)。 兩個資料表間一次只能有一個作用中的關聯性,但您可設定非使用中的關聯性,並在更進階的 Data Analysis Expressions (DAX) 量值中使用。