Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Hi All,
I have two tables ALL_REGIONS,LOCAL.
ALL_REGIONS table contains LOCAL and NON-LOCAL employees.
LOCAL table contains LOCAL employees.
My requirement is to create a new field with 'LOCAL' and 'NON-LOCAL' values.
OUTPUT:
EmpName EmpNo Area
E1 1 LOCAL
E2 2 NON-LOCAL
E3 3 LOCAL
E4 4 LOCAL
E5 5 LOCAL
E6 6 NON-LOCAL
E7 7 NON-LOCAL
E8 8 NON-LOCAL
E9 9 NON-LOCAL
E10 10 LOCAL
E11 11 NON-LOCAL
E12 12 LOCAL
E13 13 NON-LOCAL
E14 14 LOCAL
E15 15 NON-LOCAL
SCRIPT:
ALL_REGIONS:
LOAD * INLINE [EmpName,EmpNo
E1,1
E2,2
E3,3
E4,4
E5,5
E6,6
E7,7
E8,8
E9,9
E10,10
E11,11
E12,12
E13,13
E14,14
E15,15
];
LOCAL:
LOAD * INLINE [
EmpName,EmpNo
E1,1
E3,3
E4,4
E5,5
E10,10
E12,12
E14,14
];
Perhaps like this:
mapEmpLocal
MAPPING LOAD EmpNo, 'LOCAL' as Value INLINE [
EmpNo
1
3
4
5
10
12
14
];
ALL_REGIONS:
LOAD *, ApplyMap('mapEmpLocal',EmpNo, 'NON-LOCAL') as Area INLINE [
EmpName,EmpNo
E1,1
E2,2
E3,3
E4,4
E5,5
E6,6
E7,7
E8,8
E9,9
E10,10
E11,11
E12,12
E13,13
E14,14
E15,15
];
Perhaps like this:
mapEmpLocal
MAPPING LOAD EmpNo, 'LOCAL' as Value INLINE [
EmpNo
1
3
4
5
10
12
14
];
ALL_REGIONS:
LOAD *, ApplyMap('mapEmpLocal',EmpNo, 'NON-LOCAL') as Area INLINE [
EmpName,EmpNo
E1,1
E2,2
E3,3
E4,4
E5,5
E6,6
E7,7
E8,8
E9,9
E10,10
E11,11
E12,12
E13,13
E14,14
E15,15
];
LOCAL:
LOAD *, 'LOCAL' as Area, EmpName&EmpNo as Key INLINE [
EmpName,EmpNo
E1,1
E3,3
E4,4
E5,5
E10,10
E12,12
E14,14
];
NoConcatenate
Temp_ALL_REGIONS:
LOAD * INLINE [EmpName,EmpNo
E1,1
E2,2
E3,3
E4,4
E5,5
E6,6
E7,7
E8,8
E9,9
E10,10
E11,11
E12,12
E13,13
E14,14
E15,15
];
Concatenate(LOCAL)
Load *, 'NON-LOCAL' as Area Resident Temp_ALL_REGIONS Where Not Exists(Key,EmpName&EmpNo);
Drop Table Temp_ALL_REGIONS;
Drop Field Key;
Try this ways
LOCAL:
Mapping
LOAD *,'LOCAL' as Area;
LOAD * INLINE [
EmpNo
1
3
4
5
10
12
14
];
ALL_REGIONS:
LOAD *,ApplyMap('LOCAL',EmpNo,'NON-LOCAL') as Area;
LOAD * INLINE [EmpName,EmpNo
E1,1
E2,2
E3,3
E4,4
E5,5
E6,6
E7,7
E8,8
E9,9
E10,10
E11,11
E12,12
E13,13
E14,14
E15,15
];
Regards
Anand
Hi Jack,
You can also try,
LOCAL:
Load EmpNo as EmpNoToCheck;
LOAD * INLINE [
EmpName,EmpNo
E1,1
E3,3
E4,4
E5,5
E10,10
E12,12
E14,14
];
ALL_REGIONS:
Load *, If(Exists(EmpNoToCheck,EmpNo),'LOCAL','NON-LOCAL') as Area;
LOAD * INLINE [EmpName,EmpNo
E1,1
E2,2
E3,3
E4,4
E5,5
E6,6
E7,7
E8,8
E9,9
E10,10
E11,11
E12,12
E13,13
E14,14
E15,15
];
DROP Table LOCAL;