Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Question on Applymap

Hey Guys,

Relatively new to Qlikview. I am trying to simply multiple the [Gross Amount] and the [Multipler] from two different tables but this loadscript is resulting in my original table rows being duplicated. Any ideas?

Table_2:
LOAD
Country & CATEGORY_NAME as [Key Indicator],
[Multiplier + Percentage]  as [Multiplier]

FROM
restricted

TableMapping:
Mapping
LOAD
[Key Indicator],
[Multiplier]
Resident Table_2;


Table_1:
LOAD
[GROSS AMOUNT],
[GROSS RECLAIM AMOUNT],
[ISO COUNTRY CODE] & [CATEGORY NAME]as [Key Indicator]
FROM
restricted


TestApplyMap:
Load
[GROSS AMOUNT],
[Key Indicator],
[GROSS AMOUNT]*(ApplyMap('TableMapping',[Key Indicator],'missing')) as Multiplier
Resident Table_1;





2 Replies
Miguel_Angel_Baeyens

Hi,

At the end of the script add

DROP TABLE Table_1;

An implicit concatenation always happens in Qlik whenever two or more tables have the same number of fields and these fields are named alike.

Miguel

EDIT: FWIW, You can save one LOAD step by doing

Table_1:

LOAD

[GROSS AMOUNT],

[GROSS RECLAIM AMOUNT],

[GROSS AMOUNT]*(ApplyMap('TableMapping',[ISO COUNTRY CODE] & [CATEGORY NAME],'missing')) as Multiplier

FROM

restricted;

You can use expressions as parameters for ApplyMap() as well instead of first generating the composite key and after applying it.

brian_booden
Partner Ambassador
Partner Ambassador

Hi,

After doing a Resident Load, most of the time, you will want to drop the original table, as Resident creates another copy of the table in memory.

Try adding the statement:

Drop Table Table_1;


Regards,

Brian