在Qlikview中循环和限定负载

时间:2014-04-11 11:16:03

标签: qlikview

我想在qlikview中创建两个表;一个叫Station,一个叫火车。我曾计划应用QUALIFY语句,因此两个表之间的任何匹配字段都不会混淆。

但是,每个表的数据都是使用FOR EACH ...循环从多个电子表格中加载的。这意味着通过限定负载,可以创建多个表:Station-1,Station-2,Station-3等,具有类似的顺序字段名称。

有没有办法可以半 - QUALIFY我的加载语句,以便所有所有字段都以" Station为准。"或者"火车。"没有将不同的名称应用于来自每个电子表格的数据?

2 个答案:

答案 0 :(得分:3)

在对列名进行限定之前,

Concatenate您的电台表。

如下所示:

[Station]:
  LOAD [col1], [col2]
  FROM [Station1.xls]

[Station2]:
  CONCATENATE (Station)
  LOAD [col1], [col2]
  FROM [Station2.xls]

答案 1 :(得分:1)

我会尽量避免获得资格。对于许多场景,不同表格中的公共字段会告诉您有关日期的信息,Qualify可帮助您忽略该日期。

您想在火车站和火车站之间建立什么样的联系?确保您了解QVs关联引擎以及您想要相互关联的字段。

另外 - 只要字段名称相同,Concatenate就会做一个漂亮的联合。实际上,如果存在相同数量的具有相同名称的字段,它将自动连接。如果不是这种情况,您可能最好使用if()语句设置变量,以组合具有不同名称的公共字段。

即。如果匹配(' $(vFieldName)',' FUELCODE')则                 SET vFuel =' FUELCODE&#39 ;;             ELSEIF匹配(' $(vFieldName)',' FLDCD_TR')然后                 SET vFuel =' FLDCD_TR&#39 ;;             ENDIF

最佳, 大卫