sql-server - 如何操作数据集以从不同的表中获取信息?
问题描述
目前我的数据设置为两个表的联合。红色行是表 1,蓝色行是表 2。我正在 SQL Server 中进行联合,并将其连接到 Tableau。我现在正在使用 Excel 来更轻松地描述我所看到的内容(左数据透视表)和我想要看到的内容(右构成的数据透视表)。
当前数据透视表在对特定工厂/项目/产品进行过滤时显示,这些是进入产品的组件,这些是产品归于客户的月份。底行中的值是应支付给客户的产品数量。例如,在 6 月,数量为 1 的 150-100020-1000 产品是应付给客户的。数量显示在空组件下,因为该字段不在表 2 中,正如您在蓝色行中看到的那样。
我希望这些底行值出现在列出的任何一个组件下。在这种情况下,它只显示一组工厂/项目/产品,但我希望公式/代码在评估输出内容时也能了解这一点。在右侧组合数据透视表的示例中,我在组件 #100 下显示了数量,但只要两个表中的工厂/项目/产品相等,它就可以在其中任何一个下。我也不希望出现表 1 中的空白/空日期,但它们与组件相关联,因此我无法轻松将它们过滤掉。
我已经尝试了几种类型的连接和临时表来使其正常工作并保持空白。如何设置我的数据集以获取我想在 Tableau 中看到的视图?
数据集和当前视图 + 我想要的视图
解决方案
您的问题是您没有针对数量的组件。因此,对于您想要的东西,您需要创建一个组件。也许这可以使用 FIXED calc,它会在所有记录中创建此字段。如果 Component 的值无关紧要,请创建此计算:
{MIN([Component])}
这应该对每条记录设置 100。
如果您还需要保留现有的 Component 值,当它存在时,请尝试以下公式:
IFNULL([Component],{MIN([Component])})
注意我没有测试过这些。
推荐阅读
- python - 使用两个不同的python版本(Django App)的apache2中的WSGI错误
- c++ - 防止 GNU Make 在每次构建时生成 protobuf 代码
- dotnetnuke - 创建模块后 DNN 错误
- bootstrap-4 - 如何使用本机变量进行引导?
- javascript - 为多个列表项制作onClick删除功能
- javascript - 如何使用 setState 将对象添加到数组列表
- java - javafx 从 fxml 加载通用控制器
- sql - SQL sum over(partition) 不减去 SUM 中的负值
- node.js - 使用 jest 在 nodejs 中测试邮件通知程序
- r - 如何根据公式生成的名称创建向量列表