优阅达 | Tableau微课堂(8):如何进行数据融合(下)

published: 2021-07-20

如何进行数据融合(下)

在两个不同数据源之间执行计算,与创建一个普通的计算字段稍有差异。

当前视图显示各州办公城市和咖啡连锁店的销售数据比较。我们可以看到,蓝色的主数据源,办公城市中有每个州的销售信息,而橙色的咖啡连锁店数据源中缺少几个州的销售信息,如果我们希望查看各州的合并销售额该怎么办?

为了合并两个数据源的销售额,我们需要创建计算。确认已选定办公城市数据源,转到分析菜单,然后选择创建计算字段。

注意,指示器显示,我们正在哪个数据源上创建此计算。

拖入办公城市销售额,键入加号,接着切换到咖啡连锁店数据源,拖入咖啡连锁店销售额。

注意,咖啡连锁店销售额与公式框中的办公城市销售额看起来有所差异:

  1. 咖啡连锁店销售额也包含数据源名称,此格式可帮助用户区分计划中的不同数据源,因此您总是知道字段来自哪个数据源;

  2. 咖啡连锁店销售额自动包含在SUM函数中,必须始终聚合辅助数据源中的数据,且SUM只是默认聚合。

如我们所见,我们遇到了一个错误,原因是在计算中使用的字段,必须是全部聚合字段或非聚合字段,为解决此错误,我们要将办公城市的销售额包含在SUM函数中,计算有效,我们将其重命名为合并销售额,然后单击确认。

数据窗口中没有显示我们的计算,这是因为我们处在不同的数据源上,而不是之前创建计算的数据源上。

如果我们切换到办公城市数据源,就可以看到相关的计算字段。

现在我们准备测试我们的计算,将合并销售额字段拖放到列中。

注意,对于咖啡连锁店销售额为null的州,合并销售额数据不显示,如果在两个数据源之间创建计算,经常会得到一些null结果。

这是因为加入正常值会得出null值,但我们知道从咖啡连锁店数据源中得到的null值,实际上是0值,因此我们需要调整计算,以便说明这一点。

右键单击合并销售额,然后选择编辑。

将咖啡连锁店销售额包含在ZN函数中,ZN代表zero null,现在合并销售额列准确的显示办公城市和咖啡连锁店的合并销售额信息。

数据融合时另一常见情况是有关信号的处理,数据融合时将纬度添加到视图中,有时会得到“星号”,而不是预期值,为什么会出现这种情况?

在当前视图中我们将办公城市用作主数据源,以蓝色标示,并融合州列上的数据,区域代码只显示在辅助数据源中,此数据中的大多数州都有一个以上的区域代码,因此Tableau生成“星号”来指示多个值,新罕布什尔州和新墨西哥州各只有一个区域代码,因此显示“值”。

在数据混合时,我们融合才能解决“星号”问题?尝试交换一个视图中的主数据源和辅助数据源。

我们现在将咖啡连锁店用作主数据源,以蓝色标示,验证咖啡连锁店数据源是否已选定?然后将区域代码拖出至行。

这是处理区域代码的预期操作,现在我们得到各州的区域代码列表,但是办公城市没有区域代码字段,因此销售额被聚合到融合级别——州,且各区域代码重复出现该值。

如果不能接受使用此方法来解决“星号”问题,考虑连接表而不是融合表,并使用表计算或详细级别表达式来执行分析。

现在,你已学完在Tableau Desktop里如何进行数据融合。打开你电脑里的Tableau,亲手尝试操作,这对你的学习很有帮助!