【问题标题】:Decode in qliksense expression在 qliksense 表达式中解码
【发布时间】:2021-04-14 07:12:45
【问题描述】:

我的表达式中有解码功能,我将这个解码转换为qliksense表达式..看起来qliksense默认没有解码关键字

那么我如何在 qliksense 中转换这个解码

SUM(DECODE(Rcount,0,DECODE(H.documentno,NULL,(C.gross- C.amont),0),0))

请帮忙

【问题讨论】:

  • 请帮忙看看

标签: decode qliksense


【解决方案1】:

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语句否则返回0

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

【讨论】:

  • 您好,感谢您的回答。想问一下pick和wildmatch是否可以做到这一点?
  • 不能说。这取决于您的数据集。
  • 好的,请您告诉我这个.. SUM(DECODE(RLCOUNT,0,DECODE(DOCUMENTNO,NULL,0,(GROSS- AMOUNT)),(GROSS - AMOUNT)))
  • 类似这样的东西:SUM( if(RLCOUNT = 0, if(isNull(DOCUMENTNO),0,(GROSS- AMOUNT)), (GROSS - AMOUNT)) )
  • 这显示一个错误.. 错误是表达式中的错误:它需要 2-3 个参数@Stefan Stoichev
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-07
  • 2015-04-27
  • 1970-01-01
  • 2013-01-03
相关资源
最近更新 更多