【特别说明】强烈建议先阅读最新博客:Tableau 如何合并数据· 顿悟后的究竟指南,可以作为连接并集、连接、混合的总纲!万分重要!

喜乐君· 数据连接专题

在上一篇中,我详细介绍了不同数据合并方法的概念和逻辑,特别是第四部分增加了判断逻辑 (Tableau基础·如何合并你的数据?理解与逻辑),文章中的截图都来自于desktop工具。但是,当你的数据合并需求复杂时,最佳的策略是使用Prep来独立完成数据整理工作。本篇在上篇基础上,说明如何使用prep来实现这三种合并方法,特别说明如何选择的逻辑,并如何完美结合到一起。

屏幕快照 2019-08-01 上午7.06.09.png

从更大的视角,我们可以把数据合并看作为视图可视化独立的、前置环节。在这个问题上,如何协调Desktop和Prep二者的关系呢?我想可以参考这两句话:

  • 凡是Desktop能完成的数据处理功能,prep都能完成,且多半更高效;
  • 凡是因数据量或者合并复杂性需要大幅优化性能的,使用Prep来完成。

Tableau Prep的推出,无疑把可视化数据整理提高到了一个全新的高度,把Tableau所能完成的数据整理工作的复杂度提高了一个量级。我特别喜欢使用Prep,因此也极力推荐大家使用Prep来完成数据合并和数据处理,为什么呢?

  • 单独的数据处理环节有助于IT和业务人员的进一步分工,保持数据统一性,且简化业务端的可视化复杂性;
  • Prep能完成很多Desktop中无法完成的数据处理场景,并且能显著提高desktop可视化部分的性能指标。

 

一、Desktop数据合并的类型与选择的逻辑(复习)

在上一篇中,我们把数据合并分为数据并集Union、数据连接Join和数据混合Blend三种,在desktop中,前两种是在数据源层面处理,而数据混合是在构建视图的层面聚合。因为后者的灵活性,我把前两种称之为“硬连接”,而把数据混合称之为“软连接”,不妨通过下面的这个图,更好的理解它们所处的位置:

屏幕快照 2019-08-02 上午6.42.50.png

问题的关键是如何选择合适的数据合并类型,这里缺少一个明确的判断逻辑,特别是数据连接VS数据混合。这个逻辑有很多种判断分支,我坦言还没有找到最佳的判断方式。

在desktop中,我尽可能用几句话说明选择的逻辑,如下:

1、当且仅当多个数据的数据结构完全一致时,才使用数据并集Union

数据并集就是不同数据源的上下追加,它会让数据越来越长,而非越来越宽。

2、当且仅当行级别的数据有必要性和意义时,才使用数据连接Join

数据连接是“硬连接”,它会延长前一个数据源的字段数量,一旦连接就不要再想断开——除非以所有视图重建为代价。因此,当连接的数据源中字段特别多时,会导致数据冗余,而优点是数据准确和稳定。

3、如果需要数据提前整理,特别是需要提前聚合之后再联结时,使用数据混合Blend

特别是遇到日期类别的聚合,比如只有一个日期字段,但是想要在“年”的层级上联结两个数据源的字段,就要使用数据混合。和数据连接相比,混合胜在性能更好、减少数据冗余、视图层面的灵活性,但是灵活的代价是不稳定性,因此设置时要格外小心。

屏幕快照 2019-07-17 上午8.44.57.png

二、 Desktop Or Prep ?

在Prep中,我们可以完成上面的所有数据合并场景,而且可以更加复杂。和desktop相比,Prep可以完成数据整理方面的建模和重复完善使用,而Desktop不能很好地胜任这个使用场景。

  •  Desktop的数据连接是一次性的,如果要重建一个副本,需要复制这个数据源再修正,这往往意味着数据的巨大浪费;而在Prep中,每个节点都可以扩展任意分支,实现了一个数据源重复使用,有助于数据准确性和统一性。因此,如果我们要在不同阶段、不同流程中反复使用单个数据源,建议使用Prep建模的方式来完成。
  • Prep在数据合并方面的可视化效果更好,可以直观的查看数据的来源、字段合并情况与结果,而且可以在合并后即时处理。后面我们简要介绍了它在可视化整理方面的优点。
  • Prep更适合完成复杂的数据整理过程,比如:
    • 在不同整理阶段的多次数据连接
    • 基于数据聚合结果的数据合并
    • 数据整理作为前置阶段的数据合并
    • 同一个数据源在不同阶段产生不同的数据结果(可以作为数据仓库使用)

 

三、Prep实现数据合并

上述的所有数据合并方式,我们可以在Prep中完成,“并集”和“连接”的逻辑基本一致,但是“数据混合”则显著不同。如果要对比在两个软件中的区别,我想可以用下图表示。

屏幕快照 2019-08-01 上午8.05.11.png

1、Prep中实现“数据混合”

在Desktop中,数据混合相当于视图层面的数据查询,本质上是跨数据库的聚合查询。但是在Prep中没有可视化视图的概念,聚合是通过单独的“聚合”功能节点来完成的,因此对应了两个过程:数据整理阶段的聚合,和聚合之后的连接。能理解这个过程,就会更好地理解desktop中的混合过程。

在Prep中,流程节点有整理、合并、连接、转置、输出几种动作方式,每一个流程节点都是一种动作类型的集。添加节点后,通过下方的设置面板,可以直观设置连接字段及其连接方式,Prep会直观反馈结果。我们可以使用Prep中的超市流程,更好的理解这个过程。

Prep 数据合并.jpg

2、数据并集与连接

上面的这个图示的下半部分,展示的是四个数据合并之后的结果,Tableau Prep自动通过颜色标记整合的数据结果。

关于并集和连接的更多介绍,欢迎参考博客或者查询官方帮助文档:

 

四、Prep数据整理的优势

在Prep中,数据合并的过程更加直观、简单,Tableau创新性的使用可视化的方式让没有技术能力的人也能轻松实现上述的所有操作,简而言之,有几个特别方便的地方:

1、轻松拖拽实现合并

Prep继承了Tableau完美的拖拽分析基因,仅需要拖拽一个流程放在另一个上面,就可以轻松创建并集或者连接,相对于SQL查询的数据查询和合并语法,简直就是毫不费力即可完成。在并集中,可以把没有自动合并的字段拖拽合并,也非常简单。

prep 合并

2、颜色指示器

Prep最吸引人的地方之一,是通过可视化的颜色区分每个数据来源和节点,通过颜色指示器,可以清晰地发现没有无效的并集、连接的来源等,甚至无需记住对应的数据源名称。这种设计极大地降低了业务人员使用此工具开展数据整理的难度。

之后我会介绍一个复杂的Prep连接用法,就会说明如何通过颜色来增强辨识度,降低错误风险。

3、所见即所得

在数据连接时,仅需要点击连接的不同部分(下图高亮部分),就能轻松切换连接的不同类型:左连接、右连接、内连接或者外连接,Prep随处可见的类似“所见即所得”的用法,非常方便。

屏幕快照 2019-08-01 上午8.10.14

一般而言,大家说数据合并仅指“并集”和“连接”两种方式,而我往往是把“数据混合”放在一起介绍,因为数据混合才是高级分析的精髓,而对它的理解有赖于前面二者的理解。但是也要清晰地明白它们的区别,才能得心应手的使用。

by 喜乐君 Tableau Partner

Aug 1, 2019 大连 update
Aug 2, 2019 青岛 update