Merge/Union 多个数据源

Merge/Union multiple data sources

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

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

我怎样才能在一年内完成所有工作?

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

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

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

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

第二个选项是将数据加载到数据库 table 而不是长 CSV 或 Excel 文件。

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

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

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

Download/Install MySQL Server locally

Load to new table using sql code

或者

Download MySQL Workbench for a graphical interface load

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

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

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