---
schema_version: "1"
id: 17187fcb79b5c67368240dedfa57f36dc1a3979eb6c9fcd1ed3b994133a8da0a
title: 计划数据源
collection: tableau
version: current
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/current/zh-cn/public/desktop/datasource_plan.md
canonical_url: https://help.tableau.com/current/public/desktop/zh-cn/datasource_plan.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 5bac51bed015f2583bc650a3c832c1f9faa08637940ebceda2e9c96eba324045
description: Plan a data source and choose how to combine data using relationships, joins, blends, or unions.
---
[跳转到主要内容](#main-content)

# 计划数据源

您的数据在 Tableau 中心。您为自己或他人浏览数据、回答问题和构建可视化项的成功程度取决于基础数据。

如果您的目标是快速探索或临时分析，则可以快速进入，连接到数据、通过简单的拖放操作创建一些可视化项，然后带着所需的信息迅速退出。‌但是，如果您的目标是创建供常规使用的分析或数据源，则最好仔细考虑并规划数据源。

## Tableau 数据源

Tableau 数据源是您的源数据与 Tableau 之间的链接。本质上，它是数据（无论是实时连接还是提取）、连接信息、包含数据的表或工作表名称以及数据语义的总和。这些语义包括数据合并方式、计算、重命名字段和默认格式设置等内容。

Tableau _数据源_可能包含与不同数据库或文件的多个_数据连接_。连接信息包括数据所在的位置（例如文件路径或网络位置），以及有关数据连接方式的详细信息（例如数据库登录信息）。

**注意**：术语_数据源_和_数据连接_过去被不加区别地使用，在许多材料中可能缺乏明确的区分。  
  
还务必要牢记 Tableau 数据源（Tableau 对您的数据的访问权限以及可能涉及的所有自定义项）与源数据本身（例如数据库或 Excel 电子表格）之间的区别。从设计数据库的角度来规划数据源不属于本主题的范围。

## 合并数据

如果您有单个表数据源，则可以[连接到数据](https://help.tableau.com/current/pro/desktop/zh-cn/basicconnectoverview.htm)，将表拖到画布上，然后开始构建视图。但是，如果数据分布在多个表或多个数据库之间，则需要将其合并。合并数据操作在“数据源”页面上进行。

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 50%;"><col style="width: 50%;"></colgroup><tbody><tr><td>单个数据库</td><td>多个数据库</td></tr><tr><td><ol><li value="1">连接到数据。这将创建一个数据源。</li><li value="2">将表或数据工作表拖到画布上。</li><li value="3">将第二个表或工作表拖到画布上。“关系线”将形成，指示已形成自动关系，或者将打开“编辑关系”对话框，提示您告知 Tableau 这些表与两个表相关联的字段。</li><li value="4">继续添加表。</li></ol></td><td><ol><li value="1">连接到数据。这将创建一个数据源。</li><li value="2">将表或数据工作表拖到画布上。</li><li value="3">显示第一个数据表后，单击左侧窗格中“连接”标题右侧的“<b>添加</b>”链接。</li><li value="4">在左侧窗格中的数据连接之间切换，然后将所需的表拖到画布上。“关系线”将形成，指示已形成自动关系，或者将打开“编辑关系”对话框，提示您告知 Tableau 这些表与两个表相关联的字段。</li><li value="5">继续添加表，在数据连接之间根据需要切换。</li></ol></td></tr></tbody></table>

**注意**：为了将跨不同的数据库关联各个表，必须将表作为同一数据源内的**数据连接**（而不是新的**数据源**）添加。通过左侧窗格中的“添加”链接来添加数据连接。可以通过“数据”菜单，或数据源名称旁边的图标下拉菜单来创建新数据源，如此图所示：  
  
![提供添加新数据源的选项的下拉菜单。](/tableau/current/zh-cn/public/desktop/zh-cn/Img/datasource_plan_connection_vs_source.png)

### 数据合并方法

关系是在 Tableau 中合并数据的默认方式。关系是为分析合并来自多个表的数据的一种动态、灵活的方式。如有必要，也可以联接表或合并表。也可以混合数据源。让我们看一下 Tableau 中的数据合并方式选项，以及每种方法有用的一些情况。

<table class="table--plain" style="width: 100%;"><colgroup><col style="width: 20%;"><col></colgroup><tbody><tr><td>关系</td><td>根据关联的字段确定两个表之间的联接可能性。不将数据合并在一起以创建新的固定表。在分析期间，使用上下文适当的联接自动查询关联的表，以生成用于该分析的自定义数据表。<p>保持适当的详细级别，不会丢失数据，保留适当的聚合，并处理 null。</p><p>可以跨多个已发布数据源使用。</p></td></tr><tr><td>联接</td><td>基于联接子句和联接类型合并两个数据表，以形成新的固定数据表。通常用于跨相同的基本行结构添加新数据列。<p>如果某些字段在所有表中不存在，使用部分联接类型可能导致数据丢失。如果表处于不同的详细级别，则可能会导致数据重复。</p></td></tr><tr><td>并集</td><td>合并两个或更多数据表以形成新的固定数据表。用于在跨相同的基本列结构上追加数据（添加新数据行）。</td></tr><tr><td>混合</td><td>数据保持独立。Tableau 会独立查询数据源，并根据为该工作表建立的链接字段在视图中将结果一起可视化。模拟左联接的行为，并可能筛选来自辅助数据源的数据。</td></tr></tbody></table>

**注意**：也可以使用[自定义 SQL](https://help.tableau.com/current/pro/desktop/zh-cn/customsql.htm)合并数据。大多数时候，最好直接在画布中或使用数据混合来合并数据。这使得 Tableau 具有最大的优化灵活性。但是，在某些情形下，可能有理由使用自定义 SQL。请记住，这样做可能会对性能产生影响，因为 Tableau 被迫按编写的那样执行自定义 SQL 语句。

### 关系

关联是一种基于这些表之间的共享字段（列）处理来自多个表的数据的方法。关系会告知 Tableau 如何在表之间连接行。Tableau 保存这些信息，但不会像硬编码连接那样立即将行合并在一起。相反，当创建可视化项时，分析中涉及的字段通过关系进行追溯，并创建适当的联接以返回正确的数据。

由于数据从来不会被强制放入可视化项上下文之外的单个表中，因此当数据处于不同详细级别或粒度时，关系非常有用。举例来说，如果您需要在一个表中处理每日降雨量相关数据，但在另一个表中处理每小时温度相关数据。

有关如何使用关系合并表的详细信息，请参见[关联您的数据](https://help.tableau.com/current/public/desktop/zh-cn/relate_tables.htm)

有关如何使用关系合并表的详细信息，请参见[关联您的数据](https://help.tableau.com/current/public/desktop/zh-cn/relate_tables.htm)和以下 Tableau 博客文章：

- [关系，第 1 部分：在 Tableau 中引入新的数据建模](https://www.tableau.com/about/blog/2020/5/relationships-part-1-meet-new-tableau-data-model)
- [关系，第 2 部分：提示和技巧](https://www.tableau.com/about/blog/2020/5/relationships-part-2-tips-and-tricks)
- [关系，第 3 部分：跨多个相关表提出问题](https://www.tableau.com/about/blog/2020/6/relationships-part-3-asking-questions-across-multiple-related-tables)

**注意**：在 Tableau 版本 2024.2 及更高版本中，Tableau 数据模型支持多事实分析和通过多事实关系共享维度。有关详细信息，请参见[关于多事实关系数据模型](https://help.tableau.com/current/pro/desktop/zh-cn/datasource_mfr_multiple_base_tables.htm)、[何时使用多事实关系模型](https://help.tableau.com/current/pro/desktop/zh-cn/datasource_mfr_when_to_use.htm)和[构建多事实关系数据模型](https://help.tableau.com/current/pro/desktop/zh-cn/datasource_mfr_build.htm)。

### 联接

联接是用于合并由通用字段关联的表的一种方法。使用联接合并数据后会产生一个通过添加数据列横向扩展的表。

![浅紫色和深紫色条形表示使用联接来组合数据。](/tableau/current/zh-cn/public/desktop/zh-cn/Img/visual_join.png)

有关如何在 Tableau 中联接数据的详细信息，请参见[联接数据](https://help.tableau.com/current/public/desktop/zh-cn/joining_tables.htm)。

### 数据混合

当使用数据混合时，您可以将所谓的主数据源中的数据与一个或多个辅助数据源的通用字段进行合并。

在以下情况下，数据混合非常有用：

- 您需要逐页更改数据源的配置方式
- 您想要合并不允许关系或联接的数据库，例如多维数据集数据源。

使用数据混合合并数据后会产生一个通过添加数据列横向扩展的虚拟表。每个数据源中的数据将聚合到公共级别，然后再一起出现在可视化项中。

![紫色和蓝色条形表示使用数据混合来组合数据。](/tableau/current/zh-cn/public/desktop/zh-cn/Img/visual_blend.png)

有关混合数据的工作方式以及如何在 Tableau 中混合数据的详细信息，请参见[混合您的数据](https://help.tableau.com/current/public/desktop/zh-cn/multiple_connections.htm)。

### 并集

合并是一种将值（行）附加到表的方法。如果表具有相同的列，则可以合并这些表。使用并集合并数据后会生成一个虚拟表，此表具有相同的列，但会通过添加数据行进行纵向扩展。

![浅紫色和深紫色条形表示使用并集来组合数据。](/tableau/current/zh-cn/public/desktop/zh-cn/Img/visual_union.png)

您可以通过以下两种方式之一合并表：手动或使用通配符搜索。有关如何在 Tableau 中使用这些方法之一合并数据的详细信息，请参见[合并数据](https://help.tableau.com/current/public/desktop/zh-cn/union.htm)。

## Tableau 数据源注意事项

在进行任何其他操作之前，请确保您清楚数据源的用途。一个用于回答广泛问题、面向多种用户的通用型数据源，其构建方式不同于为性能优化的专用型数据源。从一开始就了解您的目标很重要。

考虑到这一目标，在 Tableau 中构建数据源之前，有几个项目需要考虑和规划：

- 位置和访问
- 形状和清洁度
- 数据模型和合并数据
- 语义和自定义项
- 可扩展性、安全性和可发现性
- 性能和新鲜度

#### 位置和访问

数据的位置可以像 Excel 文件或 Google 工作表一样简单，也可以像使用各种技术的多个数据库一样复杂。访问还可能涉及数据库的特定驱动程序或连接器，或者数据库服务器的登录信息。

**要考虑的问题：**

- 正确的 Tableau 用户是否能访问数据和 Tableau 并具备其权限？
- 应该使用哪些用户帐户登录到数据库？
- 是否需要用户筛选或[行级安全性](https://help.tableau.com/current/server/zh-cn/rls_bestpractices.htm)？
- 源数据是在本地还是在云中？
    - [如果数据发布到 Tableau Cloud，这可能会产生影响](https://help.tableau.com/current/online/zh-cn/to_publish.htm#tableau-online-data-connection-support)。
- 是否有[使用 Tableau 提供的连接器](https://help.tableau.com/current/public/desktop/zh-cn/exampleconnections_overview.htm)？
- 该数据库是否有任何限制（它是否支持您希望使用的所有功能）？

#### 形状和清洁度

您的组织可能已经有可连接到的结构完善的数据或可以使用的 ETL 进程。或者，您可能需要使用 Tableau Prep Builder 执行清理和调整操作，以将数据转换为有用的格式。

**要考虑的问题：**

- 数据是否结构完善，可与 Tableau 一起使用？
- 是否应使用 [Tableau Prep Builder](https://help.tableau.com/current/prep/zh-cn/prep_clean.htm) 和 Tableau Prep Conductor 来清理和[自动执行](https://help.tableau.com/current/prep/zh-cn/prep_conductor_publish_flow.htm)数据准备流程？
- 什么计算或操作最好在 Tableau 中以本机方式完成？
- 是否不需要这些数据？是否缺少任何数据？

#### 数据模型和合并数据

Tableau 需要知道如何查询数据，这是由 [Tableau 数据模型](https://help.tableau.com/current/public/desktop/zh-cn/datasource_datamodel.htm)传达的。如果数据来自多个表，则需要合并数据。用于合并数据的方法包括关系、联接、并集和混合。

**要考虑的问题：**

- 数据是否分布在多个系统中？
- 合并每个数据表的最佳方式是什么？

#### 元数据和自定义项

数据存储方式通常不容易让人舒适地使用。例如，默认字段名称可能难以处理，可能缺少缩写或代码的定义，或者基础数据中可能不存在常见计算。使用这些信息创建语义层可以使数据更易于理解和使用。

**要考虑的问题：**

- 应该添加哪些计算？
- 表和字段名称可以理解吗？
- 字段的默认设置是否有用，或者是否应该自定义这些设置？
- 是否应进行任何调整以支持 [Tableau Catalog](https://help.tableau.com/current/pro/desktop/zh-cn/qs_content_page.htm#add-or-edit-descriptions)？  
    _请注意，“数据解释”功能此时不支持多表数据源。_

#### 可扩展性、安全性和可发现性

数据源可能保留在创建它的工作簿中（[嵌入式数据源](https://help.tableau.com/current/server/zh-cn/permissions.htm#data-access-for-published-tableau-data-sources)），也可以发布到 Tableau Server 或 Tableau Cloud，作为自己的内容资产。这种对已发布的数据源的集中化具有安全性和扩展方面的额外优势，允许多个用户访问一致的数据源。已发布的数据源还可以利用 [Tableau Catalog](https://help.tableau.com/current/server/zh-cn/dm_catalog_overview.htm)和建议，并为组织提供单一真实来源。

**要考虑的问题：**

- 数据源是否应保留在工作簿中？

_（以下问题假定数据源已发布）_

- 数据源将在哪里发布？
- 谁将拥有数据源？
- 它应该具有什么[身份验证](https://help.tableau.com/current/pro/desktop/zh-cn/publishing_sharing_authentication.htm)和[权限](https://help.tableau.com/current/pro/desktop/zh-cn/publish_workbooks_permissions_add.htm)？
- 是否将对其进行[认证](https://help.tableau.com/current/server/zh-cn/datasource_certified.htm)？

#### 性能和新鲜度

此外，Tableau 数据源可以是与源数据的实时连接，也可以将数据复制为可刷新的数据提取。数据提取可以提升分析性能或防止数据库的资源消耗。

**要考虑的问题：**

- 数据连接是实时连接还是[数据提取](https://help.tableau.com/current/pro/desktop/zh-cn/extracting_data.htm)？
- 如果已提取，是否会有刷新计划？([Tableau Server](https://help.tableau.com/current/server/zh-cn/data_fresh_section.htm) | [Tableau Cloud](https://help.tableau.com/current/online/zh-cn/to_keep_data_fresh.htm))
- 如果发布到 Tableau Cloud，是否需要使用 [Tableau Bridge](https://help.tableau.com/current/online/zh-cn/qs_refresh_local_data.htm)？

### 构建高质量的数据源

设计和性能良好的数据源中有很多内容。不过，您不必在第一次尝试时就进行发布。与创建良好的可视化项一样，构建数据源可以是一个持续的过程。尝试合并您认为需要的数据，然后查看是否可以构建所需的可视化项。您可以随时返回并编写新的计算，或引入另一个数据表。进行一些用户测试，并询问同事是否能找出您的字段名。

当然，最好仅发布您有信心的数据源，并且只认证那些已经通过质量保证的数据源。当您的数据源出现在用户面前时，他们应该能够信任它。

## 此部分中的其他文章