與您的資料建立關聯

關係是合併多個表中的資料以進行分析的動態彈性方式。關係會以常用欄位為基礎,描述兩個彼此相關的表,但不會將表合併在一起。在表之間建立關係時,表會保持獨立,以維持其各自的詳細資料層級和網域。

您可以將關係視為兩個表之間的合約。當您使用這些表中的欄位建立視覺效果時,Tableau 會使用這項合約從表中擷取資料,以便建立具有適當聯結的查詢。

瞭解更多:能夠使用關係合併資料是 Tableau 新資料建模功能的一個重要特性。有關詳細資訊,請參閱資料來源和分析的更新功能。您可以在以下 Tableau 部落格文章中瞭解關係如何工作的詳情:

觀看影片:有關在 Tableau 中使用關係的介紹,請觀看這段 5 分鐘的影片。

附註:此影片中顯示的編輯關係介面與當前版本略有不同,但功能相同。

Action Analytics(連結在新視窗開啟) 還提供有關在 Tableau 中使用關係的實用影片播客。有關介紹,請參閱 Tableau 為何發明關係?(連結在新視窗開啟)按一下 Action Analytics 網站內容庫(連結在新視窗開啟)中的「影片播客」以查看其他播客。

什麼是關係?

關係是指在資料來源中的邏輯資料表之間建立的彈性連接線。有些人會將關係暱稱為「關聯線」,但是我們在說明文件中通常會將之稱為「關係」。

在合併資料時,建議您以關係作為優先採用的方法,因為它可備妥資料,並且讓分析更加簡單而直覺化。在絕對必要時,才使用聯結(連結在新視窗開啟)

與使用聯結相比,在多表格資料中使用關係具有多種優勢:

  • 不需要在表之間設定聯結類型(連結在新視窗開啟)。您只需要選取欄位以定義關係。
  • 建立關聯的各表會保持獨立與差異,不會合併到單一表格中。
  • 關係使用聯結,但會自動執行。Tableau 會根據視覺效果中所使用的欄位,自動選取聯結類型。在分析過程中,Tableau 會聰明地調整聯結類型,並保留資料中的本機詳細層級。
  • Tableau 會根據工作表中所使用之欄位的目前內容,在分析過程中使用關係來產生正確的彙總與適當的聯結。
  • 單一資料來源支援不同詳細資料層級的多個表格。您可以建立包含更多表的資料模型,藉此減少建立視覺效果所需的資料來源數量。
  • 不相符的度量值不會捨棄(不會意外遺失資料)。
  • 可避免有時會因為聯結而導致的資料重複與篩選問題。
  • Tableau 只會針對與目前檢視相關的資料產生查詢。

關係需求

  • 建立表關聯時,定義關係的欄位必須具有相同的資料類型。
  • 您無法根據地理欄位來定義關係。
  • 資料模型中不支援循環關係。
  • 您無法定義發行資料來源之間的關係。

使用建立關係的表格時,造成優勢受限的因素:

  • 表中的混雜資料(例如,表在建立之初未考量模型結構的妥善性,且混雜了多個表中的度量和維度)可能致使多例如,分析更為複雜。
  • 使用資料來源篩選條件時,Tableau 在資料中執行聯結挑選的能力將會受限。「聯結挑選」一詞是指 Tableau 藉由移除不必要的聯結來簡化查詢的機制。
  • 表中包含許多在各關係間不相符的值。
  • 將多個事實資料表與多個維度表相互關聯(嘗試對共用或一致的維度建模)。

無法建立關聯的資料

完全支援大多數關係連線類型。Cubes、SAP HANA(具有 OLAP 屬性)、JSON 和 Google Analytics (分析) 在 Tableau 2020.2 中受限於只能使用單一邏輯資料表。預存程序只能在單一邏輯資料表中使用。

已發佈的資料來源無法相互關聯。

不支援

  • 多維資料庫不支援新的邏輯層。連線到 Cube 可提供與 2020.2 之前相同的體驗。
  • 預存程序:不支援同盟、關係或聯結。它們呈現在單一邏輯資料表中,且不允許開啟「聯結/聯集」畫布(實體層)。
  • Splunk:不支援左聯結(因此,會與邏輯資料表建立關聯)。
  • JSON:不支援同盟、自訂 SQL、聯結或關係(僅支援聯集)。
  • 不支援 LOD 計算的資料來源。有關詳情,請參閱詳細層級運算式的資料來源約束

