【问题标题】:Tableau -Calculated field for matching values based on criteria in a different columnTableau - 根据不同列中的条件匹配值的计算字段
【发布时间】:2019-08-09 00:26:49
【问题描述】:

我正在尝试根据三个条件创建一个计算字段。

我有两个列名“源系统名称”,其中只有两个值 302 和 202,其他列名“唯一 ID 具有不同的数值。

我想创建一个计算字段,该字段将显示“计算字段显示”列中显示的数据。我需要一些帮助来为此编写逻辑。我之前在 tableau 中没有做过类似的事情。有人可以帮帮我吗。我有大约 50 万行,所以需要一个适用于这种数据大小的逻辑。

请参考附件图片以获得我在做什么的清晰图片。

202 仅记录 - 当源系统为 302 的行中不存在唯一 ID 时。(例如第 1,3 和 4 行)

302 仅记录 - 当源系统为 202 的行中不存在唯一 ID 时。(例如第 9,11 和 12 行)

在 302 和 202 中都存在 - 当源系统名称 302 和 202 的唯一 ID 相同时。(2 和 10、5 和 8 以及 6 和 7)

请帮我用这个逻辑创建一个计算字段。

我尝试了 CASE 和 IF 功能,但我无法做到。

为便于理解,请参阅附图中的第 4 列enter image description here

【问题讨论】:

    标签: tableau-api


    【解决方案1】:

    如果“源系统名称”只有 2 个值,您可以创建以下计算来执行您想要的操作(假设所有字段都是字符串,如果它们是整数,这仍然可以通过一些简单的更改来工作):

    最大:源系统名称

    {FIXED [Unique ID]: MAX([Source System Names])}
    

    Min:源系统名称

    {FIXED [Unique ID]: MIN([Source System Names])}
    

    计算字段显示

    IF [Min: Source System Name] != [Max: Source System Name]
        THEN 'Exists in Both 302 and 202'
    ELSEIF [Max: Source System Name] = '202'
        THEN 'Exists in 202'
    ELSEIF [Max: Source System Name] = '302'
        THEN 'Exists in 302'
    ELSE
        NULL
    END
    

    希望对您有所帮助!

    【讨论】:

    • 我刚刚发现源系统也有空值 - 所以它的 202,302 和空值..我想忽略空值。另外我尝试破坏上述查询我得到一个语法错误。请建议。我是新来的画面。
    • 如果要忽略空值,可以将[Source System Name]拖到Filters卡,只选择202和302,但即使有空值,计算也应该可以[源系统名称]。您遇到什么语法错误?
    • 感谢您的休息。我需要复制粘贴整个代码吗?目前我正在处理整个代码,但我得到一个运算符在“ Max: (here) 结尾处缺少语法。Tableau 10 是建议我用 MAX() 而不是 Max: 替换它。请告知这里有什么问题。我认为我做错了。让我知道。
    • 澄清一下:我正在处理以下所有代码: Max:源系统名称 {FIXED [Unique ID]:MAX([Source System Names])} Min:源系统名称 {FIXED [唯一 ID]: MIN([源系统名称])} 计算字段显示 IF [Min: Source System Name] = [Max: Source System Name] THEN 'Exists in both 302 and 202' ELSEIF [Max: Source System Name] = '202' THEN 'Exists in 202' ELSEIF [Max: Source System Name] = '302' THEN 'Exists in 302' ELSE NULL END
    • 所以你需要创建三个独立的计算字段。在 Tableau 顶部,转到“分析”>“创建计算字段”,然后从第一个 sn-p 复制代码。将其粘贴到窗口中,并将计算命名为“Max:Source System Name”。在我的回复中重复其他两个代码 sn-ps。在我提供的前两个计算的代码中,将 [Source System Names] 替换为数据源中包含 202 和 302 数据的字段的名称。
    猜你喜欢
    • 1970-01-01
    • 2021-11-02
    • 1970-01-01
    • 1970-01-01
    • 2022-09-22
    • 1970-01-01
    • 2021-11-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多