在 Qlikview 中循环和限定加载

Posted

技术标签:

【中文标题】在 Qlikview 中循环和限定加载【英文标题】:Looping and Qualify load in Qlikview 【发布时间】:2014-05-25 12:30:08 【问题描述】:

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

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

有没有一种方法可以半QUALIFY 我的加载语句,以便所有所有字段都以“Station”开头。或“火车”。没有为来自每个单独电子表格的数据应用不同的名称?

【问题讨论】:

我喜欢简单的答案。谢谢@oGeez。为我节省了大量的手动输入。 如果 oGeez 给出了一个好的答案,您应该投票并将其选为有效答案。 确实,我会的(我想他们最初将其作为评论发布,否则我当时会这样做) ;-) 谢谢Hal Baggot 没错,我想我做到了。感谢两者。 【参考方案1】:

Concatenate您的站表,然后再限定列名。

类似于以下内容:

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

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

【讨论】:

【参考方案2】:

我会尽量避免一般情况下的资格。对于许多情况,不同表中的公共字段会告诉您有关日期的信息,而 Qualify 可以帮助您忽略这些字段。

您希望 trains 和 station 表之间建立什么样的关联?确保您了解 QV 关联引擎以及您想要关联的字段。

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

即如果匹配('$(vFieldName)', 'FUELCODE') 然后 设置 vFuel = 'FUELCODE'; ELSEIF Match('$(vFieldName)', 'FLDCD_TR' ) 然后 设置 vFuel = 'FLDCD_TR'; ENDIF

最好, 大卫

【讨论】:

在这种情况下,我希望火车和车站之间没有关联。在理想情况下,这将有两个单独的仪表板,但将两个数据集放在一个应用程序中对最终用户来说不会那么混乱(并且需要更少的许可证)

以上是关于在 Qlikview 中循环和限定加载的主要内容,如果未能解决你的问题,请参考以下文章

在 Qlikview 中加载脚本期间创建变量

在 qlikview 中,是不是可以保持脚本窗口始终打开?

qlikview MapSubString

有没有办法使用 R 读取 Qlikview 数据对象并执行统计操作并将结果返回给 Qlikview?

QLIKVIEW基础设置及初步了解

QlikView 如何在其他表格中按属性分组