有限支援

  • Salesforce 和 WDC 標準連線:這些連線以邏輯資料表中的聯結表呈現。目前僅支援單一邏輯資料表資料來源新增這些連線。標準連線無法聯結到現有的表。
  • SAP HANA:當連線具有 OLAP 屬性集時,目前不支援相關邏輯資料表。

建立和定義關係

將第一個表拖到資料來源的上層畫布之後,拖到畫布上的每個新表都必須與現有表相關。為邏輯層中的表建立關係時,您也建立起了資料來源的資料模型。

附註在 Tableau 2020.3 以及更高版本中,您可以根據導出欄位建立關係,並使用關係定義中的運算子比較用於關係的欄位。

建立關係

您是在資料來源的邏輯層建立關係。以下為您在「資料來源」頁面中看到的預設檢視畫布。

附註:Salesforce 連接器不支援不等比較運算子。從版本 2021.4 開始,Google Big Query 和 MapR 連接器支援不等聯結。MapR 連接器自版本 2022.3 起已棄用。

  1. 將一個表拖曳至畫布上。

  2. 將其他表拖曳至畫布上。看到兩個表之間出現「關聯線」時,放下表格。

    「編輯關係」對話方塊隨即開啟。Tableau 會自動嘗試根據現有索引鍵限制和相符欄位來建立關係,進而定義關係。若 Tableau 無法確定相符欄位,就必須由您選取。

    變更欄位:請選取欄位對,然後按一下下方的欄位清單來選取新的相符欄位對。

    若要新增欄位對:請在選取第一對之後,按一下「關閉」,然後按一下「新增更多欄位」

    如果未偵測到約束,則會建立多對多關係,且參考完整性會設定為「部分記錄相符」。這些預設設定是安全的選項,並且可為您的資料來源提供彈性。預設設定支援完整外部聯結,並可藉由在分析期間形成聯結之前彙總表資料,來優化查詢。每個表中的所有欄和列資料將可用於分析。

    在許多分析案例中,對關係使用預設設定可為您提供分析所需的所有資料。即使您的資料是多對一或一對一,您也可以使用多對多關係。如果您瞭解資料的特殊基數和參考完整性,可以調整效能選項設定(連結在新視窗開啟),以便更精確地描述您的資料,並最佳化 Tableau 查詢資料庫的方式。

  3. 依需要按照相同的步驟新增其他表格。

    將表格拖曳畫布上的過程

在建立了含有多個表且互有相關的資料來源後,您就可以深入探索該筆資料了。有關詳情,請參閱使用關係的多表資料來源的分析方式多資料表分析疑難排解

移動表格以建立其他關係

若要移動表格,請將其拖曳至其他表格旁邊。或將游標暫留在表上,按一下箭頭,然後選取「移動」

將表格新增到畫布並移動它以建立與不同表格的關係過程

提示:將表格拖曳至另一個表格的頂部以取代它。

變更資料模型的根資料表

要將根資料表與另一個資料表交換:以右鍵按一下資料模型中的另一個邏輯資料表,然後選取與根資料表交換以進行變更。

從關係中移除表格

如要移除表格,請將游標暫留在表上,按一下箭頭,然後選取「移除」

從畫布中移除表格的過程

刪除畫布中的表後,也將自動刪除其相關的下級。

檢視關係

  • 將游標暫留在關係線(關聯線)上可查看定義該關係的相符欄位。您也可以將游標暫留在任何邏輯資料表上以查看的內容。

    暫留在表格上以顯示表格之間如何相互關聯的過程

編輯關係

  • 按一下關係線即可開啟「編輯關係」對話方塊。您可以新增、變更或移除用來定義關係的欄位。新增更多欄位對可建立複合關係。

    若要新增欄位對:請在選取第一對之後,按一下「關閉」,然後按一下「新增更多欄位」

    將預設關係編輯為其他關係的過程

