保存和共享工作

您可以在流程中的任何位置保存流程、在 Tableau Desktop 中预览流程中的数据,或创建包括已应用于流程的所有操作的数据的数据提取。从版本 2020.3.1 开始,您甚至可以将流数据写入选定的数据库,以共享干净的准备好的数据。您也可以随流程一起打包您的数据,以便与共享人共享,或将数据提取以数据源形式发布到 Tableau Server 或 Tableau Online。

若要使数据保持最新状态,您可以从 Tableau Prep Builder 内或通过命令行运行单独的流程。若要按计划自动运行流程,您可以将流程发布到 Tableau ServerTableau Online。有关运行流程的详细信息,请参见 通过命令行刷新流程输出文件(Link opens in a new window)将流程发布到 Tableau Server 或 Tableau Online(Link opens in a new window)

保存您的流程

保存流程以在执行任何其他操作之前备份您的工作。流程以 Tableau Prep Builder 流程 (.tfl) 文件格式保存。

您也可以随流程一起打包本地文件(Excel、文本文件和 Tableau 数据提取)以与其他人共享,就像在 Tableau Desktop 中打包工作簿用于共享一样。只能随流程一起打包本地文件。举例来说,不会包括来自数据库连接的数据。

在保存打包流程时,流程将保存为打包 Tableau 流程文件 (.tflx)。

  • 若要保存流程,请从顶部菜单中选择“文件”>“保存”

  • 若要随流程一起打包数据文件,请从顶部菜单中执行以下操作之一:

    • 选择“文件”>“导出打包流程”

    • 选择“文件”>“另存为”。然后,在“另存为”对话框中,从“另存为类型”下拉菜单中选择“打包 Tableau 流程文件”

自动文件恢复(版本 2020.3.3 及更高版本)

默认情况下,如果应用程序冻结或崩溃,Tableau Prep Builder 将自动保存任何已打开流程的草稿。草稿流程保存在“我的 Tableau Prep 存储库”中的“已恢复流程”文件夹中。下次打开应用程序时,将显示一个对话框,其中包含可供选择的已恢复流程的列表。您可以打开恢复的流程并在停止的位置继续,或者在不需要时删除恢复的流程文件。

注意:如果在“已恢复流程”文件夹中有已恢复流程,则每次打开应用程序时都会显示此对话框,直到该文件夹为空。

如果不希望启用此功能,作为管理员,您可以在安装期间或安装之后将其关闭。有关如何关闭此功能的详细信息,请参见 Tableau Desktop 和 Tableau Prep 部署指南中的关闭恢复(Link opens in a new window)

在 Tableau 中查看数据样本

当您清理数据时,有时您可能希望通过在 Tableau Desktop 中查看数据来检查进度。当流程在 Tableau Desktop 中打开时,Tableau Prep Builder 会创建一个永久的 Tableau 数据提取(.tde 或 .hyper,具体取决于 Tableau 的版本)和一个 Tableau 数据源 (.tds) 文件。这些文件保存在 Tableau 存储库的“数据源”文件中, 以便您能够随时试验数据。

注意:尽管您可以体验数据,但 Tableau 只会向您显示数据示例,您将无法将工作簿另存为打包工作簿 (.twbx)。当您准备在 Tableau 处理自己的数据时,请为流程创建一个输出步骤,并将输出保存到文件或另存为发布的数据源,然后在 Tableau 中连接到完整数据源。

在 Tableau Desktop 中打开流程时,您可以看到流程中您正在处理的数据样本,其已应用到所选步骤为止的操作。

若要在 Tableau Desktop 中查看数据样本,请执行以下操作:

  1. 右键单击要在其中查看数据的步骤,并从上下文菜单中选择“在 Tableau Desktop 中预览”

  2. Tableau Desktop 将打开“工作表”选项卡。

创建和发布数据提取及数据源

重要信息:从 Tableau Prep Builder 版本 2020.3.1 开始,流程输出不再支持 Tableau 数据提取 (.tde) 文件。发布到服务器版本 2020.3 及更高版本、输出到此文件类型的任何流程必须转换为输出到 Hyper 数据提取 (.hyper) 文件类型。否则,流程将无法运行。如果流程已发布到 Tableau Server 或 Tableau Online,请下载流程,更改输出类型并重新发布流以避免流程运行错误。

