在Tableau中为过滤的分组数据创建计算字段

时间:2019-01-17 05:22:28

标签: tableau

我有一个数据集,其中的列分别对应于过去几个月中的国家(Aus / NZ),已发送,已打开,已打开比率(=已打开/已发送)。

我可以通过对这两个值进行求和,然后通过对这两个值进行求和来计算“发送并打开”。

enter image description here

是否可以创建一个计算字段Open Rate_Aus,该字段仅保存AU的Open Rate值。

我尝试使用下面的表达式,但是徒劳。抛出错误,提示“不能在IF表达式中混合聚合和非聚合”

{FIXED [Country] : max(IF [Country] = 'AU' THEN [Open Rate] END)}

3 个答案:

答案 0 :(得分:0)

为什么不只过滤AU?我个人不喜欢这样的硬编码值,因为将来您将需要NZ版本,这只会使Tableau变慢。

但是,如果仍然需要,请尝试以下操作:

{FIXED [Country]:max(IF attr([Country])='AU'THEN [Open Rate] END)}

答案 1 :(得分:0)

没问题。但我希望能回答您的问题,然后再给您一个有趣的解决方案。

我会使用公式...

IF [Country] = 'AU' THEN [Open Rate] END

打开率计算公式为:

[Open] / [Sent]

解决方案如下...

enter image description here

另一种(更有趣的)解决方案是根据您的国家/地区维度创建一个参数。

enter image description here

或者直接输入确切的国家/地区,因此在您单击“确定”之前,它看起来像这样。

enter image description here

然后,您可以按所选国家/地区创建更具动态性的打开率,以便用户选择。

enter image description here

答案 2 :(得分:0)

关于避免对国家/地区名称进行硬编码,我想添加的一件事是将列表保存在单独的csv或Excel文件中,并将其加入数据源中。这样,您可以在不发布视图的情况下添加或删除国家/地区。