【问题标题】:How to manipulate dataset to get information from different tables?如何操作数据集以从不同的表中获取信息?
【发布时间】:2020-08-07 11:21:27
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • use text, not images/links, for text--including tables & ERDs。仅将图像用于无法表达为文本或扩充文本的内容。
  • 请在代码问题中给出minimal reproducible example--cut & paste & runnable code,包括最小的代表性示例输入作为代码;期望和实际输出(包括逐字错误消息);标签和版本;明确的规范和解释。给出您可以给出的最少代码,即您显示的代码可以通过您显示的代码扩展为不正常。 (调试基础。)对于包含 DBMS 和 DDL(包括约束和索引)和输入为格式化为表的代码的 SQL。隔离第一个不符合您期望的子表达式。 (调试基础。)

标签: sql-server join union tableau-api


【解决方案1】:

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

{MIN([Component])}

这应该为每条记录添加 100。

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

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

请注意,我还没有测试过这些。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多