與您的資料建立關聯
關係是合併多個表中的資料以進行分析的動態彈性方式。關係會以常用欄位為基礎,描述兩個彼此相關的表,但不會將表合併在一起。在表之間建立關係時,表會保持獨立,以維持其各自的詳細資料層級和網域。
您可以將關係視為兩個表之間的合約。當您使用這些表中的欄位建立視覺效果時,Tableau 會使用這項合約從表中擷取資料,以便建立具有適當聯結的查詢。
瞭解更多:能夠使用關係合併資料是 Tableau 新資料建模功能的一個重要特性。有關詳細資訊,請參閱資料來源和分析的更新功能(連結在新視窗開啟)。您可以在以下 Tableau 部落格文章中瞭解關係如何工作的詳情:
觀看影片:有關在 Tableau 中使用關係的介紹,請觀看這段 5 分鐘的影片。
附註:此影片中顯示的編輯關係介面與當前版本略有不同,但功能相同。
Action Analytics(連結在新視窗開啟) 還提供有關在 Tableau 中使用關係的實用影片播客。有關介紹,請參閱 Tableau 為何發明關係?(連結在新視窗開啟)按一下 Action Analytics 網站內容庫(連結在新視窗開啟)中的「影片播客」以查看其他播客。
什麼是關係?
關係是指在資料來源中的邏輯資料表之間建立的彈性連接線。有些人會將關係暱稱為「關聯線」,但是我們在說明文件中通常會將之稱為「關係」。
在合併資料時,建議您以關係作為優先採用的方法,因為它可備妥資料,並且讓分析更加簡單而直覺化。在絕對必要時,才使用聯結(連結在新視窗開啟)。
與使用聯結相比,在多表格資料中使用關係具有多種優勢:
- 您不需要在資料表之間設定聯結類型(連結在新視窗開啟)。您只需要選取欄位以定義關係。
- 建立關聯的各表會保持獨立與差異,不會合併到單一表格中。
- 關係使用聯結,但會自動執行。Tableau 會根據視覺效果中所使用的欄位,自動選取聯結類型。在分析過程中,Tableau 會聰明地調整聯結類型,並保留資料中的本機詳細層級。
- Tableau 會根據工作表中所使用之欄位的目前內容,在分析過程中使用關係來產生正確的彙總與適當的聯結。
- 單一資料來源支援不同詳細資料層級的多個表格。您可以建立包含更多表的資料模型,藉此減少建立視覺效果所需的資料來源數量。
- 不相符的度量值不會捨棄(不會意外遺失資料)。
- 使用關係避免有時會因為聯集而導致的資料重複與篩選問題。
- Tableau 只會針對與目前檢視相關的資料產生查詢。
關係需求
- 建立表關聯時,定義關係的欄位必須具有相同的資料類型。
- 您無法根據地理欄位來定義關係。
- 資料模型中不支援循環關係。
- 您無法定義發行資料來源之間的關係。
限制使用相關表益處的因素:
- 表中的混雜資料(例如,表在建立之初未考量模型結構的妥善性,且混雜了多個表中的度量和維度)可能致使多例如,分析更為複雜。
- 使用資料來源篩選條件時,Tableau 在資料中執行聯結挑選的能力將會受限。「聯結挑選」一詞是指 Tableau 藉由移除不必要的聯結來簡化查詢的機制。
- 表中包含許多在各關係間不相符的值。
- 在 Tableau 版本 2024.2 及更高版本中,可以對共用維度進行建模並使用多事實關係的多個基底資料表。有關詳情,請參閱關於多事實關係資料模型(連結在新視窗開啟)、何時使用多事實關係模型(連結在新視窗開啟)與建置多事實關係資料模型(連結在新視窗開啟)。
無法建立關聯的資料
完全支援大多數關係連線類型。Cubes、SAP HANA(具有 OLAP 屬性)、JSON 和 Google Analytics (分析) 在 Tableau 2020.2 中受限於只能使用單一邏輯資料表。預存程序只能在單一邏輯資料表中使用。
已發佈的資料來源無法相互關聯。
不支援
- 多維資料庫不支援新的邏輯層。連線到 Cube 可提供與 2020.2 之前相同的體驗。
- 預存程序:不支援同盟、關係或聯結。它們呈現在單一邏輯資料表中,且不允許開啟「聯結/聯集」畫布(實體層)。
- Splunk:不支援左聯結(因此,會與邏輯資料表建立關聯)。
- JSON:不支援同盟、自訂 SQL、聯結或關係(僅支援聯集)。
- 不支援 LOD 計算的資料來源。有關詳情,請參閱詳細層級運算式的資料來源約束(連結在新視窗開啟)。
有限支援
- Salesforce 和 WDC 標準連線:這些連線以邏輯資料表中的聯結表呈現。目前僅支援在單一邏輯表資料來源中新增這些連線。標準連線無法聯結到現有的表。
- SAP HANA:當連線具有 OLAP 屬性集時,目前不支援相關邏輯資料表。
建立和定義關係
如果是單一基底資料表模型,在將第一個資料表拖曳到資料來源的頂層畫布後,拖曳到畫布上的每個新資料表都必須與現有資料表相關。為邏輯層中的表建立關係時,您也建立起了資料來源的資料模型。
在版本 2024.2 及之後版本中:如果是多基底資料表模型,每個新增至模型資料表必須在至少一個基底樹中關聯。有關更多資訊,請參閱 建構多重要素關係資料模型(連結在新視窗開啟)。
建立關係
您是在資料來源的邏輯層建立關係。以下為您在「資料來源」頁面中看到的預設檢視畫布。
本主題中的步驟旨在解決如何為單一基底資料表模型設定關係。
在版本 2024.2 及之後版本中,可以建立單一基底資料表模型或多基底資料表模型。有關如何使用多基底資料表建立多重要素關係的資訊,請參閱 建構多重要素關係資料模型(連結在新視窗開啟)。
- 將一個表拖曳至畫布上。
如果是單一基底資料表模型:新增到畫布的第一個資料表將成為基底資料表。新增的所有其他資料表都將與該資料表關聯。
如果是多基底資料表模型:需要確定哪些資料表是基底資料表。要建立另一個基底資料表,請將資料表從左窗格拖曳到 新基底資料表拖放區域。有關更多資訊,請參閱 建構多重要素關係資料模型(連結在新視窗開啟)。
- 將其他表拖曳至畫布上。看到兩個資料表之間出現「關聯線」後,放下那個資料表。
關係設定在「表格詳細資料」窗格中的畫布下方開啟。Tableau 會自動嘗試根據現有索引鍵限制和相符欄位來建立關係,進而定義關係。若 Tableau 無法確定相符欄位,就必須由您選取。
要變更欄位:選取欄位組,然後從下方的欄位清單中進行選取以設定一組新的配對欄位。
要新增多個欄位組:請在選取第一組之後,按一下「關閉」,然後按一下「新增更多欄位」。
如果未偵測到約束,則會建立多對多關係,且參考完整性會設定為「部分記錄相符」。這些預設設定是安全的選項,並且可為您的資料來源提供彈性。預設設定支援完整外部聯結,並可藉由在分析期間形成聯結之前彙總表資料,來優化查詢。每個表中的所有欄和列資料將可用於分析。
在許多分析案例中,對關係使用預設設定可為您提供分析所需的所有資料。即使您的資料是多對一或一對一,您也可以使用多對多關係。如果您瞭解資料的特殊基數和參考完整性,可以調整效能選項設定(連結在新視窗開啟),以便更精確地描述您的資料,並最佳化 Tableau 查詢資料庫的方式。
依需要按照相同的步驟新增其他表格。
在建立了含有多個表且互有相關的資料來源後,您就可以深入探索該筆資料了。有關詳情,請參閱使用關係的多表資料來源的分析方式與多資料表分析疑難排解(連結在新視窗開啟)。
附註:Salesforce 連接器不支援不等比較運算子。從版本 2021.4 開始,Google Big Query 和 MapR 連接器支援不等聯結。MapR 連接器自版本 2022.3 起已棄用。
移動表格以建立其他關係
若要移動表格,請將其拖曳至其他表格旁邊。或暫留在表上,選取箭頭,然後選取「移動」。
提示:將表格拖曳至另一個表格的頂部以取代它。
變更資料模型的根目錄資料表或基底資料表
可以將根目錄資料表(版本 2020.2 至 2024.1)或基底資料表(版本 2024.2 及之後版本)與另一個下游資料表交換。以右鍵按一下資料模型中的另一個邏輯資料表,然後選取「與根目錄資料表交換」或「與基底資料表(資料表名稱)交換」,以進行變更。
從關係中移除表格
如要移除表,請暫留在表上,選取箭頭,然後選取「移除」。
刪除畫布中的表後,也將自動刪除其相關的下級。
檢視關係
- 將游標暫留在關係線(關聯線)上可查看定義該關係的相符欄位。您也可以將游標暫留在任何邏輯資料表上以查看的內容。
編輯關係
- 選取關係線可在「資料表詳細資料」窗格中開啟關係設定。您可以新增、變更或移除用來定義關係的欄位。新增更多欄位對可建立複合關係。
- 要新增多個欄位組:請在選取第一組之後,按一下「關閉」,然後按一下「新增更多欄位」。
建立關係的提示
- 拖曳至畫布的第一個表將成為資料來源中的資料模型的根目錄資料表或基底資料表。拖曳基底資料表後,即可按任意順序拖曳更多資料表。您必須考量哪些表應相互關聯,以及您為每個關係定義的相符欄位配對。
- 在開始建立關係之前,建議您在分析之前或期間檢視資料來源中的資料,以便對各表的範圍取得大致瞭解。有關詳情,請參閱檢視基礎資料。如果關係無效,您也可以使用「檢視資料」查看表格的基礎資料。
- 如果正在處理星型結構描述中的資料,先將事實資料表拖曳出來以使其成為基底資料表,然後將維度表與該基底資料表關聯會很有幫助。
- 每個關係都必須至少由一個相符的欄位對組成。新增多個欄位對可建立複合關係。基礎資料庫中的配對組必須具有相同的資料類型。變更「資料來源」頁面中的資料類型,並不會變更此需求。Tableau 仍將使用資料庫中的資料類型進行查詢。
- 關係可以基於計算欄位。定義關係時,還可以透過使用運算子指定應如何比較欄位。
- 刪除畫布中的表後,也將自動刪除其相關的下級。
- 可以將根目錄資料表(版本 2020.2 至 2024.1)或基底資料表(版本 2024.2 及之後版本)與另一個下游資料表交換。以右鍵按一下資料模型中的另一個邏輯資料表,然後選取「與根目錄資料表交換」或「與基底資料表(資料表名稱)交換」以進行變更。
驗證資料來源中的關係
有多個選項可用來驗證資料模型以進行分析。當您為資料來源建立模型時,我們建議前往工作表,選取該資料來源,然後建置視覺效果以探索記錄計數、不符的值、null 值或重複的度量值。請嘗試使用不同表中的欄位,以確定一切行為都如您所預期。
要查找的內容:
- 您在資料模型中的關係是否使用符合其表的正確欄位?
- 將不同的維度和度量拖曳至檢視中,會產生什麼結果?
- 您是否看到預期的列數?
- 複合關係會使關係更準確嗎?
- 如果您將任何效能選項設定變更為非預設的設定,在視覺效果中的值是否符合預期?如果沒有,請檢查設定,或重設為預設值。
驗證關係與資料模型的選項:
- 每個表在該表的詳細層級都會包含其記錄的計數,以名為 TableName(Count) 的欄位表示。若要查看表的計數,請將「計數」欄位拖曳至檢視中。若要查看所有表的計數,請在「資料」窗格中,選取每個表的「計數」欄位,然後按一下「顯示」中的「文字表」。
- 按一下「資料」窗格中的「檢視資料」,以查看每個表的列數和資料。此外,在開始建立關係之前,在分析之前或期間檢視資料來源中的資料,可能有助於您瞭解每個表的範圍。有關詳情,請參閱檢視基礎資料(連結在新視窗開啟)。
- 將維度拖曳到列,以查看狀態列中的「列數」。若要查看不符合的值,請按一下「分析」功能表,然後選取「表配置」>「顯示空列」或「顯示空欄」。您也可以將不同的維度拖曳到檢視,例如,視覺效果中呈現之其中一個表的 <YourTable>(Count)。這樣可確保您看見來自該表之維度的所有值。
提示:若要查看針對關係所產生的查詢,可以使用 Tableau Desktop 中的效能記錄程式。
- 按一下「說明」功能表,然後選取「設定和效能」>「啟動效能記錄」。
- 將欄位拖曳到檢視中以建立視覺效果。
- 按一下「說明」功能表,然後選取「設定和效能」>「停止效能記錄」。
- 在「效能摘要」儀表板窗格中的「依時間排序的事件」下,按一下「執行查詢」列,並檢視下方查詢。
另一個更進階的選項,是使用 GitHub 上的 Tableau 記錄檢視器(連結在新視窗開啟)。您可以使用 end-protocol.query
來篩選特定關鍵字。有關詳情,請先參閱 GitHub 中的 Tableau 記錄檢視器 Wiki 頁面(連結在新視窗開啟)。
僅維度視覺效果
將多表資料來源與相關資料表搭配使用時:如果建置僅維度的視覺效果,Tableau 會使用內部聯結,而且您無法看到完整的不相符網域。
若要查看維度值的部分組合,您可以:
- 使用「顯示空列/欄」以查看所有可能的列。按一下「分析」功能表,然後選取「表配置」>「顯示空列」或「顯示空欄」。
- 將度量新增到檢視中,例如,視覺效果中呈現之其中一個表的 <YourTable>(Count)。這樣可確保您看見來自該表之維度的所有值。
有關詳情,請參閱多表與單一表資料來源的分析(連結在新視窗開啟)和多資料表分析疑難排解(連結在新視窗開啟)。
關係(邏輯表)與聯結(實體表)
儘管相似,但聯結和關係在 Tableau 中的行為是不同的,而且是在資料模型的不同層定義的(連結在新視窗開啟)。您可以在資料來源之上層邏輯層中的邏輯表之間建立關係。您可以在資料來源實體層的實體表之間建立聯結。
在分析開始之前,聯結會將兩個表的資料合併到單一表中。將表合併在一起可能會導致從單一或兩個表中複製或篩選資料;如果您使用左、右或完全外部聯結,也可能會導致資料中新增 NULL 列。對聯結資料進行分析時,您必須確保正確處理聯結對資料的影響。
附註:可能需要複製或篩選聯結的效果時,請使用聯結將資料表合併在一起,而不是使用關係。按兩下邏輯資料表以開啟實體層並新增聯結的表。
關係會描述兩個獨立的表彼此如何關聯,但不會將表合併在一起。這樣可以避免聯結中可能出現的資料重複和篩選問題,也能讓您更輕鬆地處理資料。
關係 | 聯結 |
---|---|
在關係畫布(邏輯層)中的邏輯資料表之間定義 | 在聯結/聯集畫布(實體層)的實體資料表之間定義 |
您不需要定義聯結類型 | 需要聯結規劃和聯結類型 |
類似於聯結或聯集表的容器 | 已合併到其邏輯表中 |
僅查詢與視覺效果相關的資料。可以調整基數和參考完整性設定以最佳化查詢。 | 做為每個查詢的一部分執行 |
詳細層級位於視覺效果的彙總 | 詳細層級位於單一表的列層級 |
聯結類型是 Tableau 根據分析內容自動形成。Tableau 會根據視覺效果中的度量和維度決定所需聯結。 | 聯結類型是靜態的,而且在資料來源中是固定的,與分析內容無關。聯結和聯集是在分析之前建立的,而且不會變更。 |
列不重複 | 合併的表資料可能會導致重複 |
除非明確排除,否則彙總會包含不相符的記錄 | 合併資料中會省略不相符的記錄 |
在多個詳細資料層級建立獨立網域 | 支援需要單一資料表的情境,例如擷取篩選條件和彙總 |
關係與混合
雖然關係和混合皆支援不同詳細層級的分析,但它們有明顯的差異。透過關係使用混合的其中一個原因是為了合併發行資料來源以供分析使用。
關係 | 混合 |
---|---|
定義於資料來源 | 定義於主要資料來源和次要資料來源之間的工作表 |
可發布 | 無法發布 |
所有表在語意上皆相等 | 取決於主資料來源和輔助資料來源的選擇,以及這些資料來源的架構方式。 |
支援完整外部聯結 | 僅支援左聯結 |
本機運算 | 做為 SQL 查詢的一部分進行運算 |
相關欄位已修復 | 相關欄位因工作表而各不相同(可以按照工作表逐一自訂) |
合併資料的不同選項功能:關係、聯結和混合
有許多方式可以合併資料表,且每種方式都有其首選方案和細微差別。
建立關聯 | 合併不同詳細層級的資料時,會使用此功能。
|
聯結 | 當您想要跨相同列結構新增多欄資料時,會使用此功能。
|
聯集 | 當您想新增更多具有相同欄結構的資料列時,會使用此功能。
|
混合 | 合併不同詳細層級的資料時,會使用此功能。
|