---
schema_version: "1"
id: a63096653d16d4cd9ffeb668500302d8ed6214622ce7c5879697d578df9b7acc
title: 建置多事實關係資料模型
collection: tableau
version: current
locale: zh-tw
portal_url: https://docs.salesforce.com/tableau/current/zh-tw/public/desktop/datasource_mfr_build.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-tw/datasource_mfr_build.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 9e793b0d9e53c0410f8564a768c0a1188c5d800b725617c6380345750765d02d
description: Build a multi-fact relationship data model using multiple base tables connected by shared tables.
---
[跳至主要內容](#main-content)

# 建置多事實關係資料模型

分析通常涉及將彼此沒有直接關係但都與相同的公用資訊（例如日期或位置）關聯的資料表匯集在一起。這種類型的分析有時稱為具有共用維度的多事實分析。

若要在 Tableau 中執行此類分析，請建立一個使用透過共用資料表進行連線的多個基底資料表的資料來源。

- _基底資料表_是「資料來源」索引標籤上資料模型中最左邊的資料表。有關如何確定將哪些資料表用作基底資料表的指南，請參閱[何時使用多重要素關係模型](https://help.tableau.com/current/public/desktop/zh-tw/datasource_mfr_when_to_use.htm)。
- _共用資料表_是具有多個傳入關係的下游資料表。這些資料表包含可在視覺效果中進行分析期間將非關聯欄位拼接在一起的欄位。日期和位置是常用的共用資料表的範例。

## 建置模型

建置多事實關係資料模型本質上與建立使用關係的任何其他資料來源相同，但有兩個額外的部分：額外的基底資料表和共用資料表的多個傳入關係。

1. [連線到資料](https://help.tableau.com/current/pro/desktop/zh-tw/basicconnectoverview.htm)。若資料表並非全部位於同一個資料庫中，則可以使用[多個資料連線](https://help.tableau.com/current/pro/desktop/zh-tw/datasource_plan.htm#tableau-data-sources)。
2. 將資料表拖曳到畫布上，以建立第一個基底資料表。
3. 將另一個資料表從左窗格拖曳到「新增基底資料表」置放區域。
    
    ![資料建模畫布，具有一個現有基底資料表和「新增基底資料表」的置放區域](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_new_base_table.png)
    
    Tableau 會顯示警告，提示您正在建置具有多個基底資料表的資料模型。我們建議您僅在資料需要時才設定多基底資料表模型。否則，請使用單一基底資料表模型來避免多基底資料表模型所帶來的複雜性。
    
    ![具有兩個基底資料表的資料模型，其中一個有對多個基底資料表的警告](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_multi_base_table_warning.png)
4. 將另一個欄位拖曳到畫布上，並將其與一個基底資料表關聯。[如有必要，請對每個關係進行設定](https://help.tableau.com/current/pro/desktop/zh-tw/relate_tables.htm#create-and-define-relationships)。
    
    ![正在將下游資料表新增到資料模型中](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_downstream.png)
5. 將滑鼠暫留在尚未關聯的基底資料表上，以顯示加號（親切地稱為「肉丸」）。
    
    ![「社團」基底資料表，遊標位於其上，並顯示加號「肉丸」](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_meatball_base.png)
6. 將加號圖示拖曳到共用資料表，以建立新的傳入關係（也稱為「關聯線」）。
    
    ![肉丸正在將一條新的關聯線拖到現有下游資料表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_meatball.png)
7. _可選：_繼續新增下游資料表和基底資料表。按一下並拖曳加號圖示，以根據需要建置共用資料表。

**附註**：也可以先建置單一基底資料表模型，然後再新增更多基底資料表，而不是從基底資料表開始。

## 探索模型

具有多個基底資料表的資料模型透過關係建置，但並非所有資料表都以相同程度相互關聯。每個基底資料表都會定義一個_樹狀結構_，其中包含與該基底資料表關聯的每個資料表，無論是直接關聯還是從關聯資料表的下游關聯。共用資料表存在於多個樹狀結構中。有關關聯程度的更多資訊，請參閱[關於多事實關係資料模型](https://help.tableau.com/current/public/desktop/zh-tw/datasource_mfr_multiple_base_tables.htm)。

檢視具有多個基底資料表的模型時，可以使用多種選項來探索和管理資料模型。資料模型複雜難懂時，這些選項特別有用。

![資料模型，包含四個基底資料表和多個共用資料表，以及非共用下游資料表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_complex_model.png)

複雜資料模型範例，包含四個基底資料表、多個共用資料表和下游資料表。下游資料表在基底資料表之間既有共用的，也有非共用的。

2024.2 為資料模型引入了一些新的版面配置詳細資料。在多事實關係資料模型中，關係會捆綁在一起，以幫助追蹤資料表具有多少個傳入關係。共用資料表（以及下游共用資料表）比非共用資料表具有更清晰明顯的大綱。

### 術語

多基底資料表資料模型中的資料表具有特定的角色。基底資料表和共用資料表是多事實關係資料模型中必須存在的唯一資料表。（若沒有多個基底資料表，則不是一個多事實關係資料模型。若沒有將基底資料表進行連線的共用資料表，則不是有效的資料模型。）

由於這些模型通常很複雜，因此使用共用術語很有用：

- _基底資料表_位於最左側，沒有傳入關係。
    - 在範例中，「庫存」、「行銷」、「銷售」和「支援」是基底資料表。
- _子基底資料表_位於基底資料表和共用資料表之間。
    - 在範例中，「零件」是一個子基底資料表。
- _共用資料表_具有多個傳入關係。
    - 在範例中，「產品」、「日期」、「客戶」和「供應商」是共用資料表。
- _下游共用資料表_僅有一個傳入關係，並且在其上游某處有一個共用資料表。
    - 在範例中，「子類別」和「類別」是下游共用資料表。
- _下游非共用資料表_僅有一個傳入關係，且其上游沒有共用資料表。
    - 在範例中，沒有下游非共用資料表。

![資料模型，列出術語：基底資料表、子基底資料表、下游非共用資料表、共用資料表和下游共用資料表。](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_terminology.png)

測試您的理解：識別範例資料來源中資料表的類型

![資料模型，包含四個基底資料表和多個共用資料表，以及非共用下游資料表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_complex_model.png)

- **基底資料表**：「庫存」、「行銷」、「銷售」和「支援」
- **子基底資料表：**「零件」
- **共用資料表：**「產品」、「日期」、「客戶」和「供應商」
- **下游共用資料表：**「子類別」和「類別」
- **下游非共用資料表：**無

### 識別關係樹狀結構

將滑鼠暫留在資料表上可醒目提示與其關聯的資料表。Tableau 會強調該資料表的樹狀結構，而不強調非關聯資料表。

![複雜模型，醒目提示一個基底資料表的樹狀結構，其他資料表變暗](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_highlightedtree.png)

「行銷」基底資料表樹狀結構由兩個共用資料表「日期」和「產品」以及下游共用資料表「子類別」和「類別」組成。

### 檢視關係詳細資料

將滑鼠暫留在一個關係或一組關係上可查看工具提示中的詳細資料。

![具有三條關聯線的一組關係，工具提示中每列顯示每個關係的詳細資料](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_noodle_bundle.png)

「產品」資料表的傳入關係包括與「庫存」、「行銷」和「銷售」基底資料表的三個單獨關係。

### 選取關係

選取某個關係後，它會在畫布中以藍色醒目提示，其詳細資料會顯示在「資料表詳細資料」窗格中。可以在「資料表詳細資料」窗格中[檢查或修改關係子句](https://help.tableau.com/current/pro/desktop/zh-tw/relate_tables.htm#create-a-relationship)。

選取關係的方法有多種：

- 按一下畫布中的關係線（關聯線）。每個關係都有一個僅選取該關聯線的可點擊區域。
- 右鍵按一下或按住 Control 鍵按一下畫布中的資料表以開啟其功能表。選取「選取關係」選項，並選擇所需的資料表關係。
- 按一下畫布中的一組關係以顯示持續工具提示（將滑鼠暫留在一組關係上會顯示工具提示，按一下可讓其持續顯示）。然後在工具提示詳細資料中選取一列，以醒目提示模型中的該關係。
- 開啟「資料表詳細資料」窗格工具列中的功能表，並選取所需的關係。也可以使用此功能資料表選取特定資料表，以在窗格中查看其預覽。
    
    ![資料表詳細資料窗格中的功能表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_table_details_menu.png)

### 與基底資料表交換

基底資料表和共用資料表之間關係中的中間資料表可讓您選擇將下游資料表與基底資料表進行交換。這純粹是一種視覺變更，旨在有助於概念理解，不會變更資料模型的結構。

右鍵按一下或按住 Control 鍵按一下下游資料表，然後選取與基底資料表（資料表名稱）交換。交換選項也僅存在於下游資料表上，而不存在於基底資料表上。

交換選項不適用於交換後會變更資料模型的資料表，例如共用資料表或下游共用資料表。只有下游非共用資料表或子基底資料表可以與基底資料表交換。

#### _範例_

在此範例中，可以交換**「店鋪資訊」**和**「冰淇淋銷售額」**資料表，而無需變更資料模型的基本結構。不能交換其他資料表。

- 「冰淇淋銷售額」與「店鋪資訊」和共用的「日期」資料表關聯。
- 「店鋪資訊」與「冰淇淋銷售額」和共用的「位置」資料表關聯。
- 「天氣」與「日期」和「位置」這兩個共用資料表關聯。

這兩個模型在概念上是等效的：

![等效資料模型的兩個版本，其中基底資料表及其非共用下游資料表進行了交換](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_swapbase_icecream.png)

### 摺疊基底資料表

也可以將關係路徑或樹狀結構摺疊到其基底資料表，以暫時簡化資料模型的檢視。

按一下基底資料表上的摺疊 ![](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_icon_collapse.png) 或展開 ![](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_icon_expand.png) 按鈕可摺疊或展開其整個樹狀結構。或者，右鍵按一下或按住 Ctrl 鍵按一下下游資料表，然後選取摺疊此路徑或摺疊其他路徑。此選項在共用資料表或共用資料表下游的資料表上不可用。

將樹狀結構摺疊到其基底資料表純粹是視覺上的，不會觸發非關聯資料表警示。摺疊路徑由具有堆疊資料表和展開按鈕的基底資料表表示。摺疊會影響僅與該樹狀結構關聯的所有資料表和關係，因此與未摺疊路徑共用的資料表不會被隱藏。

使用展開 ![](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_icon_expand.png) 按鈕重新開啟基底資料表和樹狀結構中的所有內容。

![支援基底資料表的樹狀結構被摺疊和展開](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_collapsetree_gif.gif)

## 疑難排解

### 建立單一資料來源

所有資料表都必須以某種方式與整個資料來源關聯。若存在任何與整體資料模型不關聯的資料表，則會出現警示。該警示會一直持續到沒有資料表或樹狀結構與資料模型的其餘部分完全分離為止。警示處於使用中狀態時，無法發佈資料來源，且無法在分析中使用該資料來源。

可以開啟警示並設定「在視覺上分離非關聯資料表」，以識別哪些資料表觸發了警示。當您有一個複雜的模型並且需要識別哪些資料表尚未與資料模型的其餘部分關聯時，此選項非常有用。

#### _範例_

在[建置模型](https://help.tableau.com/current/pro/desktop/zh-tw/datasource_mfr_build.htm#Build)下的步驟中，在新增關係以連線第二個基底資料表之前，步驟 4 中會顯示警示。

![非關聯資料表警示訊息](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_unrelated_alert.png)

將「在視覺上分離非關聯資料表」設定為「開啟」會將資料表**「社團」**移至「非關聯資料表」行的下方。將**「社團」**與**「學生」**關聯起來可以解析該警示。

![資料模型，在標示為「非關聯資料表」的紅色虛線下方有一個非關聯資料表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_visuallyseparate.png)

#### 解析循環

即使某些資料表彼此不直接關聯，整個資料模型也必須是一個連貫的整體。在此範例中，每個基底資料表都定義一個樹狀結構，但沒有對其進行連線的共用資料表。這不是有效的分析模型。

![具有兩個基底資料表的資料模型，其不同的樹狀結構不重疊](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_unrelated1.png)

兩組關聯資料表需要透過共用資料表合併......

![相同的資料模型，現在與共用資料表連線](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_unrelated2.png)

……或者資料模型需要建立為兩個單獨的資料來源。

![相同的資料模型，分為兩個資料來源](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_unrelated3.png)

### 資料模型限制

多基底資料表模型不支援資料表之間的某些關係路徑。若您在嘗試在資料表上建立第二個傳入關係時無法置放肉丸，請確保 Tableau 支援您嘗試建立的結構。不受支援的模型範例包括：

#### 循環

不支援循環（從上游資料表到同一個下游資料表有多個關係路徑）。這種不受支援的結構有時稱為蝶型結構。要在 Tableau 中對資料表之間的這種關係進行建模，請將下游資料表轉換為另一個基底資料表來使用多個基底資料表，而不是蝶型結構。

![蝶型結構圖和另一個圖，其中下游資料表變更為額外的基底資料表](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_bowtie_tableauified.png)

資料模型必須為_有向非循環圖_。這意味著與資料表的每個傳入關係都必須可以在上游追蹤到不同的基底資料表。

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 34%;"><col style="width: 33%;"><col></colgroup><tbody><tr><td><b>不支援</b>。資料表 X 有兩個傳入關係，它們都來自基底資料表 A 下游的資料表</td><td><b>支援</b>。資料表 S 和 T 都有多個傳入關係，但每個都來自不同的基底資料表。</td><td><b>支援</b>。雖然看起來可能存在循環，但資料表 S 和資料表 T 的傳入關係都可以追蹤到不同的基底資料表。</td></tr><tr><td><img src="https://help.tableau.com/current/public/desktop/zh-tw/Img/mfr_build_cycle1.png" alt="由於循環而不受支援的資料模型"></td><td><img src="https://help.tableau.com/current/public/desktop/zh-tw/Img/mfr_build_cycle2.png" alt="支援的資料模型，蝶型結構已轉換為第二個基底資料表"></td><td><img src="https://help.tableau.com/current/public/desktop/zh-tw/Img/mfr_build_cycle3.png" alt="支援的資料模型，具有可追蹤到不同基底資料表的共用資料表的傳入關係"></td></tr></tbody></table>

#### 巢狀共用資料表

不支援巢狀共用資料表。共用資料表（具有多個傳入關係的資料表）下游的任何資料表只能有一個傳入關係。

![具有巢狀共用資料表的模型不受支援](/tableau/current/zh-tw/public/desktop/zh-tw/Img/mfr_build_nestedshared.png)

不支援。資料表 T 位於共用資料表的下游，無法接收額外的傳入關係。