跳至正文

Tableau 如何合并数据· 顿悟后的究竟指南 update Video

//我是Tableau的解读者,而非官方文档的搬运工。

早上学习,突然顿悟,这可能是我能写出来的,关于数据合并的最究竟的文章了!以此为指引,可以完全掌握Tableau的多种数据合并方法,特别是最让人头疼的「数据混合」。

如果这篇博客能完整领会,其他的都不用看了,包括我之前写的几篇。 初学者可能感觉本文过于凝练,可以查看同步推出的视频详解,参见:Tableau数据合并的究竟指南·Udemy

本期的视频详解,参见:Tableau数据合并的究竟指南·Udemy  27min

【202012更新】

在今年出版的《数据可视化分析:Tableau原理与实践》中,重新绘制了并集、连接和混合的关系图。

e68989e9a1b5e68f92e59bbee4b98b2-e59bbe-4-31-e695b0e68daee5b9b6e99b86e38081e8bf9ee68ea5e5928ce6b7b7e59088e79a84e585b3e7b3bbe59bbe

加入数据关系之后(2020.2版本),上面的图形就有了变化,参见另外的文章。

一、数据合并的几种方法与相互位置

严格的讲,数据合并只有两类:相同的上下相续,不同的前后相接,前者称之为「并集」union,后者称之为「连接」join,再无其他类型。

不过,连接在不同阶段又有巨大的差异,因此不得不分为两种情形来说,一种是连接数据库后的数据连接,此时是行级别的,相对简单易懂;另一种是在构建视图之后,想在聚合的结果之后增加来自于另一个数据库的聚合结果,此时是聚合级别,相对就不容易理解——毕竟聚合的层次需要的是高级的抽象思考和想象力。后者在Desktop中起了一个恰当但又有些让人迷糊的名字:数据混合blend

这就是并集union、连接join和混合blend的纠缠历史。

为了更好的理解,我用下面的这个图来代表它们在分析过程中的相对位置,借助这个图形,我想总结几点:

屏幕快照 2019-08-30 上午9.35.54

1、「数据并集」可以视为是数据整理的一部分,它几乎、总是与数据连接前后紧挨着发生——如果需要并集的话;

2、如果数据需要整理,一定要先整理,再连接;因此,数据连接几乎总是在数据并集后面;

2、三者的关系上,数据并集更靠近数据源,数据连接是构建视图聚合的前提,并集和连接一定在视图之前,数据混合一定是在视图之后更靠近视图,因此,几乎、必然、总是上面的顺序,不可能有颠倒;

3、数据混合是构建视图的一部分,在数据混合发生时,主视图已经构建——也就是已经根据问题需要创建了数据聚合——而后数据混合在原来主视图基础上,增加了辅数据源的聚合数据,可以理解为数据连接的高级形式。

和并集、连接不同,数据混合需要明确的区分主数据源和辅数据源——主数据源构建了主视图,辅数据源相当于修补匠。

屏幕快照 2019-09-02 上午7.57.38.png

done ~

理解了上面的图形和总结,你几乎就可以完整的理解三者方式的完整意义!

二、Desktop和Prep的差异性

desktop是做视图可视化的,而prep是做数据整理的,prep中绝对没有可视化视图的概念,因此就没有desktop中基于可视化视图的数据混合!(补充:有人说prep也有视图的概念,view,在相关专业和很多数据库中,把聚合而成的table都称之为一个view。因此,我用“可视化视图visualization ”来代替desktop中的视图。 区分view 和viz。)

但是,可视化视图的本质是基于问题层次的数据聚合,问题代表层次,层次即聚合。在prep中,没有可视化视图viz,但是有聚合aggregation ,每一个聚合都是虚拟的数据仓库,因此可以理解为新的行级别集合。正因为此,prep可以执行多次数据整理、聚合后的连接,desktop却不行。

通过下面的图可以看到,prep中用另一种方法构建基于聚合的数据合并,万能、无敌的聚合+连接组合!既然可以随时聚合,又能反复创建,因此就可以在任何层次执行数据连接,就可能实现desktop中的数据混合功能。

Beautiful ~

屏幕快照 2019-08-30 上午9.36.23

