Skip to main content

I have a flat file, in which I have two fields emp_id, emp_name. The data is like this- emp_id emp_name 101 soha 101 ali 101 kahn 102 Siva 102 shanker 102 Reddy How to merge the names so that my output is like this Emp_id Emp_name 101 Soha ali Kahn 102 Siva shanker Reddy


                                                                                                                                                                      
Scenario:
I have a flat file, in which I have two fields emp_id, emp_name. The data is like this-
emp_id emp_name
101                soha
       101                 ali
101                kahn
102                Siva
102                shanker
102                Reddy
How to merge the names so that my output is like this   

Emp_id  Emp_name
101                 Soha ali Kahn
102                 Siva shanker Reddy


Solution:
Follow the below steps
  1. user a sorter transformation and sort the data as per emp_id
  2. Use Exp transformation:
Create blow ports
V_emp_id = emp_id
V_previous_emp_id = emp_id
V_emp_name = emp_name
V_emp_full_name = iif(V_emp_id = V_previous_emp_id , V_emp_name||’ ’||                     V_emp_full_name, V_emp_name)
O_emp_full_name = V_emp_full_name
O_counter = iif(O_counter is null,1,O_counter+1)
  1. output will look like
emp_id emp_name                                          Counter
101        soha                                                      1
                                                101        soha  ali                                               2
101        soha  ali kahn                                    3
102        Siva                                                       4
102        Siva shanker                                      5
102        Siva shanker Reddy                       6

  1. Send Emp_id and Counter to Agg, where take a max counter for each id so o/p will be
Emp_id  Counter
101                3
102                6
5. Joint output of step three and 4, you will get desire output as
Emp_id  Emp_name
103                 Soha ali Kahn
104                 Siva shanker Reddy


Comments

Popular posts from this blog

CMN_1650 A duplicate row was attempted to be inserted into a dynamic lookup cache Dynamic lookup error.

Scenario: I have 2 ports going through a dynamic lookup, and then to a router. In the router it is a simple case of inserting new target rows (NewRowLookup=1) or rejecting existing rows (NewRowLookup=0). However, when I run the session I'm getting the error: "CMN_1650 A duplicate row was attempted to be inserted into a dynamic lookup cache Dynamic lookup error. The dynamic lookup cache only supports unique condition keys." I thought that I was bringing through duplicate values so I put a distinct on the SQ. There is also a not null filter on both ports. However, whilst investigating the initial error that is logged for a specific pair of values from the source, there is only 1 set of them (no duplicates). The pair exists on the target so surely should just return from the dynamic lookup newrowlookup=0. Is this some kind of persistent data in the cache that is causing this to think that it is duplicate data? I haven't got the persistent cache or...

SQL Transformation with examples

============================================================================================= SQL Transformation with examples   Use : SQL Transformation is a connected transformation used to process SQL queries in the midstream of a pipeline . We can insert, update, delete and retrieve rows from the database at run time using the SQL transformation. Use SQL transformation in script mode to run DDL (data definition language) statements like creating or dropping the tables. The following SQL statements can be used in the SQL transformation. Data Definition Statements (CREATE, ALTER, DROP, TRUNCATE, RENAME) DATA MANIPULATION statements (INSERT, UPDATE, DELETE, MERGE) DATA Retrieval Statement (SELECT) DATA Control Language Statements (GRANT, REVOKE) Transaction Control Statements (COMMIT, ROLLBACK) Scenario: Let’s say we want to create a temporary table in mapping while workflow is running for some intermediate calculation. We can use SQL transformat...

Load the session statistics such as Session Start & End Time, Success Rows, Failed Rows and Rejected Rows etc. into a database table for audit/log purpose.

                                                                                                                                                                     ...