使用日期字段加入 Qlik 上的表(提供类似 SQL 语句)

Join tables on Qlik using date field (similar SQL statement provided)

我正在尝试在 Qlik 中加入两个相似的表格,使用各种字段的组合 - 除了键 - 加上日期检查。 完成这项工作的 SQL 语句可能如下所示。

SELECT
    ID,
    Field_1,
    Field_2,
    Field_3,
    Rec_Date
INTO
    bTable
FROM
    aTable


SELECT
    cTable.ID AS Master_ID,
    bTable.Field_1,
    bTable.Field_2,
    bTable.Field_3,
    bTable.Rec_Date
INTO
    dTable  
FROM
    bTable  JOIN bTable AS cTable ON 
            bTable.Field_1 = cTable.Field_1 AND
            bTable.Field_1 = cTable.Field_1 AND
            bTable.Field_1 = cTable.Field_1 AND
            bTable.Rec_Date > cTable.Rec_Date

我正在尝试在 Qlik 中进行。欢迎任何帮助

假设 aTable 已经可用,您可以使用类似于下面的内容:

btable: 
Load
ID,
Field_1,
Field_2,
Field_3,
Rec_Date
Resident
aTable;

dTable:     
Qualify *;
Load   *
Resident bTable;  
INNER JOIN 
cTable:
Load * 
Resident cTable;  
   
   
etable:
unqualify *;
load cTable.ID AS Master_ID,
        bTable.Field_1,
        bTable.Field_2,
        bTable.Field_3,
        bTable.Rec_Date 
resident dTable 
where
bTable.Rec_Date > cTable.Rec_Date;

drop table cTable;
drop table dTable;

这里的关键是使用 Qualify,这样 2 tables 就不会在每个字段上自动连接。然后您可以在最后 table 中使用 Unqalify 并根据需要重命名字段。

这可以进一步帮助:https://community.qlik.com/t5/QlikView-Documents/Beginners-Task-Series-Task6-Self-Join/ta-p/1488728