创建虚拟连接

虚拟连接是一种 Tableau 内容类型,它提供可共享的数据中央访问点,并在连接级别支持行级安全性。创建虚拟连接是一个多步骤过程。本主题介绍连接到要共享的数据,以及在虚拟连接编辑器的“表”选项卡中工作。

连接到数据

在 Tableau Cloud 和 Tableau Server 中创建虚拟连接:

  1. 从主页或“浏览”页面上,单击“新建”>“虚拟连接”
  2. 在“连接到数据”对话框中,选择适用于您的数据的连接器。有关虚拟连接支持的连接器列表,请参见 Tableau Desktop 和 Web 制作帮助中的 Creator:连接到数据(链接在新窗口中打开)
  3. 输入提示您提供的信息。您输入的凭据保存在虚拟连接中,因此连接用户无需输入凭据即可连接到数据。
  4. 如果出现提示,请单击“登录” 。若要添加另一个连接,请单击 虚拟连接编辑器中的添加连接加号 并选择一个连接器,输入凭据,然后登录。

一个虚拟连接可以有多个连接。每个连接访问一个数据库或文件。

注意:对于 Tableau Cloud,连接到私有网络数据的虚拟连接使用 Tableau Bridge 来使数据保持最新。有关配置 Tableau Bridge 的信息,请参见配置和管理 Bridge 客户端池(链接在新窗口中打开)。有关支持的连接的信息,请参见与 Bridge 的连接(链接在新窗口中打开)

添加另一个连接

根据需要,将另一个连接添加到虚拟连接并通过单击“连接”旁边的 虚拟连接编辑器中的添加连接加号 连接到多个数据库。您可以将连接添加到不同的服务器或数据库,或者添加到同一服务器或数据库。

使用多个连接,您可以:

  • 使用来自任何连接或数据库的表作为数据策略中的权利表,以保护来自其他连接和数据库的表。
  • 使用来自不同数据库的表添加或替换虚拟连接中的表。例如,假设您将数据从一个数据库迁移到另一个数据库。在虚拟连接编辑器中,您可以添加与第二个数据库的连接,并将第一个数据库中的现有表替换为第二个数据库中的表。
  • 向同一服务器或数据库添加多个连接。例如,当您需要使用不同的凭据访问同一数据库中的数据时,这会很有帮助。
  • 共享一组相关或旨在一起使用的表,无论它们位于何处。例如,您可以从多个数据库中将与员工信息相关的表分组。

当您打开虚拟连接进行编辑时,如果出现提示,您必须按顺序对连接进行身份验证。如果任何连接未能通过身份验证,则无法编辑虚拟连接。

选择要包含在连接中的表

如有必要,选择一个数据库以查看其中的表。

  1. 在左侧的“表”下,选择表并单击或将它们拖到右侧的“表”选项卡。您可以包括来自不同连接的表。如果您正在使用权利表,请包括该表。
  2. (可选)单击“新建自定义 SQL”以创建自定义表架构。

注意:虚拟连接不支持具有空间数据类型的表。

为表选择实时或数据提取模式

您可以在同一个虚拟连接中将单独的表(无论它们是否来自多个连接)设置为实时或数据提取模式。

  • 实时 - 直接从数据库查询表。(“实时”为默认值。)
  • 数据提取 - 提取表并保存到 Tableau。

例如,您可以将一些表设置为数据提取模式,这样它们就不会受到报告生成或大量客户流量的影响。

在“表”下,选择要更改模式的一个或多个表,然后依次选择“操作”“更改为实时”或者“更改为数据提取”。或者,选择表格行中的操作菜单 (...),然后选择“实时”“数据提取”

增量数据提取

从 Tableau Cloud 2024 年 6 月版和 Tableau Server 2024.2 开始,您可以配置表数据提取以进行增量刷新。

配置增量数据提取时,您可以指定用于标识新行的关键列。当刷新增量数据提取时,只有关键列增加的行才会添加到数据提取中。处理的行数越少,意味着数据提取刷新作业的速度越快,数据库的负载越少。

例如,假设我们有一个 Batters 表的数据提取,数据提取中的数据包括:

Year(年份)Team(团队)
1978Lions
1979Tigers

Batters 表配置为增量数据提取刷新,关键列为“Year”(年份)

实时表已更新为包含 1980 年的新行:

Year(年份)Team(团队)
1978Lions
1979Tigers
1980Bears

Batters 表的数据提取以增量方式刷新时,仅添加超过数据提取的关键列中最大值的行。在这种情况下,这意味着会在数据提取中添加“1980”行。不需要刷新整个数据提取文件,而只需处理和附加 1 行。

如果您想刷新整个数据提取,您仍然可以对配置为增量刷新的数据提取进行完全刷新。

若要为表数据提取配置增量刷新,请执行以下操作:

  1. 将表从“实时”更改为“数据提取”
  2. 选择表行中的操作菜单 (...),然后选择“数据提取设置...”
  3. 选中“启用增量刷新”
  4. 选择一个递增列来用于确定要添加哪些行。
  5. 选择“保存设置”
    启用增量刷新的“数据提取设置”对话框

