我有以下格式的一组数据:
Resp | Q1 | Q2
P1 | 4 | 5
P2 | 1 | 2
P3 | 4 | 3
P4 | 6 | 4
我想显示给出大于3的答案的人数和百分比。所以在这种情况下,输出将是:
Question | Count | Percent
Q1 | 3 | 75%
Q2 | 2 | 50%
有什么建议吗?
答案 0 :(得分:1)
虽然这听起来很容易,但有点复杂。 首先,您的数据不是基于行的,因此您必须转动它。
现在你需要创建一个计算字段(我称之为Overthreshold
来检查你的情况:
if [Answer] > 3 then
[Answer]
End
此时,您可以使用参数替换3
,以防您想轻松更改该条件。
您可以按照以下方式丢弃药丸以获得计数:
现在,如果你想要百分比,它会变得有点复杂,因为你必须确定问题的数量和答案的数量> 3是存储在两个不同列中的信息。
COUNT([Overthreshold]) / AVG({fixed [Question]:count([Answer])})
解释公式的作用:
它需要超过阈值的答案计数,并将其除以每个问题的答案计数。这由公式的fixed
部分完成,该部分计算Question
列中具有相同值的行。 AVG
仅在那里,因为Tableau需要在那里进行聚合。由于问题的每条记录的值都相同,因此您也可以使用MIN
或MAX
。
感觉应该有一个更好的解决方案,但现在我想不出一个。
答案 1 :(得分:1)
这是@Alex的正确答案的变体。有些人可能会觉得它稍微简单一些,它至少显示了一些用于计算百分比的Tableau功能。
Answer > 3
从技术上讲,Alexander的解决方案使用LOD计算来计算服务器端的百分比,而此解决方案使用Table计算来计算客户端的百分比。两者都很有用,并且可能会产生不同的性能影响。这几乎没有说明你可以用每种方法做的事情;每个都有你需要开始理解的功能和复杂性,以便在更复杂的情况下使用。