Tableau 最近发布了2020.2版本中的逻辑数据模型(The Tableau Data Model),而这一直以来是微软 Power BI 的核心之一。Power BI 的"tabular"模型在 Microsoft 各个产品之间具有共享的沿袭,诸如Power Pivot for Excel 和 Analysis Services,这些产品早于 Power BI 本身,他们拥有相同的引擎。
以下是在 Tableau中定义的简单模型:
以下是在 Power BI 中定义的相同的简单模型:
在 2020.2版本发布之前,Tableau 允许表和表之间进行联结。不过,功能也只是和Power Query中的合并查询类似,将多个表合并为一个。这个功能,现在还在。
而随着 Tableau 2020.2 版本中逻辑模型的引入,单个逻辑表可能由一个或多个物理表组成。两个或多个逻辑表可能彼此相关。这个方法与微软的tabular模型有许多相似之处,但是这并不代表你可以类比在Power BI中的建模方式在Tableau中操作。
之前的一篇文章:从另一个BI平台迁移到BI时应避免的五个错误
文中提到:
“如果要构建Power BI报表以替换旧平台上的现有报表,并询问用户他们希望报表的外观,则最常见的答复是“就像旧的一样”。这是危险信号!如果你正尝试使其执行原本不打算执行的操作,那么结果就是Power BI报表难以构建且运行灰常缓慢。”
同样的道理,企图直接用Power BI中的建模思想在Tableau中进行建模是不可取的。
所以。接下来说一下 Tableau 和 Power BI 之间的逻辑数据建模之间的四个核心区别:
一、多个事实表
Tableau支持多个事实表是其发展逻辑模型的初步尝试,然而逻辑模型却不支持多个事实表指向多个维度,这就奇怪了。
在 Power BI 中,我们通常使用多个事实表来构建数据模型,这些模型一般情况下都会与多个维度相关,如下图所示,上方三个维度表, 下方两个事实表:
但是在Tableau中,只能建立这样的模型,我就想问,这样的模型有啥意义吗?
Tableau的帮助文档《The Tableau Data Model》中有一个“不支持模型”(Unsupported models)的部分:
对于这种不支持的模型,Tableau提供了一种变通的办法:将两张事实表合并成一个表。Tableau还提供了另一种方法:交叉联结维度表。但是过来人告诉你,千万别用,使用谁“草鸡(cǎo jī)”。唯一的建议就是赶紧向Power BI学习,不过,如果完全和Power BI一样,那也就失去了意义,在别人的预设阵地上跟别人拼刺刀,可能就是找死,所以创新出比Power BI还要棒的模型,是当务之急,否则也是死路一条。
二、使用多个字段定义关系
我们知道,Power BI 的tabular模型仅允许由单个字段定义的关系,两张表中如果想对多个字段建立关系,也只能是虚线的未激活的关系,当激活了该关系时,另一个关系相应地就成了未激活。
所以在 Power BI 中,如果需要在多个字段上定义关系,则必须通过将字段串联在一起手动构建该复合键作为解决方法。例如,如果需要基于省份和城市创建地理关系,则最终将创建具有"山东青岛"等值的复合键,而不是单独在"省份"字段和城市字段上分别关联。
不过呢,Tableau 却允许我们在多个字段上定义关系:
如果是之前一直使用Power BI,那么很可能已经习惯了,当看到Tableau这种骚操作会觉得很惊奇,然后爱不释手。
不过如果是感受过了Tableau的美好,再回到Power BI中,很有可能会掉到坑里去。
三、激活关系和非激活关系
Tableau 和 Power BI 都只允许表之间有单个激活关系。不过,Power BI 允许两个表之间有多个非激活的关系。使用 DAX 度量值可以激活这些非活动关系,并在需要时将已存在的活动关系关闭掉。
比较常见的场景是:事实表中有多个日期,如订单日期和发货日期。通过度量值的激活与否来控制到底使用哪一个关系。但是更多的情况是,我们可以通过建立两个维度的日期表来分别控制这两个日期,这才是最佳实践。
但是,Tableau 不允许表之间的多个关系,非激活的也不行。
四、双向关系
在一对多关系中,Power BI 允许从一侧到多个(单方向)以及从多侧到一个(两个方向)之间的筛选器。除了特殊情况之外,Power BI 中通常不鼓励使用双向关系,因为如果模型中有多个指向同一维度的事实表,则它们可能会导致意外错误的结果。但是呢,在极少数情况下,双向关系偶尔也能产生比较好的作用从而实现目的。比如页面的权限控制一文中说过的:PowerBI 个性化定制你的报告导航
参考文档:
https://help.tableau.com/v2020.2/pro/desktop/en-us/datasource_datamodel.htm
https://www.kasperonbi.com/power-bi-desktop-dynamic-security-cheat-sheet/
最近学习了一下Tableau。Tableau还是比较贵的,不过某宝上几十大洋拿到了一年的授权。但是一年后肯定过期啊,还得重新买。这个时候parallels desktop的作用就出来了。轻松无限使用。
本文分享自 PowerBI生命管理大师学谦 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!