自 Tableau 2024.2 发布后,通过在“关系”基础上迭代升级,多事实关系可帮助你结合多组的表数据,进行更深入、更强大的多事实分析。这不仅意味着你可以使用单一数据源解锁更多类型的分析,还能简化在 Tableau 中构建复杂数据模型的过程,更快获得洞察。
无论你是数据小白还是分析达人,多事实关系都是非常值得深入探索的一项创新!
今天,就让我们跟随 Tableau 产品管理总监 Thomas 一起深入了解这项功能,并结合 5 个示例场景,看看应该在什么时候使用多事实关系模型吧~
简单回顾 Tableau “多事实关系”
作为 Tableau 2024.2 新增的数据建模功能,多事实关系可帮助你增强使用多个事实表(在 Tableau 中称为基表)建模和分析数据的方式。借此,你可以处理复杂的数据模型,例如多个星型或雪花型模式。
在《 一文了解 Tableau 2024.2 “多事实关系”模型的逻辑与用法》分享中,我们将多事实关系称为“共享维度”,这是因为有时候数据会分别存在于不同、不相关的多个基表。
假设,你有一个包含“销售数据”的基表和另一个包含“营销数据”的基表。现在,这两个表可以直接连接到共享维度表(如日期或产品),即便表中度量彼此没有直接的行级关系。
基于这种数据模型,你可以探索各业务基表的关联性并回答更复杂的分析问题,例如营销支出如何影响销售,或支出的实际情况如何与预算进行比较。如此,你就可以在单个数据源中探索更全面的数据场景,且无需耗时的数据处理过程,即可轻松地执行多事实分析。
如上图的零售商店数据模型,它用于监控和追踪仓库库存、营销活动、销售交易和客服支持。其中,我们可以看到:
各个基表(矩形外框以细线显示)彼此之间没有直接关联;
而共享表(矩形外框以粗线显示)可以跨基表关联,并包含了共享的维度和度量;
此外,共享表可以关联到下游共享表,例如产品 - 子类别 - 类别表。
多事实关系的 5 种应用场景
在多事实关系面世前,使用 Tableau “关系”功能构建的数据模型支持从基表向下游分支,但无法将表关联到多个上游表。如果你不需要多个基表,可使用标准的“关系”功能来创建仅包含下游分支表的数据模型。
接下来,让我们结合一些示例,看看多事实关系功能的强大与灵活。
01、使用一致性维度分析多组事实
如果各个表中存在相同属性和含义的维度(即统一维度/一致性维度。维度在不同事实表中保持一致,确保横向查询和分析的准确性),则可使用“多事实关系”轻松在 Tableau 中建模。
如上图所示,左边是具有一致性维度的往日建模方式,右侧是使用多事实关系在 Tableau 中重建的模型,支持多个基表和共享维度。你可以比较一下 4 个事实表如何成为基表,且 3 个下游一致性维度表如何与相关的基表关联。
Tableau 与其他 BI 解决方案不同,并非所有事实表都必须符合所有常见的维度表,并且你无需担心定向筛选器(directional filters,可根据数据中的层次结构、顺序或关联进行筛选和过滤)。这意味着,你可以将来自不同基表且彼此之间没有直接关联的度量,通过共享维度进行关联,从而聚合到共享表中的维度上。
如下图,结合零售商店示例模型的分析结果来看,多事实关系分别聚合了来自库存表、营销表和销售表的度量,并按共同的共享维度表(日期和产品)进行细分和可视化呈现。
需要注意,Tableau 是将中间结果(来自共享维度和每个基表)外部连接到共享维度的值(日期和产品),这与直接相关的表的内连接维度相辅相成。这种外部连接是根据共享维度将来自每个基表的正确聚合度量进行拼接后,再创建最终的可视化。
此外,虽然一致性维度可以实现多事实分析,但它缺乏使用共享表度量的灵活性。在 Tableau 中,来自基表的维度也能与共享表的度量一起使用,因此你可将共享度量值与特定数据孤岛关联起来,以便回答一致性维度无法回答的问题。
但是,当使用多个基表之间共享的表中度量时,Tableau 会出现一个相关性警告对话框,让你验证是否存在来自两个或多个基表的维度。
默认情况下度量将被完全聚合,但你可使用 FIXED 详细级别表达式来指定数据细分粒度:
{FIXED [Product (Marketing)]: COUNT([Products])}
{FIXED [Product (Sales)]: COUNT([Products])}
02、通过向外分支和向内分支关联表
通过支持多个基表,Tableau 数据模型变得更加灵活,支持你创建有效的循环关系。以前,你只能从基表创建下游分支,且此分支不能连接到其他表。现在,你可以使用多个基表和多个共享表来实现这种循环关系。
如上图所示,左边是以前的数据模型,支出基表与预算基表没有关联。右侧是使用多事实关系和共享维度表在 Tableau 中重建的模型,展示了一个循环关系,基表具有不同粒度级别。
Tableau 还保留每个基表的原始数据粒度。例如,预算表按月记录,支出表按天记录,日历表则包含用于分别关联预算表(月)和支出表(天)的单独一列。
03、在单一数据模型中获得灵活性
在多事实关系推出前,如果要将多个表关联起来,通常需要多个字段同时满足特定的条件,才能建立连接。这类似于“AND”逻辑运算,只有所有条件都成立,结果才为真。
如今在多事实关系中,Tableau 建议将每个共享维度(如日期、产品类别)单独作为一个表,以便根据需要自由组合共享维度表,来分析不同维度的数据。这类似于“OR”逻辑运算,每个共享维度单独作为关联条件,只要满足其中一个条件,就可以建立连接。
这样,你就可以让数据之间的关系变得更加灵活,从而获得更丰富和深入的分析结果。
就像示例模型中展示的那样:销售团队可以查看负责的产品在不同区域的销售情况;产品团队无需另外接入地理和客户的数据,就能全局洞察产品数据;财务团队则无需接触客户信息,就能探索日期和产品数据。
请注意,当对共享维度应用筛选器时,仅会影响共享该维度的相关基表。而对非共享维度应用的筛选器则仅限于该基表及其关联表。
04、合并具有共同维度的不同数据源
与其连接多个不同的数据源然后在仪表板上组合呈现可视化,不如创建一份包含多个基表的统一数据源。这样,既能保持无关表的独立性,也避免了数据混合时偶尔要变通的窘境。
借助多事实关系,你还能在一个数据源中分析经历不同阶段的数据。换句话说,你可以跨阶段创建计算字段。
上图显示了如何合并来自课堂注册的学生数据、各种学校活动以及与毕业相关的数据。左边表示以前只能以三个独立的数据源作为主键,再分别与其他表进行关联。右边模型表示使用多事实关系在 Tableau 中重建,共享维度表与基表可彼此交叉关联,从而实现统一数据视图。
值得一提的是,与所有关系一样,Tableau 通过保留表之间的逻辑关系而非合并物理表来确保数据查询性能和分析可用性。
05、寻找不相连的表之间的相关性
到目前为止,我们一直在讨论涉及共享维度的示例。但如果数据之间没有任何共享维度呢?多事实关系引入了一种新的可能性,可以分析彼此之间不需要直接关联的数据孤岛。
例如,零售商可以使用这份示例数据模型探索不同的客户群,以了解不同广告媒介(如数字营销和纸质传媒)与首选付款方式之间的相关性。
如上图所示,可以看到:即使 Marketing Type 和 Sales Type 这两个维度在逻辑上是不相关的,但通过将不相关的维度交叉连接在一起,我们仍然可以在没有直接数据关系或使用共享维度的情况下探索潜在的相关性。
尤其是在进行复杂数据建模或预测时,这种交叉连接分析可能会揭示一些意外的模式和见解。比如,在同一广告媒介中,不同支付方式的营销支出是相同的,但销量存在差异。
立即升级或试用 Tableau 2024.2,探索强大灵活的多事实关系模型吧!
👉 如需探索“零售商店数据模型”示例,可点击此处下载工作簿~
👉 Tableau 帮助文档:关于多事实关系数据模型
👉 Tableau 帮助文档:何时使用多事实关系模型