Tableau按行自定义着色:基于风险平均值设置图标颜色
解决Tableau中基于风险平均值的图标着色问题
嘿,我来帮你搞定这个颜色计算的问题!首先看你提供的Tableau代码,里面的*The variable I want to create*注释是语法错误的根源——Tableau的计算字段里不能用这种格式的注释,这会直接导致公式无法运行。另外你的Java代码里明确区分了小于、大于、等于三种情况,我们可以把这个逻辑准确翻译成Tableau的计算字段。
正确的计算字段公式
首先,假设你已经有现成的[Risk Average]字段(如果没有,后面会说怎么动态计算),创建一个名为Risk Color的计算字段,用下面的公式:
IF [Commercial Services] < [Risk Average] THEN "Red" ELSEIF [Commercial Services] > [Risk Average] THEN "Green" ELSE "Blue" END
如果你的需求是小于等于平均值时设为红色(和你最初的Tableau代码逻辑一致),就把第一个条件改成[Commercial Services] <= [Risk Average]。
如果没有预先计算的Risk Average字段
如果Risk Average是整个数据集里Commercial Services的平均值,不需要单独创建字段,直接用LOD表达式动态计算:
IF [Commercial Services] < {FIXED : AVG([Commercial Services])} THEN "Red" ELSEIF [Commercial Services] > {FIXED : AVG([Commercial Services])} THEN "Green" ELSE "Blue" END
这个{FIXED : AVG([Commercial Services])}会计算所有数据行的Commercial Services平均值,不受视图维度的影响。
应用颜色的步骤
- 右键点击数据窗格,选择「创建」→「计算字段」
- 输入上面的公式,命名为
Risk Color,点击确定 - 把
Risk Color字段拖到视图的「颜色」标记卡上 - 你可以点击颜色标记卡的下拉菜单,选择「编辑颜色」来手动调整成你需要的红、绿、蓝配色
这样每个风险项就会根据和平均值的对比自动着色啦!
内容的提问来源于stack exchange,提问作者Bradley Anderson
相关产品推荐
相关产品推荐