若要创建数据提取,请运行流程。运行流程时,您所做的更改将应用于整个数据集。运行流程会生成 Tableau 数据源 (.tds) 和 Tableau 数据提取 (.hyper) 文件。您可以依据流程输出创建数据提取文件,以便在 Tableau Desktop 中使用,或与第三方共享数据。

从版本 2020.2.1 开始,可以使用增量刷新运行流程。此选项可以节省时间和资源,并使您能够仅刷新新数据,而不是刷新完整数据集。有关如何使用增量刷新配置和运行流程的信息,请参见使用增量刷新来刷新流程数据

注意:您可以将数据提取或数据源发布到 Tableau Server 版本 10.0 及更高版本,以及发布到 Tableau Online。

您可以采用以下格式创建数据提取文件:

  • Hyper 数据提取 (.hyper):这是最新的 Tableau 数据提取文件类型,并且只能由 Tableau Desktop 或 Tableau Server 版本 10.5 及更高版本使用。

  • 逗号分隔值 (.csv):将数据提取保存到 .csv 文件以与第三方共享数据。导出的 CSV 文件的编码将为带 BOM 的 UTF-8。

您还可以将数据输出以数据源形式发布到 Tableau Server 或 Tableau Online,以便共享数据并提供对您已清理、调整和合并的数据的集中访问。从版本 2020.3.1 开始,您可以将流程输出保存到数据库中,以使用干净、准备好的流程数据创建、替换或追加表数据。有关详细信息,请参见将流程输出数据保存到外部数据库(版本 2020.3.1 及更高版本)

注意:为了将输出发布到 Tableau Server,必须启用 Tableau Server REST API。有关详细信息,请参见 Tableau REST API 帮助中的 REST API 要求(Link opens in a new window)。若要发布到使用安全套接字层 (SSL) 加密证书的服务器,还要在运行 Tableau Prep Builder 的计算机上执行一些额外配置步骤。有关详细信息,请参见 Tableau Desktop 和 Tableau Prep Builder 部署指南中的安装之前(Link opens in a new window)

创建数据提取文件

  1. 单击步骤上的加号图标 ,并选择“添加输出”

    如果以前运行过流程,请单击输出步骤上的运行流程 按钮。这将运行流程并更新输出。

    “输出”窗格将打开,并显示数据的快照。

  2. 在左侧窗格中,从“将输出保存到”下拉列表中选择“文件”(在以前版本中选择“保存到文件”)。

  3. 单击“浏览”按钮,然后在“将数据提取另存为”对话框中输入文件的名称,并单击“接受”

  4. “输出类型”字段中,从以下输出类型中进行选择:

    • Tableau 数据提取 (.hyper)

    • 逗号分隔值 (.csv)

  5. (版本 2020.2.1 及更高版本)在“写入选项”部分,查看用于将新数据写入文件并根据需要进行任何更改的默认写入选项。有关详细信息,请参见配置写入选项

    • 创建表:此选项创建新表,或将现有表替换为新输出。

    • 追加到表:此选项将新数据添加到现有表中。如果表不存在,将创建一个新表,后续运行会将新行添加到此表。

      注意:对于 .csv 输出类型,不支持“追加到表”。有关支持的刷新组合的详细信息,请参见流程刷新选项

  6. 单击“运行流程”以运行流程并生成数据提取文件。

以数据源形式发布

  1. 单击步骤上的加号图标 ,并选择“添加输出”

    如果以前运行过流程,请单击输出步骤上的运行流程 按钮。这将运行流程并更新输出。

    注意:在版本 2020.1.1 中,Tableau Prep Builder 将刷新以前发布的数据源,并保留数据源中可能包含的任何数据建模(例如计算字段、数字格式设置等)。如果无法刷新数据源,则将改为替换数据源。

  2. “输出”窗格将打开,并显示数据的快照。

  3. “将输出保存到”下拉列表中,选择“已发布数据源”(在以前的版本中选择 “发布为数据源”)并填写以下字段:

    • 服务器:选择要在其中发布数据源和数据提取的服务器。如果未登录到服务器,则会提示您登录。

      注意:从 Tableau Prep Builder 版本 2020.1.4 开始,在您登录到服务器后,Tableau Prep Builder 会在关闭应用程序时记住服务器名称和凭据。下次打开应用程序时,您已经登录服务器。

      在 Mac 上,可能会提示您提供对 Mac 密钥链的访问权限,以便 Tableau Prep Builder 能够安全地使用 SSL 证书来连接到 Tableau Server 或 Tableau Online 环境。

      如果要输出到 Tableau Online,请在“serverUrl”中包括您的站点托管于其上的 pod。例如,“https://eu-west-1a.online.tableau.com”,而不是“https://online.tableau.com”。

    • 项目:选择要在其中加载数据源和数据提取的项目。

    • 名称:输入文件名。

    • 说明:输入数据源的说明。

  4. (版本 2020.2.1 及更高版本)在“写入选项”部分,查看用于将新数据写入文件并根据需要进行任何更改的默认写入选项。有关详细信息,请参见配置写入选项

    • 创建表:此选项创建新表,或将现有表替换为新输出。

    • 追加到表:此选项将新数据添加到现有表中。如果表不存在,将创建一个新表,后续运行会将新行添加到此表。

  5. 单击“运行流程”以运行流程并发布数据源。

