【问题标题】:Tableau: creating calculated field based on cell valuesTableau:根据单元格值创建计算字段
【发布时间】:2014-11-21 19:51:03
【问题描述】:

假设我有以下工作表(度量是总和):

    Code    A   B
     123        10
     456    20  30
     789    40  

我想创建一个计算字段(维度),我可以用它来过滤掉第一行和第三行,换句话说,只保留 A 和 B 对于给定代码都是正数的记录。我已经尝试IF/ELSE 条件下的 sum(measure) > 0 但显然我不能混合度量和聚合。感谢您的任何指点。

【问题讨论】:

  • 我已经有一段时间没有接触 Tableau 了,但如果我没记错的话,您可以使用脚本化 SQL 创建维度。如果仍然如此,您可以编写类似SELECT [Code],[A],[B] from dbo.[SomeTableHere] where A>0 AND B>0 的内容。我不确定您想要将哪些信息提取到 Tableau 中,因此我已将所有 3 列添加到 SELECT。不过,听起来你只是想要 [代码]。

标签: tableau-api


【解决方案1】:

一种解决方案是根据代码维度创建一个动态计算的集合,该集合仅包含满足您的条件的代码。你可以这样做:

  • 在数据窗格中选择代码维度
  • 根据代码维度创建集合
  • 在“设置定义”对话框的“常规”选项卡上选择“全部使用”
  • 在条件选项卡上选择“按公式”并输入公式Sum(A) > 0 and Sum(B) > 0

定义集合后,您可以将其放置在过滤器架子上以减少可视化中使用的数据,或将其用于其他架子以显示集合中的代码,或将其与其他集合组合以形成新的集合.您还可以在计算字段中按名称引用集合来测试成员资格。

上面的设置和下面的SQL效果一样:

select Code, ... from ... group by Code with sum(A) > 0 and sum(B) > 0

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2023-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-10
    相关资源
    最近更新 更多