tableau中(IF [违规事故] = '普通违规' THEN STR([稽查普通违规事故数]) ELSEIF [违规事故] = '普通违规' THEN STR([稽查普通违规事故数]) ELSEIF [违规事故] = '普通违规' THEN STR([稽查普通违规事故数]) END)/sum([稽查单数])报错tableau中不能再IF表达式中混合聚合和非聚合比较或结果的报错怎修改
时间: 2023-10-07 18:05:08 浏览: 105
DSA专业、普通、安卓452、P59、1412、C61_3312数据
你的公式中包含了IF表达式,在IF表达式中混合了聚合和非聚合操作,导致了报错。为了解决这个问题,你可以使用计算字段来代替IF表达式,具体步骤如下:
1. 点击数据源中的“新建计算字段”按钮,创建一个新的计算字段。
2. 在计算字段对话框中,输入以下公式:
```
IF [违规事故] = '普通违规' THEN STR([稽查普通违规事故数]) ELSEIF [违规事故] = '严重违规' THEN STR([稽查严重违规事故数]) ELSEIF [违规事故] = '特别严重违规' THEN STR([稽查特别严重违规事故数]) END
```
这个公式与你原来的IF表达式是一样的,只不过将它们放在了一个计算字段中。
3. 将计算字段放到你的可视化中,然后将其放在分母中。例如,你的公式可以修改为:
```
SUM([计算字段])/SUM([稽查单数])
```
这个公式将计算字段作为分子,将稽查单数作为分母,从而避免了混合聚合和非聚合操作。
希望这个方法能够帮助你解决问题。
阅读全文