将流程输出数据保存到外部数据库(版本 2020.3.1 及更高版本)

重要信息:此功能使您能够永久删除和替换外部数据库中的数据。请确保您具有写入数据库的权限。
为了防止数据丢失,您可以使用“自定义 SQL”选项复制表数据,并在将流程数据写入表之前运行它。

可以通过 Tableau Prep Builder 支持的任何连接器连接到数据,并将数据输出到外部数据库。这使您能够在每次运行流程时使用干净、准备好的数据在数据库中添加或更新数据。此功能可用于增量刷新和完全刷新选项。有关如何配置增量刷新的详细信息,请参见使用增量刷新来刷新流程数据

将流程输出保存到外部数据库时,Tableau Prep Builder 将执行以下操作:

  1. 生成行并针对数据库运行任何 SQL 命令。
  2. 将数据写入输出数据库中的临时表(如果输出到 Snowflake,则为暂存区域)。
  3. 如果操作成功,数据将从临时表(或 Snowflake 的暂存区域)移动到目标表中。
  4. 运行将数据写入数据库后要运行的任何 SQL 命令。

如果 SQL 脚本失败,流程将失败。但是,您的数据仍将加载到数据库表中。您可以尝试再次运行流程,也可以在数据库上手动运行 SQL 脚本以应用它。

输出选项

将数据写入数据库时,可以选择以下选项。如果表不存在,则在首次运行流程时创建该表。

  • 追加到表:此选项将数据添加到现有表中。如果表不存在,则在首次运行流程时创建该表,并在每次后续流程运行时将数据添加到该表中。
  • 创建表:此选项使用流程中的数据创建一个新表。如果该表已存在,则删除表和为表定义的任何现有数据结构或属性,并替换为使用流程数据结构的新表。流程中存在的任何字段都将添加到新的数据库表中。
  • 替换数据:此选项删除现有表中的数据并将其替换为流程中的数据,但保留数据库表的结构和属性。如果表不存在,则在首次运行流程时创建该表,并且在每次后续流程运行时,表数据将替换。

其他选项

除了写入选项之外,还可以包括自定义 SQL 脚本或向数据库添加新表。

  • 自定义 SQL 脚本:输入自定义 SQL 并选择是在将数据写入数据库表之前、之后运行脚本,还是在之前和之后均运行脚本。可以使用这些脚本在将流程数据写入表、添加索引、添加其他表属性等之前创建数据库表的副本。
  • 添加新表:向数据库添加具有唯一名称的新表,而不是从现有表列表中选择一个表。如果要应用默认架构(Microsoft SQL Server 和 PostgreSQL)以外的架构,可以使用语法 [schema name].[table name] 指定该架构。若要在表名中加入括号,请将左方括号增加两倍,将右方括号增加三倍。例如 [[表名]]]。”

支持的数据库和数据库要求

Tableau Prep Builder 支持将流程数据写入特定数量的数据库中的表。在 Tableau Online 中按计划运行的流程只有在云托管时才能写入这些数据库。

某些数据库具有数据限制或要求。Tableau Prep Builder 可能还会施加一些限制,以便在将数据写入支持的数据库时保持最佳性能。下表列出了可在其中保存流程数据的数据库,以及任何数据库限制或要求。不符合这些要求的数据在运行流程时可能会导致错误。

注意Tableau Prep Builder 尚不支持为字段设置字符限制。但是,您可以在数据库中创建包含字符限制约束的表,然后使用“替换数据”选项替换数据,但保留数据库中的表结构。

