In this Job, you will use the tUnpivotRow and the
tMap component to convert columns to rows.
This Job will use the following components:
-
a tFileInputDelimited component to read data from
in.txt file,
-
a tUnpivotRow component to convert columns of the
person table to rows,
-
a tMap to generate an output table,
-
and a tLogRow component to print output data on the
console.
Procedure
-
Create a Job named UnPivotColumnsToRows, composed of a
tFileInputdelimited, a
tUnpivotRow and a tLogRow
component linked by three main rows.
-
Double-click tFileInputDelimited to open its
Component view.
-
Fill the File name/Stream field with path of the .txt
file you created for example, "D:/file/in.txt".
-
Change the Header field to
1.
-
Click the ellipsis button (...) to edit the schema of the component.
-
Delete the columns pivot_key and pivot_value.
-
Add a column named Id of
Integer type and a three columns
Name, Sex and
Surgrey of String
type.
-
Double-click tUnpivotRow to add an input column named
Id in the Row keys box.
-
Edit the tUnpivotRow schema and add an
output column named Id of Integer
type as below.
Note: Both output columns Pivot_key and
Pivot_value are pre-defined columns and read only
tUnpivotRow component.
-
Double-click the tMap component to open its schema and drag
the columns id, pivot_key and
pivot_value from the Row2 table to
the out1 table.
-
Respectively change the pivot_key and
pivot_value name of the out1
table to Question and
Answer.
Note: Because both columns (Pivot_key and
Pivot_value) are read only in the
tUnpivotRow component, you must change the column
names in tMap to map to the target schema.