假设我有以下工作表(度量是总计):
Code A B
123 10
456 20 30
789 40
我想创建一个计算字段(维度),可用于过滤掉第一行和第三行,换句话说,仅保留 A 和 B 对于给定代码均为正值的记录。我已经在条件下尝试使用 sum(measure) > 0 的 IF/ELSE ,但显然我无法混合度量和聚合。感谢您的指点。
最佳答案
一种解决方案是根据“代码”维度创建一个动态计算集,其中仅包含符合您的条件的代码。您可以通过以下方式做到这一点:
- 在数据 Pane 中选择代码维度
- 根据代码维度创建一个集合
- 在“集定义”对话框的“常规”选项卡上选择“使用全部”
- 在“条件”选项卡上选择“按公式”并输入公式
Sum(A) > 0 且 Sum(B) > 0
定义集后,您可以将其放置在过滤器架上以减少可视化中使用的数据,或者在其他架上使用它来显示集中的代码,或者将其与其他集组合以形成新的集。您还可以在计算字段中按名称引用集合来测试成员资格。
上面的设置与下面的SQL效果相同:
select Code, ... from ... group by Code having sum(A) > 0 and sum(B) > 0
关于tableau-api - 画面 : creating calculated field based on cell values,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27069195/