Tableau 数据联接在报表设计中起着至关重要的作用。在实际工作中,我们通常使用数据库或数据仓库来创建报表,我们都知道数据库中的数据是规范化的。因此,我们无法使用单个表生成报表(主要是因为业务角度)。
例如,如果您想设计一个按国家/地区划分的销售报表,国家/地区信息将在地理或区域表中,而销售信息将在销售表中。在这些情况下,我们可以使用联接来连接地理和销售表数据。下面的列表将显示 Tableau 中可用的数据联接方法。
- 内连接 (Inner):如果两个表中的列至少有一个匹配项,则返回两个表中的记录(或行)。要更好地理解,请参阅SQL 内连接文章。
- 左连接 (Left):此联接返回左表中的所有记录(或行)以及右表中匹配的行。请参阅SQL 左连接文章。
- 右连接 (Right):返回右表中的所有记录(或行)以及左表中匹配的行。要更好地理解,请参阅SQL 右连接文章。
- 全外连接 (Full Outer Joins):返回左表和右表中的所有记录(或行)。所有不匹配的行都将填充 NULL 值。要了解更多信息,请参阅SQL 全外连接文章。
Tableau 中联接数据的四种方法
本文将通过实际示例向您展示如何联接数据。对于此联接示例,我们将使用SQL Server中的数据,因此请参阅 连接服务器以了解连接设置。
Employee 表中的数据

Department 表中的数据

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

接下来,将第二个或右表拖放到字段区域。例如,当您拖动 Department 表时,将弹出一个窗口,用于选择联接类型和键,如下所示。
Tableau 内连接示例
此示例演示如何使用内连接联接数据。众所周知,Employee 表中的 Dept ID 和 Department 表中的 Id 是我们将用于联接 Employee 和 Department 表的关键列。因此,首先选择 Employee 表中的 Dept ID 列,如下所示。

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

我们在行中创建了一个简单的表报,包含 Occupation、Last name、Department name、First name,在列中包含 Sales Amount 和 Yearly income。让我们看看内连接报表预览。
从下面的截图,您可以观察到内连接产生了 10 行,其中包括 Employee 和 Department 表中的所有匹配记录。

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

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

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

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

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

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

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