我在计算中使用数字并且必须将其转换为字符串。当我这样做时,我丢失了逗号格式。使用另一篇文章:
更改字符串中的数字格式
然而,公式,我正在使用:
STR(ROUND(LOOKUP(sum([Actual]),0),0))
似乎没有用。完整的计算在这里:
If attr([Kpi Nm]) = "Policy Retention Better-than-State Average"
Then str(round(sum([Actual]) * 100, 2)) + "%"
ElseIf attr([Kpi Nm]) = "Policy Retention Improvement (or > 90%)**"
Then str(round(sum([Actual]) * 100, 2)) + "%"
Elseif attr([Kpi Nm]) = "Premium Growth"
Then str(round(sum([Actual]) *100, 2)) + "%"
Elseif attr([Kpi Nm]) = "PIF Growth"
Then str(round(sum([Actual]), 2))
Elseif attr([Kpi Nm]) = "Product Density"
Then "NA"
else
STR(ROUND(LOOKUP(sum([Actual]),0),0))
End
我需要在else语句的实际值上保留逗号。我们非常感谢您提供的任何帮助。 Lookup应该是一个让它工作的技巧但在我的情况下不起作用。
谢谢,
答案 0 :(得分:1)
我在另一个网站上发现了这个正则表达式并且没有亲自尝试过。不确定Tableau的正则表达式实现是否支持这种特定类型的表达式,因为它需要向前看。将它与正则表达式替换函数一起使用。
(\d)(?=(\d{3})+$)
答案 1 :(得分:1)
这应该可以将逗号保留在Actual else语句中。我有一个类似的问题,并结合了一些找到的答案,这对我有用。
REGEXP_REPLACE(STR(SUM([Actual])),"(\d)(?=(\d{3})+$)","$0,")