Qlikview 加载脚本 - 附加字段并在不存在匹配项的情况下应用值

Qlikview Load Script - Appending a field and applying a value where no match exists

我正在尝试在我的加载脚本中加入两个 tables,hlo2aLookupODP_StudySite .这是加载脚本:

hlo2aNewCol:
LOAD [~SiteKey]
RESIDENT hlo2aLookup;

left Join 
LOAD [~SiteKey],[~SiteKey] as [Key2],
if(exists([~SiteKey],[~SiteKey]),'y','n') as [Key2Exits],
if(isnull([~SiteKey]),'y','n') as [Key2isNull]

Resident ODP_StudySite;

匹配键是 ~Sitekey,在 table 上没有匹配的地方,我希望它显示 'No match',而不是空值.我已经测试了 EXISTS 和 ISNULL(如下例所示,在 Key2ExistsKey2IsNull 中)- 但是它不起作用。这就是我现在在 table 中看到的内容:

有什么想法吗?

祝福

戴夫

不要认为您可以“标记”记录 before/during table 已连接。 您可以通过几个步骤实现:

  1. 将 table 加入一个临时文件 table(在下面的脚本中 hlo2aNewCol_Temp
  2. 使用临时 table 的结果并在此处编写您的逻辑。这个 table 将是“最后一个”
  3. 降温table
hlo2aNewCol_Temp:
LOAD 
  [~SiteKey]
RESIDENT hlo2aLookup;

left Join 

LOAD 
  [~SiteKey],
  [~SiteKey] as [Key2]
Resident ODP_StudySite;

hlo2aNewCol:
Load
  [~SiteKey],
  Key2,     // this is probably not needed. just for reference.
  if( isNull(Key2), 'No Match', Key2 ) as KeyStatus
Resident hlo2aNewCol_Temp;

Drop Table hlo2aNewCol_Temp;