建立關係的提示

  • 拖曳至畫布的第一個表將成為資料來源中的資料模型的根表。拖曳根表後,即可按任意順序拖曳更多表。您必須考量哪些表應相互關聯,以及您為每個關係定義的相符欄位配對。
  • 在開始建立關係之前,建議您在分析之前或期間檢視資料來源中的資料,以便對各表的範圍取得大致瞭解。有關詳情,請參閱檢視基礎資料。如果關係無效,您也可以使用「檢視資料」查看表格的基礎資料。
  • 如果您要建立星型架構,建議您先將事實資料表拖出,然後再建立維度表與該表的關聯。
  • 每個關係都必須至少由一個相符的欄位對組成。新增多個欄位對可建立複合關係。相符的對必須具有相同的資料類型。變更「資料來源」頁面中的資料類型,並不會變更此需求。Tableau 仍將使用基礎資料庫中的資料類型進行查詢。
  • 關係可以基於計算欄位。定義關係時,還可以透過使用運算子指定應如何比較欄位。
  • 刪除畫布中的表後,也將自動刪除其相關的下級。
  • 可以將根資料表與另一個資料表交換。以右鍵按一下資料模型中的另一個邏輯資料表,然後選取與根資料表交換以進行變更。

驗證資料來源中的關係

有多個選項可用來驗證資料模型以進行分析。當您為資料來源建立模型時,我們建議前往工作表,選取該資料來源,然後建置視覺效果以探索記錄計數、不符的值、null 值或重複的度量值。請嘗試使用不同表中的欄位,以確定一切行為都如您所預期。

要查找的內容:

  • 您在資料模型中的關係是否使用符合其表的正確欄位?
  • 將不同的維度和度量拖曳至檢視中,會產生什麼結果?
  • 您是否看到預期的列數?
  • 複合關係會使關係更準確嗎?
  • 如果您將任何效能選項設定變更為非預設的設定,在視覺效果中的值是否符合預期?如果沒有,請檢查設定,或重設為預設值。

驗證關係與資料模型的選項:

  • 每個表在該表的詳細層級都會包含其記錄的計數,以名為 TableName(Count) 的欄位表示。若要查看表的計數,請將「計數」欄位拖曳至檢視中。若要查看所有表的計數,請在「資料」窗格中,選取每個表的「計數」欄位,然後按一下「顯示」中的「文字表」。
  • 按一下「資料」窗格中的「檢視資料」,以查看每個表的列數和資料。此外,在開始建立關係之前,在分析之前或期間檢視資料來源中的資料,可能有助於您瞭解每個表的範圍。有關詳情,請參閱檢視基礎資料
  • 將維度拖曳到列,以查看狀態列中的「列數」。若要查看不符合的值,請按一下「分析」功能表,然後選取「表配置」>「顯示空列」「顯示空欄」。您也可以將不同的維度拖曳到檢視,例如,視覺效果中呈現之其中一個表的 <YourTable>(Count)。這樣可確保您看見來自該表之維度的所有值。

提示:若要查看針對關係所產生的查詢,可以使用 Tableau Desktop 中的效能記錄程式。

  1. 按一下「說明」功能表,然後選取「設定和效能」>「啟動效能記錄」
  2. 將欄位拖曳到檢視中以建立視覺效果。
  3. 按一下「說明」功能表,然後選取「設定和效能」>「停止效能記錄」
  4. 在「效能摘要」儀表板窗格中的「依時間排序的事件」下,按一下「執行查詢」列,並檢視下方查詢。

另一個更進階的選項,是使用 GitHub 上的 Tableau 記錄檢視器(連結在新視窗開啟)。您可以使用 end-protocol.query 來篩選特定關鍵字。有關詳情,請先參閱 GitHub 中的 Tableau 記錄檢視器 Wiki 頁面(連結在新視窗開啟)

僅維度視覺效果

將多表資料來源與相關資料表搭配使用時:如果建置僅維度的視覺效果,Tableau 會使用內部聯結,而且您無法看到完整的不相符網域。

若要查看維度值的部分組合,您可以:

  • 使用「顯示空列/欄」以查看所有可能的列。按一下「分析」功能表,然後選取「表配置」>「顯示空列」「顯示空欄」
  • 將度量新增到檢視中,例如,視覺效果中呈現之其中一個表的 <YourTable>(Count)。這樣可確保您看見來自該表之維度的所有值。

有關詳情,請參閱使用關係的多表資料來源的分析方式多資料表分析疑難排解

關係(邏輯表)與聯結(實體表)

儘管相似,但聯結和關係在 Tableau 中的行為是不同的,而且是在資料模型的不同層定義的。您可以在資料來源之上層邏輯層中的邏輯表之間建立關係。您可以在資料來源實體層的實體表之間建立聯結。

