QlikView计数在使用left join脚本后显示错误的值

QlikView计数在使用left join脚本后显示错误的值,join,left-join,qlikview,Join,Left Join,Qlikview,我有一个很大的excel文件,其中包含了我两年以来的所有数据。但为了进行比较,有一个名为IAP的字段,它是一个数字,根据特定日期将一组行定义为单个数字 例如,2016年12月收集的所有数据的IAP为34,2017年1月收集的数据为35,依此类推 在这个表中,我需要比较不同IAP中的点,在上一次IAP中,这些点是好的,而在上一次IAP中则是坏的(在本例中是IAP 37) 同样,如果IAP 34中某个点的状态良好,而IAP 37中某个点的状态变差,则应计算在内 通过创建一些excel过滤器并使用VL

我有一个很大的excel文件,其中包含了我两年以来的所有数据。但为了进行比较,有一个名为IAP的字段,它是一个数字,根据特定日期将一组行定义为单个数字

例如,2016年12月收集的所有数据的IAP为34,2017年1月收集的数据为35,依此类推

在这个表中,我需要比较不同IAP中的点,在上一次IAP中,这些点是好的,而在上一次IAP中则是坏的(在本例中是IAP 37)

同样,如果IAP 34中某个点的状态良好,而IAP 37中某个点的状态变差,则应计算在内

通过创建一些excel过滤器并使用VLOOKUPS计算这些标准(在上次添加的IAP中,同样是好的点和变差的点),结果是100,但在QlikView中,文本对象中显示的结果是60

下面是脚本usign Left Join,首先在脚本编辑器中:

NewlyBad:
Load 
Code As Code1 ,
Status as NewStatus , 
New_Sites as NewNew_Sites,
IAP as IAMP_NAME

Resident ALLIAP

where IAP_Version = $(vMaxIAP) ;

Left Join

Load Code as Code1 ,
Status as OldStatus,
IAP as LAST_IAP

Resident ALLIAP
where IAP_Version = $(vMaxIAMP)-3;
我使用了这一行
,其中IAP_Version=$(vMaxIAMP)-3比较最后一个IAP和IAP-3之间的数据

在变量概述中,我得到了正确的值:34和37之间的比较

现在,文本对象的表达式是:

=(count ({< NewStatus={"Bad"}, OldStatus-={"Bad"} >} distinct Code1))
=(计数({}不同的代码1))

显示的结果是60而不是100,这是错误的。

也许我没有抓住要点,但为什么您要加入“代码1”而不是“IAP\U版本”?还是“代码1”和“IAP_版本”?什么是“代码1”?我想我们需要一些数据样本。在您的左侧加入中添加“IAP_版本3作为IAP_版本”也许这会奏效?代码在每个IAP_版本中都是唯一的标识符,但我们可以在所有其他IAP_版本中找到它,因此我将基于它加入。您尝试了我的建议吗?“在您的左连接中,添加“IAP_版本3作为IAP_版本”也许这可以解决问题?”在哪里添加?左连接加载代码为Code1,IAP_版本3作为IAP_版本,状态为OldStatus,IAP作为LAST_IAP”