【问题标题】:Filter comma separated values in Tableau [ Filter Paramters with unique values ]在 Tableau 中过滤逗号分隔值 [过滤具有唯一值的参数]
【发布时间】:2017-03-06 17:39:15
【问题描述】:

我的表有两列,

X_ID                                                     Code

234324_sfsdf_ADA, INT                                  ADA, INT      `

343424_gdfg234_LMR                                        LMR 

1233_dfgdfg_QXT                                           QXT

5423_tsdg_OLI                                             OLI

我想在 Tableau 中创建一个新过滤器,它的代码的唯一值是 [ADA、INT、LMR、QXT、OLI],然后如果代码出现在 X_ID 中,我需要检查 X_ID 列。

目前,我所做的是

  1. 将代码分成两列code1、code2
  2. 我创建了一个名为“parameter1”的参数,其中包含来自 code1、code2 的所有唯一值
  3. 然后我正在创建一个计算字段,我在其中检查

IF CONTAINS([X_ID],[Parameter1]) THEN [Parameter1] END

上述步骤的输出是,

参数1 = [ADA,INT,LMR,QXT,OLI]

这里的问题是 Parameter1 只检查它的第一个值。所以,在我的例子中,Parameter1 的第一个值为 ADA。因此,CONTAINS([X_ID],[Parameter1]) 的条件仅检查 ADA 值,而不检查 parameter1 的其他值。

我的问题是:

  1. 应该怎么做才能检查所有参数值的 X_ID。
  2. 如果这不可能,还有其他方法可以完成此任务

【问题讨论】:

    标签: filter parameters tableau-api calculated-field


    【解决方案1】:

    我不太确定你到底在做什么,但可以这样试试:

    1. 使用您可能拥有的所有唯一代码值创建一个参数
    2. 使用CONTAINS(LOWER([Code]), LOWER([Parameter])) 创建计算字段CodeFilterLOWER() 确保在大小写混合的情况下不会遇到问题)
    3. [CodeFilter] 拖到过滤器架并过滤True

    这应该创建一个过滤器来满足您的要求

    【讨论】:

    • 但问题仍然存在,因为当我访问参数值时,只检查参数中的第一个值,而不检查其他值。因此,例如,我的参数的值为 [ADA、CSA、DPP、DVC、HIP] 当我使用 Contains(Lower(parameter)) 时,仅针对所有行检查 ADA,不考虑其他参数值。
    • 您想只检查一个代码还是代码组合?
    • 所以有一列可能有代码 {ABC,LMN} , {ADX}, {FDC}, {ABC},{FDC,ADX} 的组合。所以我想要的是,[1] 在这些代码上创建一个过滤器,但过滤器中的这些代码应该是唯一代码,而不是作为逗号分隔值的代码组合。像这样 [ABC, LMN, ADX, FDC] [2] 在选择值时返回其中包含这些代码的行。因此,例如,我选择 ADX 作为过滤器值,它应该将第 2 行和第 5 行返回为 { ADX} 和 {FDC,ADX}
    • 好吧,这就是我最初的理解。你能检查你的参数值中是否有空格吗?一般来说,它应该适用于该方法。
    猜你喜欢
    • 2020-10-20
    • 1970-01-01
    • 1970-01-01
    • 2016-12-30
    • 1970-01-01
    • 2021-11-19
    • 2021-09-27
    • 2022-01-25
    • 1970-01-01
    相关资源
    最近更新 更多