There are 2 files, Master and User. We need to compare 2
files and prepare a output log file which lists out missing
Rolename for each UserName between Master and User file.
Please find the sample data-
MASTER.csv
----------
Org|Tmp_UsrID|ShortMark|Rolename
---|---------|----------|------------
AUS|0_ABC_PW |ABC PW |ABC Admin PW
AUS|0_ABC_PW |ABC PW |MT Deny all
GBR|0_EDT_SEC|CR Edit |Editor
GBR|0_EDT_SEC|CR Edit |SEC MT103
GBR|0_EDT_SEC|CR Edit |AB User
USER.csv
--------
Org|UserName|ShortMark|Rolename
---|--------|---------|------------
AUS|charls |ABC PW |ABC Admin PW
AUS|amudha |ABC PW |MT Deny all
GBR|sandya |CR Edit |Editor
GBR|sandya |CR Edit |SEC MT103
GBR|sandya |CR Edit |AB User
GBR|sarkar |CR Edit |Editor
GBR|sarkar |CR Edit |SEC MT103
Required Output file:
---------------------
Org|Tmp_UsrID|UserName|Rolename |Code
---|---------|--------|------------|--------
AUS|0_ABC_PW |charls |ABC Admin PW|MATCH
AUS|0_ABC_PW |charls |MT Deny all |MISSING
AUS|0_ABC_PW |amudha |ABC Admin PW|MISSING
AUS|0_ABC_PW |amudha |MT Deny all |MATCH
GBR|0_EDT_SEC|sandya |Editor |MATCH
GBR|0_EDT_SEC|sandya |SEC MT103 |MATCH
GBR|0_EDT_SEC|sandya |AB User |MATCH
GBR|0_EDT_SEC|sarkar |Editor |MATCH
GBR|0_EDT_SEC|sarkar |SEC MT103 |MATCH
GBR|0_EDT_SEC|sarkar |AB User |MISSING
Both the files are mapped through Organization, Shor_mark.
So, based on each Organization, Short_Mark, for each
UserName from User.csv, we need to find the Matching and
Missing Rolename. I am able to bring Matching records in
the output. But really I don't find any concept or logic to
achieve "MISSING" records which are present in Master and
not in User.csv for each UserName. Please help out guys.
Let me know if you need any more information.
Note:- In User.csv file, there are n number of
Organization, under which n number Shortmark comes which
has n number of UserName.
Answer / zer0
Create the mapping as below:
LKPTRANS
Master_SQ /\
\ / \
/JNRTRANS ---> EXP1 ---> AGG ---> EXP2 ----> EXP3 ---> Targ
User_SQ
In Joiner, use the join as per requirement. For the
scenario given a normal join is enough. Take all the ports
from Master_SQ and User_SQ into an expression after joiner.
From Expression pass it on to an aggregator. In aggregator,
group by based on the ports Master.ShortMark,
Master.Rolename and Master.Username .
From aggregator take the following ports - Master.Org,
Master.Tmp_UsrID, Master.ShortMark, Master.Rolename and
User.UserName
Make a lookup on the User.csv file and from Expression take
Master.ShortMark, Master.Rolename and User.UserName as
input into the lookup trans. Join on the basis of the input
ports and output LKP_UserName from the lookup
transformation.
Also, from EXP2 take all the ports as input into EXP3. Make
a CODE column in EXP3 with the condition IIF(ISNULL
(LKP_UserName),'MISSING','MATCHING')
From EXP3 pass all the ports into target. You will have
your desired answer.
| Is This Answer Correct ? | 0 Yes | 0 No |
how lookup is acting as both active and passive ? how is it possitble?
what is data driven in update strategy transformation?
Plz can anybody send Informatica and Cognos FAQ Plz To thid ID ppradeep_dwh@ayhoo.co.in
i have a data in my source as a flat files what test i have to perform the next step can any body help to me
What is the function of union transformation?
How to generate or load values in to the target table based on a column value using informatica etl tool.
What are the data movement modes in informatcia?
What is Index Caches size?
Normalizer transformation is not involved in Mapplet.. why???
How will restrict values in 0-9 and A-Z and a-z and special character.Only allowed these chars otherwise we will reject the records? what is the function we used to restrict...
How will you check the bottle necks in informatica? From where do you start checking?
What will happen if the select list columns in the custom override sql query and the output ports order in sq transformation do not match?