如果在Qlikview中表达

时间:2016-01-18 15:29:41

标签: qlikview

我的表情:

IF(Min(MONTHYEAR)&gt; Min(MONTHYEAR2)和isnull(FIELD1),FIELD1B,if(Min(MONTHYEAR)&gt; Min(MONTHYEAR2)和len(FIELD1)&gt; 0,FIELD1))作为Value < / p>

我需要这个: 1.-if(Min(MONTHYEAR)&gt; Min(MONTHYEAR2)和isnull(FIELD1)输出FIELD1B 2.-if(Min(MONTHYEAR)&gt; Min(MONTHYEAR2)和isnotnull(FIELD1)输出FIELD1

我做错了什么?谢谢!

1 个答案:

答案 0 :(得分:0)

我想你得到的是“通用脚本错误”。

如果您在脚本行中使用聚合,则需要聚合所有内容或将其添加为脚本分组的字段。

IF(Min(MONTHYEAR) > Min(MONTHYEAR2) and isnull(FIELD1), FIELD1B, 
IF(Min(MONTHYEAR) > Min(MONTHYEAR2) and len(FIELD1)>0,FIELD1)) as Value
from XYZ
group by FIELD1,FIELD1B

IF(MONTHYEAR > MONTHYEAR2 and isnull(FIELD1), FIELD1B, 
IF(MONTHYEAR > MONTHYEAR2 and len(FIELD1)>0,FIELD1)) as Value
from XYZ

IF(Min(MONTHYEAR) > Min(MONTHYEAR2) and isnull(only(FIELD1)), only(FIELD1B), 
IF(Min(MONTHYEAR) > Min(MONTHYEAR2) and len(only(FIELD1))>0, only(FIELD1))) as Value
from XYZ
group by 1

不确定'group by'如何处理空值或数据的样子,但是聚合或分组所有字段的理论都有。如果所有分组行中只有1个不同的值,则only()命令返回值,否则返回null。

相关问题