举个栗子!Tableau 技巧(161):使用关系实现数据逻辑连接

發布於: 2022-09-16

Tableau 2020.2 及以上版本用户,可以使用关系功能组合多个表中的数据进行分析。对此,我们之前分享过:关系语义学的 8 项规则、使用关系的重要提示和技巧 以及 使用关系跨多表进行提问。

很多 Tableau 用户反馈:在实际业务分析中,使用关系功能究竟能解决什么问题呢?这里,我们来通过一个实例:同时展示不同维度不同粒度的数据,帮助大家更了解和使用关系。

假设某房地产企业,需要展示“每项费用与地产面积的比值”。分析字段在不同的 Excel 中,其中收入的数据粒度是:地块+财务科目+月份(如图左上),而面积的粒度只有:地块(如图右下)。

为实现想要的分析呈现:每项费用与地产面积的比值,需要先对数据源进行一些处理。

☝ 常规的处理方法,是在数仓阶段把原本两张表的数据,编制在一张大宽表中(如图左上)。

这种情况,会有一个新的问题:因为每个地块都有多项费用,每项费用会有一行数据,如果只是计算每个地块的面积时,自然不会有问题;但是在计算地块所属的项目面积或者是集团总面积时,就需要创建 FIXED 计算字段(如图右下)。

☝ 有些用户会想到用“将费用项行列转置”的方法解决上述问题。但是,真实的业务分析场景中,费用项目远远大于实例的数量,行列转置的方式虽然方便用 Tableau 分析数据,但是它对于企业数仓的建设是很不利的。

那么,有没有更好的方法呢?此时,就要用到关系功能啦!

本期《举个栗子》,我们要给大家分享的 Tableau 技巧是:使用关系实现数据逻辑连接。

具体步骤如下:

Step 1

首先,连接财务数据“Fact_AM”和地块数据“Dim_Asset”数据源。

Step 2

然后,把包含了地块面积数据的地块维度表“dim_Asset”也拖入其中,双击两张表之间那条桔色的连线,会弹出一个“编辑关系”的框,选定两张表有关联关系的字段“Asset ID”来建立两张表的关系,关系可以把两个数据源分别按纬度汇总再关联在一起。

Step 3

最后,来看看数据源的分析呈现。

新建工作表,将刚刚创建的使用数据关系的数据源“Fact_AM(多个连接)”中的字段“Area”拖入视图,放在之前使用 FIXED 函数编写的计算字段旁边,看看结果如何。

栗子 Tips

Tableau 2020.2 及以上版本的新功能“数据关系”,解决了多维数据及数据颗粒度不一致有需要在一起分析的需求,减轻数仓压力和详细表达式的计算。但要注意的是:行级别计算尽量不要跨表。如果行级别计算跨表,记得会行级别的 jion, 计算字段各自引用自己所在表的时间,不要跨表引用。

今天的 Tableau 技巧,你 Get 到了吗?赶快试试看吧!