下面这个图片,可以用来理解Prep中的“数据混合”过程。借助 聚合+连接 的组合,Prep可以在任何层次实现desktop中的数据混合过程——本质上都是先聚合再连接,区别在于desktop构建了可视化视图,prep只是构建了聚合数据表。

屏幕快照 2019-09-02 上午7.55.14.png

三、Desktop中三种方法的说明与对比

进一步展开,可以对比desktop中的三种合并方法,使用下图,如果理解了上面的内容,如果有了顿悟的感觉,下图可以跳过去了,安心休息。

屏幕快照 2019-09-03 上午9.10.49

四、理解数据的层次就是理解问题的层次,应该作为数据分析的起点

总结几句话,以后再慢慢展开。

1、数据库中只保存了数据的关系,但是没有数据的层次(我不说多维数据源啊)

2、构建视图的过程,其实是分析问题的层次,然后按照问题层次把数据表达出来,比如CEO关心销售总额,部门经理关心分公司排名,主管只关心商品的毛利情况等;

3、构建视图的关键,是找到问题的层次;

4、找到了问题的层次,仅需要把数据聚合出来,然后选择合适的图形就好。

所以,我把我的冰山又做了一些这方面的补充,帮助理解:

层次与冰山

Done!

{add } 可以用一个图来总结上面的这一部分。

可视化过程

数据分析的关键,就是基于问题找到层次;而当我们遇到多个层次时,就需要详细级别表达式和表计算等,我称之为广义LOD表达式,这就是仲秋节我准备课程时的大悟了。后期会增加一篇博客“广义LOD表达式 究竟指南”。

这应该是我写的最快的博客了,心中流淌,信手拈来。

早安,Tableau~

早安,Tableau users~

数据合并系列

Aug 30, 2019
Sep 2, 2019 update pictures
Sep 3, 2019 update
Sep 19, 2019 update pictures and revise

喜乐君 Tableau Partner ,产品销售、服务和培训

《Tableau 如何合并数据· 顿悟后的究竟指南 update Video》有0个想法

  1. 恰好这两天在多次使用数据混合,刚好加深理解了。 不过 喜乐君, prep 其实就是 UI 化的SQL, 或者理解为数据仓库(各种各样的临时表), 所以prep实际也是有视图的,多个分支分别聚合后就是多个视图,多个视图join(在同一个详细级别)就是数据混合。只不过大家可能更习惯只用prep的ETL功能,只做一些简单的清洗加工,视图级别的放在desktop中了。但是Prep本质是可视化的SQL,他可以做desktop很多工作的。

    1. thanks 你说的对,就像desktop的视图背后就是交叉表,prep的背后也是一个个的view;我这里说的视图概念,是desktop的角度,毕竟都是先用了desktop采用了prep。
      你说的对,我后期改改 ,这样说不够严谨

  2. Pingback: Tableau基础·「如何合并你的数据」之Prep方法篇 (中) – 喜乐君

  3. Pingback: 【数据整理】一份思维导图,学完Tableau Prep – 喜乐君

  4. 个人理解:BI 本质上是根据业务层级(不同级别人员的视角),通过数据间关系连接数据(tableau里行级别join或者高粒度聚合blend混合连接 数据共同项,powerbi里有维度表和事实表的雪花型和星型关系relationship),再利用数据间的关系,进行条件过滤筛选,输出的viz本质是不同粒度或者不同维度分组后(在powerbi里是不同的hierarchy级别的不同纬度,tableau里是不同粒度层次)的聚合结果表。viz只是分组聚合结果表的图表呈现形式,tableau或者powerbi对筛选分组聚合的计算结果进行函数封装实现数据可视化,做到data insight. mining 等概念更好落地。

    1. 对BI的逻辑描述的大致是对的,根据需求整理和合并数据、过滤筛选之后以视图聚合输出。
      不过,Tableau中的数据混合优先级低于维度筛选器,是在主视图构建后的操作,因此不应该和join放在同一个位置去理解。

  5. Pingback: Tableau基础·如何合并你的数据?理解与逻辑(上) – 喜乐君

  6. 所以Desktop的并集Union只能用要一个数据源(一个数据链接),prep也是但它后面可以通过聚合完成上下合并的结果 ?

  7. Pingback: 【经验】从分析角度看数据准备要点 – 喜乐君

了解 喜乐君 的更多信息

立即订阅以继续阅读并访问完整档案。

Continue reading