【问题标题】:Merge/Union multiple data sources合并/联合多个数据源
【发布时间】:2015-10-02 03:09:21
【问题描述】:

我有 4 个具有完全相同列的 excel 文件,它们只是按季度简单地细分。这是必需的,因为自动化系统无法处理太大的文件。

在 Tableau 中,我已连接到每个数据源并将它们称为 Q1/Q2/Q3/Q4。

我怎样才能让这一切在一年内完成?

我探索了加入,并阅读了有关自定义 SQL 联合的文章。这不起作用,它似乎只让我在同一个工作簿中的工作表之间进行联合。它们是不同的工作簿,因此是不同的数据源。

【问题讨论】:

  • 此外,您似乎不想加入表格,而是附加它们。在这种情况下,Tableau 无法帮助您(我猜)。如果加入适合您,您可以随时保存在 csv 中。你可以加入不同的csvs
  • onlinehelp.tableau.com/current/pro/desktop/en-us/qs_union.html - 查看可以使用 UNION 的数据源列表

标签: tableau-api


【解决方案1】:

从版本 10.1 开始,您可以在指定 UNION 时使用通配符搜索功能对来自不同 Excel 工作簿的工作表进行 UNION。

尽管如此,Tableau 可以处理非常大的 Excel 或 CSV 文件,因此另一种选择是在使用 Tableau 之前将多个数据文件附加到一个长文件中。

如果您的前端工具一次不能生成超过四分之一的数据,那么在使用 Tableau 之前将文件附加到一个文件中(带有单个标题行)并不难,尤其是在使用 CSV 时。有很多方法可以做到这一点,但一个可以简化此类任务的免费工具集是 csvkit http://csvkit.readthedocs.org

第二种选择是将数据加载到数据库表中,而不是长长的 CSV 或 Excel 文件。

第三个选项是从其中一个文件中创建 Tableau 数据提取,然后将数据附加到其他文件的提取中。这是您最省力的工作,但请确保您先了解数据提取的工作原理(并保留原始文件以备需要重建数据提取时使用)

甚至还有第四个选项。使用 Excel 的复制工作表命令(右键单击选项卡)将所有文件合并到具有多个工作表(选项卡)的单个 Excel 工作簿中。然后,您可以使用自定义 SQL 将工作簿与 UNION ALL 命令结合起来。但这需要您使用旧版 Excel 驱动程序才能使用自定义 SQL。对于这个用例,这不是我推荐的选项,但如果你真的讨厌其他选择,它会起作用。

【讨论】:

  • 很遗憾,您可能是正确的。令人难以置信的是,在 8 个版本的 Tableau 之后,甚至在内部,都不需要追加到数据集?我计划让它全部实时连接到数据,然后其他用户可以自动刷新,因为这四个 excel 文件每晚都会自动拖放到服务器上......但是如果现在我需要进入那里并预先组合它们,那么这不再可行
  • 听起来你有点反应过度了。预先组合并不困难或耗时。您可以使用 csvkit、python 或许多其他工具轻松实现自动化。正如我所提到的,您可以根据需要附加到数据提取,或者您可以使用数据库。所有合理的方法。
【解决方案2】:

当涉及到大多数数据集时,我更喜欢在 Excel 之外工作。如果我遇到这个问题,我会将数据恢复为 Tableau 可以使用本地或托管数据库更轻松地使用的格式。我的首选是 MySQL。

Download/Install MySQL Server locally

Load to new table using sql code

或者

Download MySQL Workbench for a graphical interface load

其次,我会考虑垂直拆分数据,而不是按季度拆分数据,以便在 Tableau 中混合或加入数据。如果您有权访问报告结构,请为所有四个文件选择一个主键并在它们之间拆分字段。这可能会变得很难看,所以如果可能的话,我会坚持使用本地数据库选项。希望这有助于激发一些想法。

【讨论】:

    【解决方案3】:

    CSV 文件联合现在(从 9.3 版开始)是 Tableau 功能的一部分:https://www.tableau.com/about/blog/2016/1/combine-your-data-files-union-tableau-93-48891

    您可能还想为我的 Extract union 的想法投票:https://community.tableau.com/ideas/7076

    【讨论】:

      【解决方案4】:

      如果您要加载的电子表格少于 30 个,那么免费版的EasyMorph 就足够了。它可以从给定位置(或多个位置)加载多个文件,自动连接它们并发布到 Tableau Server 或 TDE。免责声明:我为 EasyMorph 工作。

      【讨论】:

      • 我看到您在两个答案中推荐了 EasyMorph。如果您以任何方式与 EasyMorph 有关联,则需要披露。
      • 我已添加免责声明。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-24
      相关资源
      最近更新 更多