问题描述
我的表达式中有解码功能,我将这个解码转换为 qliksense 表达式.. 看起来 qliksense 默认没有解码关键字
那么我如何在 qliksense 中转换此解码
SUM(DECODE(Rcount,DECODE(H.documentno,NULL,(C.gross- C.amont),0),0))
请帮忙
解决方法
Qlik 中 Decode
的等价物是 if .. then .. else 语句。
您的语句可以转换为:
SUM(
if( Rcount = 0,if( isNull(H.documentno),C.gross - C.amont,0),0)
)
如果我们从内部 Decode
DECODE(H.documentno,NULL,(C.gross- C.amont),0)
它可以“翻译”为:如果H.documentno
是Null
则返回C.gross- C.amont
否则返回0
并且外层 Decode
可以翻译为:如果 Rcount
是 0
则返回内层 Decode
语句 else return 0
一点警告/建议。通常,if .. then .. else
语句在表达式中可能会变慢(更)。您可能看不到小数据集的差异,但可以看到大/大数据集的差异。如果您可以在加载脚本中移动这个计算并且在前端只Sum()
结果那么前端计算会更快