Where we use dynamic lookup and where we use it?do we
generate surrogate keys using dynamic lookup?can we use it
for scd type 2 mapping and why?
Answers were Sorted based on User's Feedback
Answer / jaspreet banga
Dynamic lookup means the lookup transformation will lookup
in the lookup table during mapping execution using session
i.e.,during runtime, example 'WHEN WE WANT TO GENERATE
PRIMARY KEY AND FOR THAT WE HAVE TO USE UNCONNECTED LOOKUP
TRANSFORMATION FOR LOOKING UP INTO THE TARGET FOR EACH NEW
ROW AND THAT IS DYNAMIC LOOKUP OR RUNTIME LOOKUP'. SCD type
2 indicates history preservation of records i.e.., update
the existing record using last update date and inserting
its new instance with new key. it dosent matter to use with
SCD1 or SCD2 we can use it as per our requirement. one more
example is "loading fact tables by looking up into
dimension tables"
| Is This Answer Correct ? | 5 Yes | 0 No |
Answer / nayan naik
Dynamic lookup when used in a SCD-2 implementation ,you must
make sure your lookup transformation is on the target table,
hence the dynamic lookup cache is always in sync.
Surrogate keys are generated using a sequence and not a
lookup transformation. Have a look at this link it gives you
a complete step by step implementation of SCD-2 in informatica.
http://deepinopensource.blogspot.in/2013/03/scd-2-implementations-in-informatica.html
| Is This Answer Correct ? | 1 Yes | 0 No |
Answer / riyaz
The following list describes some situations when you use a dynamic lookup cache:
Updating a master customer table with new and updated customer information. Use a Lookup transformation to perform a lookup on the customer table to determine if a customer exists in the target. The cache represents the customer table. The Lookup transformation inserts and update rows in the cache as it passes rows to the target.
Inserting rows into a master customer table from multiple real-time sessions. Use a Lookup transformation in each session to perform a lookup on the same customer table. Each Lookup transformation inserts rows into the customer table and it inserts them in the dynamic lookup cache. For more information about synchronizing dynamic cache between multiple sessions, see Synchronizing Cache with the Lookup Source.
Loading data into a slowly changing dimension table and a fact table. Create two pipelines and configure a Lookup transformation that performs a lookup on the dimension table. Use a dynamic lookup cache to load data to the dimension table. Use a static lookup cache to load data to the fact table, and specify the name of the dynamic cache from the first pipeline.
Reading a flat file that is an export from a relational table. Read data from a Teradata table when the ODBC connection is slow. You can export the Teradata table contents to a flat file and use the file as a lookup source. Configure the Teradata table as a relational target in the mapping and pass the lookup cache changes back to the Teradata table.
| Is This Answer Correct ? | 1 Yes | 0 No |
sample mappings for scd1,scd2 and scd3
Parameter and variable differences
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.
in my lookup table i want to catch the recently updated records from the source to target,how to achieve this and what is last commit interval point for this?
i have source flat file like 1 a,1 b,1 c,2 a,2 b,2 c i want output as 1 a,b,c and 2 a,b,c ... how can achieve this
if i have one mapping and we already tuned that mapping for performance,everything is fine and loading will take 1 hr,so without doing any change in mapping how could we reduce the loading time from 1hr to 1/2 hr.
How to go to the older version for a mapping?
Transformer is a __________ stage option1:Passive 2.Active 3.Dynamic 4.Static
What is the main data object present inbetween source and target. I answered Mapping. Transformation etc.. But it is not the answer. So please give me an apt answer. Thanks in advance
SRC1 -> EXP -> AGGR -> TGT SRC2 -> EXP -> Above is a maaping with two pipeline connected to the taret TGT. Design wise is this design is correct or not ?
What is a candidate key?
how DTM buffer size and buffer block size are related