#qlikview
#qlikview
Вопрос:
Я пытаюсь объединить две таблицы, hlo2aLookup и ODP_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, и там, где в таблице нет совпадений, я хочу, чтобы он отображал «Нет совпадения» вместо нулевого значения. Я протестировал EXISTS и ISNULL (как показано в примере ниже, в Key2Exists и Key2IsNull) — однако он не работает. Это то, что я вижу в таблице прямо сейчас:
Есть идеи?
С наилучшими пожеланиями
Дэйв
Ответ №1:
Не думайте, что вы можете «помечать» записи до / во время объединения таблиц. Вы можете добиться этого в несколько шагов:
- объедините таблицы во временную таблицу (в приведенном ниже сценарии
hlo2aNewCol_Temp
) - используйте результат из временной таблицы и напишите здесь свою логику. Эта таблица будет «последней»
- удалите временную таблицу
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;
Комментарии:
1. Блестяще. Большое вам спасибо.