转换为自定义 SQL

从 Tableau Cloud 2024 年 6 月和 Tableau Server 2024.2 开始,您可以估算用于连接表的 SQL,并将其用作您自己的自定义 SQL 的起点。自定义 SQL 允许您筛选或进行其他可以修改结果集的查询更改。以这种方式创建自定义 SQL 而不是在数据窗格中使用新的自定义 SQL对现有虚拟连接的影响较小。下游资产将该表视为同一个表,而不是新表。

若要将表转换为自定义 SQL,请执行以下操作:

  1. 选择表行中的操作菜单 (...)。
  2. 选择“转换为自定义 SQL”
  3. “编辑自定义 SQL”对话框中,根据需要编辑 SQL。
  4. 选择“生成表”

注意:对话框中首先出现的 SQL 应被视为起点,如果不进行修改可能无法工作。虚拟连接编辑器缺少有关连接中使用的特定 SQL 语法的详细信息。如果在选择“生成表”按钮时遇到错误,请尝试移除或更改单引号、双引号、反引号和方括号,以使 SQL 符合您正在使用的数据库的要求。

若编辑自定义 SQL,请执行以下操作:

  1. 选择表行中的操作菜单 (...)。
  2. 选择“编辑自定义 SQL”
  3. “编辑自定义 SQL”对话框中,编辑 SQL。
  4. 选择“生成表”

若要将表恢复到其默认状态(不含自定义 SQL),请执行以下操作:

  1. 选择表行中的操作菜单 (...)。
  2. 选择“替换”
  3. 在替换表对话框中,选择原始表名称。
  4. 选择“确定”

提取表数据

在一个或多个表从实时更改为数据提取但尚未提取后,单击“创建挂起的数据提取”以运行挂起的数据提取。运行所有挂起的数据提取后,单击“刷新所有数据提取”以提取当时的所有表数据。

或者,在 Tableau Cloud 2024 年 6 月或 Tableau Server 2024.2 及更高版本中,选择表行中的“操作菜单”(...),然后选择“刷新数据提取...”。如果表没有配置增量刷新,则只能选择“刷新(完整)”。如果配置了增量刷新,您可以选择“刷新(完整)”以完全刷新数据提取,或者选择“刷新(增量)”以增量刷新数据提取。

在发布虚拟连接之前,您必须运行任何挂起的数据提取。生成数据提取时,您无法编辑连接。

发布连接后,在虚拟连接页面上计划虚拟连接中表的数据提取刷新。请参见为虚拟连接计划数据提取刷新

设置表可见性状态

使用“表”选项卡上的“可见性”开头以向用户显示或隐藏表及其数据。

选中标记表示显示 用户可以查看表数据。您可以创建一个数据策略来管理用户可以看到哪些数据。(“可见”为默认值。)

X 表示隐藏 用户看不到表数据。您可以在数据策略中使用隐藏表并将其用作权利表。

查看表详细信息

单击“表”选项卡顶部的表可查看其详细信息。您可以在“表详细信息”部分进行简单的编辑,例如更改表名称、隐藏或重命名列,或者更改数据类型。

使用这些图标切换您看到的表信息:

“标记”图标表示列数据类型。表中的列的列表和每列的数据类型。
“表”图标代表列示例数据。每列的示例数据和链接键(如果有)。链接键显示哪些列链接到其他表。仅当数据库具有主键和外键信息时,链接键才可见。
“配置文件”图标表示列值范围。直方图中所选的每一列的值范围。

从数据库中刷新数据

单击工具栏中的刷新图标 虚拟连接编辑器工具栏上的刷新图标 为虚拟连接中的所有连接从数据库中获取最新数据,包括:

  • 数据库、表和列的列表。包含在虚拟连接中和不包含的表都会刷新。
  • 表和直方图数据。

对于实时模式下的表,刷新会检索最新的数据库、表和列列表以及最新的表和直方图数据。对于数据提取模式下的表,刷新会检索表和列的更新列表。但是,若要查看最新的表和直方图数据,您必须开始新的数据提取。例如,当数据库表中有一个新列并且您单击刷新图标时,新列会出现在编辑器中,但其数据不会出现。若要查看最新数据,您必须开始新的数据提取。

刷新数据会使所有当前缓存的数据失效。关闭并重新打开编辑器、将表从数据提取模式切换到实时模式以及更改用户名或密码等连接凭证也会刷新数据。

谁可以执行此操作

若要创建虚拟连接,您必须

  • 拥有虚拟连接所连接到的数据库的凭据,并且
  • 是服务器或站点管理员,或是 Creator。

后续步骤

在“表”选项卡上添加和配置表后,您可以选择为行级安全性创建数据策略发布虚拟连接并设置权限

另请参见

使用 .properties 文件自定义 JDBC 连接 — 如果要自定义基于 JDBC 的连接,则还可以。在 .properties 文件中进行自定义。

感谢您的反馈!您的反馈已成功提交。谢谢!