Surrogate Key Generator In Datastage

IBM DataStage Surrogate key generator state file. Set the Key Source Action property to Create. Movavi video editor 14 activation key generator. In order to isolate the data warehouse from source systems, we will introduce a technical surrogate key instead of re-using the source system's natural business key. Surrogate Key Generator Implementation in Datastage 8.1, 8.5 and 9.1 The Surrogate Key Generator stage is a processing stage that generates surrogate key columns and maintains the key source. A surrogate key is a unique primary key that is not derived from the data that it represents, therefore changes to the data will not change the primary key. A surrogate key is a unique primary key that is not derived from the data that it represents, therefore changes to the data will not change the primary key. In a star schema database, surrogate keys are used to join a fact table to a dimension table. The Surrogate Key Generator stage can have a single input link, a single output link, both an. Answer / murali. Yes ur right but we have another way to generate s key by using transformer.in transformer we have a surrogate key tab click the skey tab in that we hav state file and db sequence.


When using the Surrogate Key Generator Stage with Database Sequence, please note that before using the sequence values:
1. The 'Sequence' needs to be created in the database in order to use it. Sequence creation script:
CREATE SEQUENCE Sequence_Name INCREMENT BY 1 START WITH 1 NOMAXVALUE CACHE 10;
2. For a Database sequence, note here to use appropriate action with respect to the following:
CYCLE:
Specify CYCLE to indicate that the sequence continues to generate values after reaching either its maximum or minimum value. After an ascending sequence reaches its maximum value, it generates its minimum value. After a descending sequence reaches its minimum, it generates its maximum value.
Specify NOCYCLE to indicate that the sequence cannot generate more values after reaching its maximum or minimum value. This is the default.
3. Test the Sequence on the database server side with script:
4. Create sequence environmental variable on DataStage server side, to make the stage/job reusable
5. Use the following in the Surrogate Key Generator Stage:
Source Name =#db_server#.#db_name#.#schema#.<sequence_name>
The source name here should not be the<table_name> but the oracle sequence name, which we had created in the above steps.
6. Alternatively, In the Target DB Stage you can when simplyinserting into your target table, use <sequence name>.nextvalin your insert statement.
Thanks!
The Surrogate Key Generator stage is a processing stage that generates surrogate key columns and maintains the key source.
A surrogate key is a unique primary key that is not derived from the data that it represents, therefore changes to the data will not change the primary key. In a star schema database, surrogate keys are used to join a fact table to a dimension table.
  • Create or delete the key source before other jobs run
  • Update a state file with a range of key values
  • Generate surrogate key columns and pass them to the next stage in the job
  • View the contents of the state file
Generated keys are 64 bit integers and the key source can be stat file or database sequence.
Drag the surrogate key stage from palette to parallel job canvas with no input and output links.
Double click on the surrogate key stage and click on properties tab.
Properties:
Source Type : FlatFile or Database sequence(in this case we are using FlatFile)
When you run the job it will create an empty file.
If you want to the check the content change the View Stat File = YES and check the job log for details.
skey_genstage,0: State file /tmp/skeycutomerdim.stat is empty.
if you try to create the same file again job will abort with the following error.
skey_genstage,0: Unable to create state file /tmp/skeycutomerdim.stat: File exists.
To update the stat file add surrogate key stage to the job with single input link from other stage.
We use this process to update the stat file if it is corrupted or deleted.
1)open the surrogate key stage editor and go to the properties tab.

Serial Key Generator

If the stat file exists we can update otherwise we can create and update it.
We are using SkeyValue parameter to update the stat file using transformer stage.
Now we have created stat file and will generate keys using the stat key file.
Click on the surrogate keys stage and go to properties add add type a name for the surrogate key column in the Generated Output Column Name property
Rowgen we are using 10 rows and hence when we run the job we see 10 skey values in the output.
I have updated the stat file with 100 and below is the output.
If you want to generate the key value from begining you can use following property in the surrogate key stage.
  1. If the key source is a flat file, specify how keys are generated:
    • To generate keys in sequence from the highest value that was last used, set the Generate Key from Last Highest Value property to Yes. Any gaps in the key range are ignored.
    • To specify a value to initialize the key source, add the File Initial Value property to the Options group, and specify the start value for key generation.
    • To control the block size for key ranges, add the File Block Size property to the Options group, set this property toUser specified, and specify a value for the block size.
  2. If there is no input link, add the Number of Records property to the Options group, and specify how many records to generate.

Key Generator Download

COURTESY: http://datastage4u.wordpress.com/2012/01/16/surrogate-key-generator-stage-infosphere-information-server-8-5/