Column Mapping Assignment

Assign column mapping for column selections, properties, and transformations.

You can omit column mapping when there's only one input (in ROWSOURCE) and all input columns are selected.

Syntax

column_mapping_assignment ::= THIS [ column_list ] '=' { table_name 
                                                       | value_returned_expression }
                                                       [ '-' DATATYPE data_type ]
                                                       [ '-' { INTERNAL | VARIABLE } ] ;
See Value Returned Expressions.
  • INTERNAL: A column with restricted access, hidden from users, that you can mainly use for debugging purposes.
  • VARIABLE: A transient data holder within the dataset, that you can use for intermediate transformations because it's not included in the final output.
Example:
IMPORT SOURCE CUSTOMERS
DEFINE DATASET CUSTOMERS_D_COL 
 ROWSOURCE CUSTOMERS;
 THIS[FROM_EFFECTIVE_DATE,TO_EFFECTIVE_DATE] = CUSTOMERS[CUST_EFF_FROM,CUST_EFF_TO];
 THIS[CUST_MARITAL_STATUS] = COALESCE (CUSTOMERS.CUST_MARITAL_STATUS,'UNKNOWN') -INTERNAL; 
 THIS = CUSTOMERS[CUST_ID,CUST_FIRST_NAME,CUST_LAST_NAME,CUST_CITY,COUNTRY_ID];
 THIS[CUST_FULL_NAME] = CONCAT_WS (' ', THIS.CUST_FIRST_NAME,THIS.CUST_LAST_NAME);
 THIS[BIRTHYEAR] = CUSTOMERS[CUST_YEAR_OF_BIRTH] -VARIABLE;
 THIS[VOTED_AGE_FLAG] = CASE WHEN THIS.BIRTHYEAR > 2018 THEN 'Y' ELSE 'N' END -DATATYPE VARCHAR2(1); 
END

You can omit column mapping when there's only one input (in ROWSOURCE) and all input columns are selected.

Example: The following is an example of omitting column mapping:
IMPORT SOURCE CUSTOMERS
//THIS = CUSTOMERS is omitted
DEFINE DATASET CUSTOMERS_DO 
 ROWSOURCE CUSTOMERS;
END