数据库 要求或限制
Amazon Redshift
  • 不支持排序规则。字段名将转换为全小写。
  • 可为文本字段值最多写入 8192 个字符。更长的值将被截断。
Microsoft SQL Server
  • 可为文本字段值最多写入 3072 个字符。更长的值将被截断。

MySQL
  • 可为文本字段值最多写入 8192 个字符。更长的值将被截断。
Oracle
  • 字段名和表名不能超过 30 个字符。
  • 可为文本字段值最多写入 1000 个字符。更长的值将被截断。
  • 字段名中的特殊字符可能会导致错误。
PostgreSQL
  • 可为文本字段值最多写入 8192 个字符。更长的值将被截断。
Snowflake
  • 可为文本字段值最多写入 8192 个字符。更长的值将被截断。
  • 必须将仓库选项设置为自动恢复,以使 Tableau Prep 能够将数据写入数据库仓库。有关详细信息,请参见 Snowflake 文档中的自动暂停和自动恢复(Link opens in a new window)

Teradata
  • 可为文本字段值最多写入 1000 个字符。更长的值将被截断。

将流程数据保存到数据库

  1. 单击步骤上的加号图标 ,并选择“添加输出”
  2. “将输出保存到”下拉列表中,选择“数据库表”
  3. “设置”选项卡中,输入以下信息:
    • “连接”下拉列表中,选择要在其中写入流程输出的数据库连接器。 仅显示受支持的连接器。这可以是用于流程输入的连接器的同一连接器或其他连接器。如果选择其他连接器,系统将提示您登录。

      重要信息:请确保您对选择的数据库具有写入权限。否则,流程可能只会部分处理数据。

    • “数据库”下拉列表中,选择要在其中保存流程输出数据的数据库。
    • “表”下拉列表中,选择要在其中保存流程输出数据的表。根据所选的“写入选项”,将创建一个新表,流程数据将替换表中的任何现有数据,或者流程数据将添加到现有表中。

      若要在数据库中创建新表,请改为在字段中输入唯一的表名,然后单击“创建新表”。首次运行流程时,无论选择哪个写入选项,都将使用与流程相同的架构在数据库中创建表。

  4. 输出窗格将显示数据的快照。字段比较显示流程中与表中字段匹配的字段(如果表已存在)。如果表是新的,则显示一对一字段匹配。

    如果存在任何字段不匹配,状态说明会显示任何错误。

    • 不匹配:字段将被忽略:字段存在于流程中,但不在数据库中。除非选择“创建表”写入选项并执行完全刷新 ,否则不会将该字段添加到数据库表中。然后将流程字段添加到数据库表并使用流程输出架构。
    • 不匹配:字段将包含 Null 值:字段存在于数据库中,但不在流程中。流程将 Null 值传递到字段的数据库表。如果该字段确实存在流程中,但由于字段名不同而不匹配,您可以导航到清理步骤并编辑字段名以匹配数据库字段名。有关如何编辑字段名的详细信息,请参见应用清理操作
    • 错误:字段数据类型不匹配:分配给流程中字段和向其中写入输出的数据库表的数据类型必须匹配,否则流程将失败。您可以导航到清理步骤并编辑字段数据类型来修复此问题。有关更改数据类型的信息,请参见查看分配给数据的数据类型
  5. 选择写入选项:您可以为完全刷新和增量刷新选择其他选项,并在选择流程运行方法时应用该选项。有关使用增量刷新运行流程的详细信息,请参见使用增量刷新来刷新流程数据
    • 追加到表:此选项将数据添加到现有表中。如果表不存在,则在首次运行流程时创建该表,并在每次后续流程运行时将数据添加到该表中。
    • 创建表:此选项将创建新表。如果具有相同名称的表已存在,则删除现有表并替换为新表。为表定义的任何现有数据结构或属性也将被删除,并替换为流程数据结构。流程中存在的任何字段都将添加到新的数据库表中。
    • 替换数据:此选项删除现有表中的数据并将其替换为流程中的数据,但保留数据库表的结构和属性。
  6. (可选)单击“自定义 SQL”选项卡并输入 SQL 脚本。您可以输入要在将数据写入表之前之后运行的脚本。

  7. 单击“运行流程”以运行流程并将数据写入所选的数据库。

 

此部分中的其他文章

感谢您的反馈! 提交反馈时出错。请重试,或向我们发送消息