从数据到信息
从信息到洞察

Tableau 新版本加入数据模型功能,和Power BI相比是什么水平?

浓眉大眼的 Tableau 也开始搞关系了

建立表关系对 Power BI 用户是一个习以为常的操作,和 Qlik 一样,这是所有基于数据模型的 BI 工具的共性。不过,最近事情有了一些变化,因为 Tableau 也加入了进来,不要小看这个新功能,因为对于一个定位于数据可视化的工具来说,这是一个从 0 到 1 的突破。这篇文章是我对 Tableau 最新版引入的关系功能的看法,供各位参考。

Tableau 的从 0 到 1

最新版本的 Tableau 2020.2 加入了定义表间关系的能力,使得 Tableau 数据建模能力达到了一个新高度,被称为是继详细级别表达式之后的又一重大更新,Another Game Changer. 那这个功能究竟是做什么的呢?简单的说,它可以像 Power BI 一样在表和表之间建立关系,然后基于关系执行表间的运算。操作也很简单,看下面这个图,使用体验我个人觉得要好于 Power BI。

作为 BI 市场的两个主要竞争对手,Tableau 是可视化领域的扛把子,Power BI 强于数据建模,双方各占优势。但是,只要任意一方在对方的优势领域里拿出一个相似的产品,不需要追平对手,只要功能接近,局势很可能就会发生明显变化。 所以,Tableau 这个可以建立表关系的新功能是否真正威胁到了 Power BI 的根基 – 数据模型呢?

这里先说结论:新数据模型简化了 Tableau 过去需要 LOD 才能完成的一些复杂运算,优化了底层 SQL 的执行效率。不过这个结构只是看起来像模型,并不具备真正 DataWarehouse 的能力,功能非常有限,还不能与 PowerBI 相提并论

了解 Tableau 的 New Data Model

Power BI 用户对于在表和表之间建立关系、使用关系并不陌生,我们把表和关系统称为数据模型。数据模型可以帮助我们灵活的实现各种跨表计算,而不需要提前把所有表合并到一起。我们甚至可以在计算过程中通过 DAX 启用和关闭特定的关系,以实现一些更为复杂的计算。在 Power BI 中,数据模型还有另一个名字:Semantic layer,语义层。基于模型的计算是 Power BI 的强项,因为 Power BI 从一开始就是一个面向模型的工具(Model-based tool)这种定位的优点是可以在模型层面建立通用计算,缺点是定义报表级别的计算不够灵活。

而 Tableau 恰好就是基于报表的工具,它在报表级别的计算非常灵活,但是一直缺少真正意义上的语义层,也就是无法在模型之上开展计算。直到最新版本中加入了关系。

Tableau 官方把基于关系的表称为逻辑层,其实就是语义层

在关系引入前,Tableau 通过数据联接的方式将所有表合并为一张宽表,这种方式对来自数仓的数据源并不友好,增加了额外的工作量,产生不必要的数据冗余。

除了数据联接外,数据混合也可以完成类似计算,它的缺点是性能不够好,并且无法复用。某种程度上这也是报表工具需要做出牺牲的地方。

随着关系的加入,以上问题有了新的解决方案。让计算发生在语义层,可以避免合并宽表的大量预计算,性能也好于数据混合。具体会给 Tableau 带来哪些积极变化,官网有详细的介绍,大家也可以参考官方的这个总结。

总的来看,这些优势对于 Power BI 用户可能不会有明显的触动,因为早就已经具备了。但是对于 Tableau 的用户来说,确实是非常大的提升。

局限

新数据模型是否可以让 Tableau 挑战 Power BI 的核心优势呢,答案是还不行。我举两个例子:

对关系的使用

观察第一张图,你会发现 Tableau 中的关系是没有方向的,虽然也可以像 Power BI 中那样选择一端和多端,但这里的作用只是判断聚合运算的逻辑,即使关系列包含重复值,你也可以将其设置为一端,只不过这会导致在视图中显示重复的聚合值。但是在 PowerBI 中,这是不被允许的。

多事实表使用受限

两个事实表不能连接到同一个维度表,如果你有订单表和发货表两个事实表,想从时间维度同时查看两张表的变化趋势时,Power BI 中我们可以用一个日期表同时和它们建立关系就可以进行分析,但目前在 Tableau 中无法实现。

Tableau 的逻辑层与真正的数仓的语义层还是有明显的区别,Tableau 中第一个拖入画布的表是根表(root),后续所有加入的表都会与它存在直接或间接的关系。这种结构建立星形模型很方便,但是无法很好的支持多事实表的关系模型。

总结

Tableau 通过新数据模型首次加入了语义层,对于报表工具来说这是很了不起的一个更新,其重要性不亚于详细级别表达式。不过,受限于工具本身的定位,我并不认为在它在模型层面会有太大的提升空间,这个功能很可能会和数据联接、数据混合一起,三足鼎立互为补充,让用户在处理数据源的时候多一种选择。

但是对于用户来说,新的关系模式可能意味着比较高的学习成本,尤其是对于主打易上手特性的 Tableau 来说,建关系要比建宽表复杂的多,这下又要学习新知识了。(Power BI 用户旁白:这也太基础了,已经比我们幸福太多了)

而对定位于模型工具的 Power BI 来说,在模型层有非常多的工具和手段,基本上已经把友商远远甩在身后。在未来发布的新功能中,PowerBI 把语义层又推到了一个新高度,你可以在一个文件中导入多套模型(multiple semantic models) ,同时对它们展开分析。所以,没有完美的工具,你需要根据自己的使用场景做出选择。

即将发布的混合语义模型

 

说点什么

1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
  订阅本文评论  
提醒