如何在 Tableau 中联接数据?

Tableau 数据联接在报表设计中起着至关重要的作用。在实际工作中,我们通常使用数据库或数据仓库来创建报表,我们都知道数据库中的数据是规范化的。因此,我们无法使用单个表生成报表(主要是因为业务角度)。

例如,如果您想设计一个按国家/地区划分的销售报表,国家/地区信息将在地理或区域表中,而销售信息将在销售表中。在这些情况下,我们可以使用联接来连接地理和销售表数据。下面的列表将显示 Tableau 中可用的数据联接方法。

  1. 内连接 (Inner):如果两个表中的列至少有一个匹配项,则返回两个表中的记录(或行)。要更好地理解,请参阅SQL 内连接文章。
  2. 左连接 (Left):此联接返回左表中的所有记录(或行)以及右表中匹配的行。请参阅SQL 左连接文章。
  3. 右连接 (Right):返回右表中的所有记录(或行)以及左表中匹配的行。要更好地理解,请参阅SQL 右连接文章。
  4. 全外连接 (Full Outer Joins):返回左表和右表中的所有记录(或行)。所有不匹配的行都将填充 NULL 值。要了解更多信息,请参阅SQL 全外连接文章。

Tableau 中联接数据的四种方法

本文将通过实际示例向您展示如何联接数据。对于此联接示例,我们将使用SQL Server中的数据,因此请参阅 连接服务器以了解连接设置。

Employee 表中的数据

Department 表中的数据

我们需要至少两个表来描述如何在 Tableau 中联接数据。因此,将第一个或左表拖放到字段区域。在此示例中,我们将 Employee 表用作左表。

接下来,将第二个或右表拖放到字段区域。例如,当您拖动 Department 表时,将弹出一个窗口,用于选择联接类型和键,如下所示。

Tableau 内连接示例

此示例演示如何使用内连接联接数据。众所周知,Employee 表中的 Dept ID 和 Department 表中的 Id 是我们将用于联接 Employee 和 Department 表的关键列。因此,首先选择 Employee 表中的 Dept ID 列,如下所示。

Types of Joins 1

接下来,选择 Department 表中的公共 ID 列,如下所示。

How to Create a Inner Join Example

我们在行中创建了一个简单的表报,包含 Occupation、Last name、Department name、First name,在列中包含 Sales Amount 和 Yearly income。让我们看看内连接报表预览。

从下面的截图,您可以观察到内连接产生了 10 行,其中包括 Employee 和 Department 表中的所有匹配记录。

Tableau 左连接示例

此示例向您展示如何使用左连接联接数据。为此,让我们将类型从 Inner 更改为 Left join。

How to Create a Left Join Example

让我们看看左连接报表预览。从下面的截图,您可以看到左连接产生了 14 行。它包括所有 Employee 记录以及匹配的 Department 记录。请记住,Department 中四条不匹配的记录将显示为 Null。

Tableau 右连接示例

此右连接示例向您展示如何使用右连接连接数据。但首先,让我们将类型从 Left 更改为 Right join。

How to Create a Right Join Example

让我们看看右连接报表预览。从下面的图像,您可以观察到右连接产生了 12 行。输出包括 Department 中的所有记录以及 Employee 表中的匹配记录。请记住,Employee 中两条不匹配的记录将显示为 Null。

Tableau 全外连接示例

此示例解释了如何使用全外连接或全连接联接数据。为此,让我们将类型从 Right 更改为 Full Outer join。

How to Create a Full Outer Join Example

让我们看看全外连接数据报表预览。从下面的截图,您可以看到全外连接产生了 16 行。它包括 Employee 中的 2 条不匹配记录和 Department 中的 4 条不匹配记录。

注意:使用此方法,您可以连接两个以上的表。请小心复杂的联接,这将难以理解数据。

评论已关闭。