在 qliksense 表达式中解码

问题描述

我的表达式中有解码功能,我将这个解码转换为 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.documentnoNull则返回C.gross- C.amont否则返回0

并且外层 Decode 可以翻译为:如果 Rcount0 则返回内层 Decode 语句 else return 0

一点警告/建议。通常,if .. then .. else 语句在表达式中可能会变慢(更)。您可能看不到小数据集的差异,但可以看到大/大数据集的差异。如果您可以在加载脚本中移动这个计算并且在前端只Sum()结果那么前端计算会更快