首页 > 解决方案 > 如何操作数据集以从不同的表中获取信息?

问题描述

目前我的数据设置为两个表的联合。红色行是表 1,蓝色行是表 2。我正在 SQL Server 中进行联合,并将其连接到 Tableau。我现在正在使用 Excel 来更轻松地描述我所看到的内容(左数据透视表)和我想要看到的内容(右构成的数据透视表)。

当前数据透视表在对特定工厂/项目/产品进行过滤时显示,这些是进入产品的组件,这些是产品归于客户的月份。底行中的值是应支付给客户的产品数量。例如,在 6 月,数量为 1 的 150-100020-1000 产品是应付给​​客户的。数量显示在空组件下,因为该字段不在表 2 中,正如您在蓝色行中看到的那样。

我希望这些底行值出现在列出的任何一个组件下。在这种情况下,它只显示一组工厂/项目/产品,但我希望公式/代码在评估输出内容时也能了解这一点。在右侧组合数据透视表的示例中,我在组件 #100 下显示了数量,但只要两个表中的工厂/项目/产品相等,它就可以在其中任何一个下。我也不希望出现表 1 中的空白/空日期,但它们与组件相关联,因此我无法轻松将它们过滤掉。

我已经尝试了几种类型的连接和临时表来使其正常工作并保持空白。如何设置我的数据集以获取我想在 Tableau 中看到的视图?

数据集和当前视图 + 我想要的视图

在此处输入图像描述

标签: sql-serverjoinuniontableau-api

解决方案


您的问题是您没有针对数量的组件。因此,对于您想要的东西,您需要创建一个组件。也许这可以使用 FIXED calc,它会在所有记录中创建此字段。如果 Component 的值无关紧要,请创建此计算:

{MIN([Component])}

这应该对每条记录设置 100。

如果您还需要保留现有的 Component 值,当它存在时,请尝试以下公式:

IFNULL([Component],{MIN([Component])})

注意我没有测试过这些。


推荐阅读