Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Dear Experts,
Below given condition will work in resident table but
Is there any way to map below requirement in SQL SELECT from SAP database.
//===============================================================
Emp:
Load * INLINE [
Emp, Ind
30000000, Yes
30000001, Yes
];
//===============================================================
SAP_Data:
LOAD
PERNR AS Employee,
NACHN AS Surname;
SQL SELECT PERNR NACHN FROM PA0002 Where ApplyMap('Emp', PERNR,'No') = 'Yes';
//===============================================================
Hi,
You can try :
Emp:
Load * INLINE [
Emp, Ind
30000000, Yes
30000001, Yes
];
SUPERTEST:
LOAD
Concat(Emp, ',') as TEST
Resident Emp
Where Ind='Yes'
;
LET vTest = Peek('TEST', 0, 'SUPERTEST');
SAP_Data:
LOAD
PERNR AS Employee,
NACHN AS Surname;
SQL
SELECT PERNR NACHN
FROM PA0002
WHERE PERNR in ($(vTest))
;
drop table SUPERTEST;
ApplyMap is a Qlikview Function. It must operate ine the Qlikview instruction.
Moreover you have to specify Mapping Load in your Map instruction
Emp:
Mapping
Load * INLINE [
Emp, Ind
30000000, Yes
30000001, Yes
];
SAP_Data:
LOAD
PERNR AS Employee,
NACHN AS Surname
Where ApplyMap('Emp', PERNR,'No') = 'Yes'
;
SQL SELECT
PERNR NACHN
FROM PA0002;
You cannot use Qlikview function in Sql. Either you have to hardcode in Sql or you can use ApplyMap() on Preceding Load
LOAD
PERNR AS Employee,
NACHN AS Surname Where ApplyMap('Emp', PERNR,'No') = 'Yes';
SQL SELECT PERNR NACHN FROM PA0002 ;
Hi,
You can try :
Emp:
Load * INLINE [
Emp, Ind
30000000, Yes
30000001, Yes
];
SUPERTEST:
LOAD
Concat(Emp, ',') as TEST
Resident Emp
Where Ind='Yes'
;
LET vTest = Peek('TEST', 0, 'SUPERTEST');
SAP_Data:
LOAD
PERNR AS Employee,
NACHN AS Surname;
SQL
SELECT PERNR NACHN
FROM PA0002
WHERE PERNR in ($(vTest))
;
drop table SUPERTEST;
Dear Aurélien MARTINEZ,
Thanks, it works (provided the no. of values in concat are few).
Regards,
Girish.
Any idea what is the limit on the number of values in concat?