gpt4 book ai didi

database - QlikView 中的非标准连接?

转载 作者:搜寻专家 更新时间:2023-10-30 21:54:38 25 4
gpt4 key购买 nike

最近我们一直在办公室测试 QlikView。第一印象很好:它具有吸引人的界面并且执行速度非常快。我们想将它用作我们客户的数据库前端。我们也在尝试确定它是否可以接管我们的部分关系数据库结构。然而,我们怀疑它的数据库功能是否足够先进,不仅仅是一个有吸引力的前端。

具体来说,我们遇到了以下问题。只需在 QlikView 中设置相同的字段名称,即可在 QlikView 中完成与普通 JOIN (equijoin) 操作等效的操作 - 然后将链接这些字段。然而,我们传统的 SQL JOIN 操作之一使用“BETWEEN”查询来查找日期是否在特定范围内并连接该日期上的数据。

是否可以在 QlikView 中指定表之间的这种“非等值连接”关系?或者这是所谓的“关联数据库”结构的固有限制?

最佳答案

Marcus 的回答是正确的。这样做的方法是使用 IntervalMatch。您可以按原样拥有这两个表,并使用 IntervalMatch 在它们之间添加“之间”关系。加载脚本运行后无法添加关系。

首先,您必须加载具有日期范围的表(省略了 sql 查询)。比方说:

Ranges:
LOAD
rangeID,
validfrom, // date
validto, // date
commonkey, // common key for the two tables
price; // the data that's needed as a result of the linking

其次,您加载另一个包含日期的表格

Data:
LOAD
column1,
column2,
date,
commonkey;

接下来您将不得不使用 IntervalMatch。这是一种方法:

Left Join (Data)
IntervalMatch(date, commonkey)
LOAD
validfrom,
validto,
commonkey
Resident Ranges;

现在您有了两个表之间的链接。您可以通过添加以下内容来删除生成的合成 key :

Left Join (Data)
LOAD
validfrom,
validto,
commonkey,
rangeID
Resident Ranges;

DROP Fields validfrom, validto FROM Data;

现在表格通过使用 rangeID 键链接。如果表没有一些共同的键,比如类别 ID 或其他东西(即只需要匹配日期),您可以忽略上面示例中的 commonkey。我只是想将它包含在示例中,因为我在自己的案例中需要它,希望它能帮助遇到类似问题的人。

您可以在标有“IntervalMatch(扩展)”的 Qlikview 帮助中找到它。 Qlikview cookbook (fillrowsintervalmatch.qvw) 也帮我解决了这个问题。

关于database - QlikView 中的非标准连接?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2249092/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com