Standardizing customer birth dates with a dynamic schema
Last updated: 11/3/2026
Standardize customer birth dates from different source formats while preserving
customer names. Use a dynamic schema to identify the birth date field at
runtime.
About this task
A retailer receives customer records from several registration systems. Each system
records birth dates in a different format. For
example:
last_name,first_name,birthdate
Martin,Claire,1985-04-23
Patel,Arjun,17/09/1992
Garcia,Elena,12-05-1978
Wilson,James,2000-02-29
Chen,Mei,31/12/1988
Brown,Olivia,07-14-1995
Ahmed,Omar,1967-11-08
Rossi,Sofia,06/03/2001
Taylor,Daniel,unknown
Dubois,Emma,not-a-dateThis Job reads ten fictional customer records and adds a standardized birth date for reporting. A separate output identifies records that require correction.
The input schema contains one Dynamic column. The Fact column option identifies birthdate in that column without defining each CSV field in the schema.
Linking the components
Procedure
Configuring the components
Procedure
Executing the Job
Procedure
Press F6 to save and run the Job.
Results
The Main output contains eight records. The component preserves customer names and
original birth dates and adds the standardized Date
values.
.----------------------------+----------------------.
| tLogRow_1 |
|=---------------------------+---------------------=|
|customer |BIRTHDATE_STANDARDIZED|
|=---------------------------+---------------------=|
|Martin - Claire - 1985-04-23|1985-04-23 |
|Patel - Arjun - 17/09/1992 |1992-09-17 |
|Garcia - Elena - 12-05-1978 |1978-12-05 |
|Wilson - James - 2000-02-29 |2000-02-29 |
|Chen - Mei - 31/12/1988 |1988-12-31 |
|Brown - Olivia - 07-14-1995 |1995-07-14 |
|Ahmed - Omar - 1967-11-08 |1967-11-08 |
|Rossi - Sofia - 06/03/2001 |2001-03-06 |The Reject output contains Daniel Taylor and
Emma Dubois, with a REJECT_REASON
explaining each parsing
failure.
.--------------------------+-------------------------------------------------------------------------------.
| tLogRow_2 |
|=-------------------------+------------------------------------------------------------------------------=|
|customer |REJECT_REASON |
|=-------------------------+------------------------------------------------------------------------------=|
|Taylor - Daniel - unknown |Column 'birthdate' value 'unknown' did not match any configured date pattern |
|Dubois - Emma - not-a-date|Column 'birthdate' value 'not-a-date' did not match any configured date pattern|
'--------------------------+-------------------------------------------------------------------------------'