---
schema_version: "1"
id: aba769a72ed66709c34293ac498a091921724a4b03bcd0f847628567c76db12c
title: 跨多个数据源筛选数据
collection: tableau
version: next
locale: zh-cn
portal_url: https://docs.salesforce.com/tableau/next/zh-cn/pro/desktop/filter_across_datasources.md
canonical_url: https://help.tableau.com/v0.0/pro/desktop/zh-cn/filter_across_datasources.htm
source_site: help.tableau.com
content_type: documentation
content_hash: 1f7be10707eb7784f9b11247927491443bc52ff46463d5648def311801729ae5
description: Filter data across multiple data sources using a common field and relationships.
---
[跳转到主要内容](#main-content)

# 跨多个数据源筛选数据

在工作簿中使用多个数据源时，您可能想要使用它们共有的字段比较它们的数据。为此，您可以跨多个主数据源应用筛选器。

例如，以下仪表板会显示客户的订单数量、平均销售额和平均利润。它具有三个视图。每个视图都使用不同的数据源作为其主数据源，并且这些数据源都具有共同的字段：客户名称。“客户名称”的视图中也有一个筛选器卡。

![一个条形图、一个柱状图和一个带有复选框的客户名称列表。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource1.png)

这是一个有趣的仪表板，其中包含大量信息，但是您可能想要按您分析的客户同时更新仪表板中的所有视图。例如，或许您想要查看从您的其中一位客户 Aaron Riggs 那里获得的平均销售额、利润和订单数。

为此，您可以筛选“客户名称”字段上的所有三个数据源。

按照下面的步骤进行操作以了解如何跨多个数据源筛选数据。

### 在开始之前，您可能需要了解以下内容：

从版本 10.0 开始，您可以跨多个主数据源筛选数据。您无法跨辅助数据源将筛选器应用于数据。Tableau Desktop 中目前不支持在工作表的辅助数据源中筛选数据。

如果想要跨辅助数据源筛选数据，请考虑以下替代方案：

- 联接相同的数据源中的表，而不是混合它们。有关详细信息，请参见[联接数据](https://help.tableau.com/v0.0/pro/desktop/zh-cn/joining_tables.htm)。
- 如果您的表在不同的数据源中，请创建跨数据库联接。有关详细信息，请参见[联接数据](https://help.tableau.com/v0.0/pro/desktop/zh-cn/joining_tables.htm)。
- 将主数据源设置为辅助数据源，将辅助数据源设置为主数据源。**注意：**考虑到最终视图中所需的详细级别，这或许并不总是可行。

**注意：**为确保在筛选器中将具有混合大小写的数据字符串视为不区分大小写，请使用 UPPER() 字符串函数创建计算字段，然后使用该计算字段创建筛选器关系。

关于跨数据源筛选器的更多常见问题，请参见 Tableau 社区中的[跨数据源筛选的常见问题](https://community.tableau.com/docs/DOC-9111)论坛文章。

### 定义数据源之间的关系

在创建数据源之间的关系之前，您必须确保将要映射的数据源之间有一个共同字段。字段在每个数据源中不需要名称相同，但它们应该具有一些共同的数据。

在标识了公共字段后，您必须创建它们之间的关系或者相互_映射字段_。

如果字段碰巧具有相同的名称，Tableau 可能会自动将它们识别为相关字段。您可以修改由 Tableau 自动创建的现有关系，或者通过以下步骤在不同数据源的两个字段之间创建新关系。

定义两个数据源之间的关系：

1. 选择“数据”\>“编辑关系”。
2. 在“编辑关系”对话框中，执行以下操作：

- 选择一个数据源作为“主数据源”，选择一个数据源作为“辅助数据源”
- 选择“自定义”。
- 若要定义具有不同名称的字段之间的关系，请单击“添加”。

若要编辑现有关系，请选择右边的字段，然后单击“编辑”。

4. 在“添加/编辑字段映射”对话框中，执行以下操作，然后单击“确定”：

- 在“主数据源字段”下，选择一个字段。
- 在“辅助数据源字段”下，选择与为主数据源选择的字段具有类似数据的字段。

有关编辑关系的详细信息，请参见[混合您的数据](https://help.tableau.com/v0.0/pro/desktop/zh-cn/multiple_connections.htm#step4relationships)。

**注意：**定义您的关系后，您不需要启用混合（即，您不必单击“数据”窗格中的链接图标）来跨数据源进行筛选。

有关主数据源与辅助数据源之间的差异的详细信息，请参见[混合您的数据](https://help.tableau.com/v0.0/pro/desktop/zh-cn/multiple_connections.htm#primarysecondary)。

### 向视图中添加筛选器

定义了您的数据源之间的关系后，请转到其中一个工作表，并将维度拖到“筛选器”功能区上。然后选择在视图中包含或排除数据。有关筛选数据的详细信息，请参见[筛选视图中的数据](https://help.tableau.com/v0.0/pro/desktop/zh-cn/filtering.htm)。

**可选步骤**：在视图中显示筛选器卡。在“筛选器”功能区上右键单击字段，然后选择“显示筛选器”。视图中将显示该字段的筛选器卡。

有关筛选器卡（以前称为快速筛选器）的详细信息，请参见[在视图中显示交互式筛选器](https://help.tableau.com/v0.0/pro/desktop/zh-cn/filtering.htm#ShowFilter)。

### 将筛选器应用于工作表

在设置了您的筛选器之后，您可以对工作簿中使用相关数据源的所有工作表应用该筛选器，或者可以对选定的工作表应用该筛选器。

- 若要将筛选器应用于使用相关数据源的所有工作表，请右键单击“筛选器”功能区上的字段，并选择“应用于工作表”\>“所有使用相关数据源的项”。

在每个使用相关数据源的工作表上，“客户名称”字段将会添加至“筛选器”功能区。“筛选器”功能区上的字段旁边会添加一个图标，指明正在对多个数据源应用此筛选器。

![“筛选器”功能区上字段旁边的图标，指明已对多个数据源应用筛选器。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource2.png)

如果您将光标悬停在任何工作表中“筛选器”功能区上的字段上，则可以查找有关筛选器类型、筛选器来源字段以及该筛选器应用于的其他工作表的详细信息。

![将文本悬停在“筛选器”功能区上的某个字段上，会显示有关筛选器类型、筛选器的源字段以及筛选器适用的其他工作表的详细信息。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource3.png)

- 若要将筛选器应用于选定工作表，请右键单击“筛选器”功能区上的字段，并选择“应用于工作表”\>“选定工作表”。

在您选择的工作表上，“客户名称”字段将会添加至“筛选器”功能区。“筛选器”功能区上的字段旁边会添加一个图标，指明正在对选定工作表应用此筛选器。

![“筛选器”功能区上字段旁边的图标，指明筛选器适用于选定工作表。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource12.png)

现在，在仪表板上，当您将视图向下筛选到 Aaron Riggs 时，所有这三个视图都会进行更新，并且您可以看到 Aaron 在 2010 年、2011 年和 2013 年下达了订单，平均花费 3,700 美元。这些订单的平均利润大约是 1000 美元。

![三个条形图分别说明订单数量、销售额和利润。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource5.png)

## 来源字段和目标字段

当您将筛选器应用于多个数据源时，您将创建来源字段以及一个或多个目标字段。来源字段和目标字段均出现在其各自工作表中的“筛选器”功能区上。

来源字段是筛选将要依据的字段。

任何给定工作表上的目标字段是另一个数据源中与来源字段相关的字段。这是实际上在该工作表上正在筛选的字段。

来源字段确定在目标字段中包括或排除的数据。例如，假设您有三个工作表，这些工作表使用三个单独的数据源（A、B 和 C）作为其主数据源。每个数据源都有一个共同字段（“水果”），数据如下所示：

<table style="width: 100%;mc-table-style: url('Resources/TableStyles/Shaded-NoBorder.css');" class="TableStyle-Shaded-NoBorder" cellspacing="0"><colgroup><col class="Column-Column1"><col class="Column-Column1"><col class="Column-Column1"></colgroup><tbody><tr class="Body-Body1"><td style="font-weight: bold;" class="BodyE-Column1-Body1">数据源 A 中的“水果”</td><td style="font-weight: bold;" class="BodyE-Column1-Body1">数据源 B 中的“水果”</td><td style="font-weight: bold;" class="BodyD-Column1-Body1">数据源 C 中的“水果”</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">苹果</td><td class="BodyE-Column1-Body2">苹果</td><td class="BodyD-Column1-Body2">苹果</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">橙子</td><td class="BodyE-Column1-Body1">葡萄柚</td><td class="BodyD-Column1-Body1">葡萄柚</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">香蕉</td><td class="BodyE-Column1-Body2">橙子</td><td class="BodyD-Column1-Body2">橙子</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">&nbsp;</td><td class="BodyE-Column1-Body1">梨</td><td class="BodyD-Column1-Body1">番茄</td></tr><tr class="Body-Body2"><td class="BodyB-Column1-Body2">&nbsp;</td><td class="BodyB-Column1-Body2">&nbsp;</td><td class="BodyA-Column1-Body2">香蕉</td></tr></tbody></table>

如果数据源 A 中的“水果”字段是交叉数据源筛选器的来源字段，则为目标字段显示的数据如下所示：

<table style="width: 100%;mc-table-style: url('Resources/TableStyles/Shaded-NoBorder.css');" class="TableStyle-Shaded-NoBorder" cellspacing="0"><colgroup><col class="Column-Column1"><col class="Column-Column1"><col class="Column-Column1"></colgroup><tbody><tr class="Body-Body1"><td style="font-weight: bold;" class="BodyE-Column1-Body1">数据源 A 中的“水果”- 来源字段</td><td style="font-weight: bold;" class="BodyE-Column1-Body1">数据源 B 中的“水果”- 目标字段</td><td style="font-weight: bold;" class="BodyD-Column1-Body1">数据源 C 中的“水果”- 目标字段</td></tr><tr class="Body-Body2"><td class="BodyE-Column1-Body2">苹果</td><td class="BodyE-Column1-Body2">苹果</td><td class="BodyD-Column1-Body2">苹果</td></tr><tr class="Body-Body1"><td class="BodyE-Column1-Body1">橙子</td><td class="BodyE-Column1-Body1">橙子</td><td class="BodyD-Column1-Body1">橙子</td></tr><tr class="Body-Body2"><td class="BodyB-Column1-Body2">香蕉</td><td class="BodyB-Column1-Body2">&nbsp;</td><td class="BodyA-Column1-Body2">香蕉</td></tr></tbody></table>

与来源字段中的数据不匹配的任何数据会排除在目标字段之外，并且将不会出现在您的工作表或您的筛选器卡中。

在“筛选器”功能区上，当来源字段适用于具有相关数据源的所有工作表时，来源字段用 ![表示筛选器正在应用于多个数据源的图标。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource7.png) 图标来表示；或者当它适用于选定工作表时，用 ![表示源字段适用于选定工作表的图标。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource10.png) 图标来表示。目标字段用“筛选器”功能区中字段上的图标 ![筛选卡上出现的目标字段图标。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource8.png) 来表示。它们也用“筛选器”功能区上字段旁边的图标 ![表示筛选器正在应用于多个数据源的图标。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource9.png) 或 ![表示目标字段应用于选定工作表的图标。](/tableau/next/zh-cn/pro/desktop/zh-cn/Img/cross_datasource11.png) 来表示。