在分析開始之前,聯結會將兩個表的資料合併到單一表中。將表合併在一起可能會導致從單一或兩個表中複製或篩選資料;如果您使用左、右或完全外部聯結,也可能會導致資料中新增 NULL 列。對聯結資料進行分析時,您必須確保正確處理聯結對資料的影響。

附註:可能需要複製或篩選聯結的效果時,請使用聯結將資料表合併在一起,而不是使用關係。按兩下邏輯資料表以開啟實體層並新增聯結的表。

關係會描述兩個獨立的表彼此如何關聯,但不會將表合併在一起。這樣可以避免聯結中可能出現的資料重複和篩選問題,也能讓您更輕鬆地處理資料。

關係聯結
在關係畫布(邏輯層)中的邏輯資料表之間定義在聯結/聯集畫布(實體層)的實體資料表之間定義
您不需要定義聯結類型需要聯結規劃和聯結類型
類似於聯結或聯集表的容器已合併到其邏輯表中
僅查詢與視覺效果相關的資料。可以調整基數和參考完整性設定以最佳化查詢。做為每個查詢的一部分執行
詳細層級位於視覺效果的彙總詳細層級位於單一表的列層級
聯結類型是 Tableau 根據分析內容自動形成。Tableau 會根據視覺效果中的度量和維度決定所需聯結。聯結類型是靜態的,而且在資料來源中是固定的,與分析內容無關。聯結和聯集是在分析之前建立的,而且不會變更。
列不重複合併的表資料可能會導致重複
除非明確排除,否則彙總會包含不相符的記錄合併資料中會省略不相符的記錄
在多個詳細資料層級建立獨立網域支援需要單一資料表的情境,例如擷取篩選條件和彙總

關係與混合

雖然關係和混合皆支援不同詳細層級的分析,但它們有明顯的差異。透過關係使用混合的其中一個原因是為了合併發行資料來源以供分析使用。

關係混合
定義於資料來源定義於主要資料來源和次要資料來源之間的工作表
可發布無法發布
所有表在語意上皆相等取決於主資料來源和輔助資料來源的選擇,以及這些資料來源的架構方式。
支援完整外部聯結僅支援左聯結
本機運算做為 SQL 查詢的一部分進行運算
相關欄位已修復相關欄位因工作表而各不相同(可以按照工作表逐一自訂)

合併資料的不同選項功能:關係、聯結和混合

有許多方式可以合併資料表,且每種方式都有其首選方案和細微差別。

建立關聯

合併不同詳細層級的資料時,會使用此功能。

  • 需要兩個邏輯表之間的相符欄位。多個相符欄位對可以定義關係。
  • 根據欄位的關聯程度以及在視覺效果中的使用方法,自動使用正確的彙總和內容聯結。
  • 支援多對多和外部聯結。
  • 關係對於整個工作簿是一致的,而且可以發布。
  • 可以發佈,但不能關聯已發佈資料來源。
  • 無法根據導出欄位或地理欄位定義關係。
  • 使用資料來源篩選條件限制了關係的聯結挑選優勢。
聯結

當您想要跨相同列結構新增多欄資料時,會使用此功能。

  • 需要兩個實體表之間的常用欄位。
  • 需要建立聯結子句和聯結類型。
  • 可以建立計算聯結。
  • 聯結的實體表會合併至具有固定資料組合的單一邏輯表。
  • 如果所有表中不存在欄位或值,則可能會造成資料遺失(視所用聯結類型而定)。
  • 如果欄位處於不同的詳細層級,則可能會造成資料重複。
  • 可以使用資料來源篩選條件。
聯集

當您想新增更多具有相同欄結構的資料列時,會使用此功能。

  • 以兩個表之間的相符欄為依據。
  • 聯集的實體表會合併至具有固定資料組合的單一邏輯表。
混合

合併不同詳細層級的資料時,會使用此功能。

  • 可與已發佈資料來源合併,但無法發佈。
  • 可以在關係資料來源和 Cube 資料來源之間使用。
  • 資料來源可以按照工作表逐一進行混合。
  • 始終保持有效的左聯結(可能會遺失次要資料來源的資料)。
感謝您的意見反應!已成功提交您的意見回饋。謝謝!