Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
hi friends
please help me on this requirement
IF(
MTD Contact = Manager
)
THEN
(WHEN data= MDS, Contact Name = “Juli ”
WHEN data= MIS, Contact Name = “Test”
WHEN data= Pharma, Contact Name = “peenot”
WHEN data= Corporate, Contact Name = “trisha “ )
ELSE IF(
MTD Contact = Solution Manager
)
THEN
(Contact Name = solution_manager_name)
ELSE IF(
MTD Contact = Project Manager
)
THEN
(Contact Name = project_manager)
Note:here MTD Contact and data is two field names and i have to derive a new field called Contact Name
please give if condition in qlikview
Thanks,
Siddik
Maybe something along these lines
LOAD
[MTD Contact],
[data],
IF( [MTD Contact] = 'Manager',
Pick(Match(data,'MDS','MIS','Pharma','Corporate'),'Juli','Test','peenot','trisha'),
If([MTD Contact] = 'Solution Manager', 'solution_manager_name', // or is this a field? Don't know..
If([MTD Contact] = 'Project Manager', 'project manager')
)
)
AS [Contact Name],
...
FROM ...;
Another option would be to use Mapping Load. I am loading the data using Inline load, but you can maintain this data in an excel file. This makes the maintenance of the data slightly easier compared to if statement.
MappingTable:
Mapping
LOAD [MTD Contact]&'|'&data as Field1,
Mapped;
LOAD * Inline [
MTD Contact, data, Mapped
Manager, MDS, Juli
Manager, MIS, Test
Manager, Pharma, peenot
Manager, Corporate, trisha
Solution Manager, , solution_manager_name
Project Manager, , project_manager
];
FactTable:
LOAD [MTD Contact],
data,
ApplyMap('MappingTable', [MTD Contact]&'|' &If([MTD Contact] = 'Manager', data)) as [Contact Name],
sales;
LOAD * Inline [
MTD Contact, data, sales
Manager, MDS, 100
Solution Manager, xyz, 400
Project Manager, ysh, 320
Manager, MIS, 672
Manager, Pharma, 392
Manager, Corporate, 832
];