Remove
This step will simply removes the specified columns.
This is very useful in the case where there are many columns and only some of them need to be removed, without changing theseen as a shortcut to avoid doing a projection step by specifying all the columns to keep.
Input data
ID | FIRSTNAME | LASTNAME | SEX | BIRTHDATE | DEPARTMENT | SALARY | FEES | LEVEL | PARENT | ACTIVE |
---|---|---|---|---|---|---|---|---|---|---|
01 | Peter | Bosshard | M | 05.02.1958 | DIR | 5800.00 | 340.05 | 1 | true | |
02 | Maria | Skinov | F | 25.06.1964 | DIR | 5700.00 | 480.15 | 2 | 01 | true |
03 | Casey | Cole | M | 28.08.1955 | DIR | 5700.00 | 210.50 | 2 | 01 | true |
04 | Roger | Binner | M | 13.01.1959 | DIR | 5700.00 | 230.55 | 2 | 01 | true |
05 | Olive | Saltin | F | 31.03.1961 | DIR | 5700.00 | 727.12 | 2 | 01 | false |
06 | Bill | Amacker | M | 27.10.1968 | HEA | 5300.00 | 0.00 | 3 | 02 | true |
07 | Aby | Thornson | F | 26.11.1967 | HEA | 5300.00 | 140.00 | 3 | 02 | true |
08 | Anne | Pevler | F | 14.09.1967 | HEA | 5300.00 | 150.00 | 3 | 03 | true |
09 | Annita | Smith | F | 17.12.1967 | HEA | 5300.00 | 60.00 | 3 | 04 | true |
10 | Robert | Smith | M | 13.12.1970 | DEV | 5000.00 | 0.00 | 4 | 06 | true |
11 | Maggie | Frill | F | 29.02.1972 | DEV | 5000.00 | 0.00 | 4 | 06 | true |
12 | Daniel | Metzler | M | 01.01.1973 | DEV | 4900.00 | 0.00 | 4 | 07 | true |
13 | Frank | Witz | M | 05.01.1973 | DEV | 4900.00 | 10.00 | 4 | 07 | true |
14 | Franky | Bilen | M | 12.12.1972 | DEV | 4900.00 | 0.00 | 4 | 07 | true |
15 | Ed | Krack | M | 08.04.1969 | DEV | 5100.00 | 0.00 | 4 | 07 | true |
16 | Sean | Huskynd | M | 04.09.1971 | DEV | 4900.00 | 0.00 | 4 | 07 | false |
17 | Alice | Muller | F | 09.10.1976 | STG | 4500.00 | 0.00 | 4 | 07 | true |
Removal of the columns
<blueiron output="employees">
<input id="employees">
<column id="ID" type="String" />
<column id="FIRSTNAME" type="String" />
<column id="LASTNAME" type="String" />
<column id="SEX" type="String" />
<column id="BIRTHDATE" type="Date" />
<column id="DEPARTMENT" type="String" />
<column id="SALARY" type="BigDecimal" />
<column id="FEES" type="BigDecimal" />
<column id="LEVEL" type="Integer" />
<column id="PARENT" type="String" />
<column id="ACTIVE" type="Boolean" />
</input>
<step id="final" source="employees">
<remove>
<column id="ACTIVE" />
<column id="SEX" />
<column id="LEVEL" />
<column id="PARENT" />
</remove>
</step>
</blueiron>
ID | FIRSTNAME | LASTNAME | BIRTHDATE | DEPARTMENT | SALARY | FEES |
---|---|---|---|---|---|---|
01 | Peter | Bosshard | 05.02.1958 | DIR | 5800.00 | 340.05 |
02 | Maria | Skinov | 25.06.1964 | DIR | 5700.00 | 480.15 |
03 | Casey | Cole | 28.08.1955 | DIR | 5700.00 | 210.50 |
04 | Roger | Binner | 13.01.1959 | DIR | 5700.00 | 230.55 |
05 | Olive | Saltin | 31.03.1961 | DIR | 5700.00 | 727.12 |
06 | Bill | Amacker | 27.10.1968 | HEA | 5300.00 | 0.00 |
07 | Aby | Thornson | 26.11.1967 | HEA | 5300.00 | 140.00 |
08 | Anne | Pevler | 14.09.1967 | HEA | 5300.00 | 150.00 |
09 | Annita | Smith | 17.12.1967 | HEA | 5300.00 | 60.00 |
10 | Robert | Smith | 13.12.1970 | DEV | 5000.00 | 0.00 |
11 | Maggie | Frill | 29.02.1972 | DEV | 5000.00 | 0.00 |
12 | Daniel | Metzler | 01.01.1973 | DEV | 4900.00 | 0.00 |
13 | Frank | Witz | 05.01.1973 | DEV | 4900.00 | 10.00 |
14 | Franky | Bilen | 12.12.1972 | DEV | 4900.00 | 0.00 |
15 | Ed | Krack | 08.04.1969 | DEV | 5100.00 | 0.00 |
16 | Sean | Huskynd | 04.09.1971 | DEV | 4900.00 | 0.00 |
17 | Alice | Muller | 09.10.1976 | STG | 4500.00 | 0.00 |
Creating and removing columns
The example below shows a mix with a projection step where columns are created and then other columns are removed.
<blueiron output="final">
<input id="employees">
<column id="ID" type="String" />
<column id="FIRSTNAME" type="String" />
<column id="LASTNAME" type="String" />
<column id="SEX" type="String" />
<column id="BIRTHDATE" type="Date" />
<column id="DEPARTMENT" type="String" />
<column id="SALARY" type="BigDecimal" />
<column id="FEES" type="BigDecimal" />
<column id="LEVEL" type="Integer" />
<column id="PARENT" type="String" />
<column id="ACTIVE" type="Boolean" />
</input>
<step id="final" source="employees">
<project insert="after">
<value id="FULLNAME">${FIRSTNAME} ${LASTNAME}</value>
<expr id="FULLSALRY">SALARY + FEES</expr>
</project>
<remove>
<column id="ACTIVE" />
<column id="SEX" />
<column id="LEVEL" />
<column id="PARENT" />
<column id="DEPARTMENT" />
</remove>
</step>
</blueiron>
ID | FIRSTNAME | LASTNAME | BIRTHDATE | SALARY | FEES | FULLNAME | FULLSALRY |
---|---|---|---|---|---|---|---|
01 | Peter | Bosshard | 05.02.1958 | 5800.00 | 340.05 | Peter Bosshard | 6140.05 |
02 | Maria | Skinov | 25.06.1964 | 5700.00 | 480.15 | Maria Skinov | 6180.15 |
03 | Casey | Cole | 28.08.1955 | 5700.00 | 210.50 | Casey Cole | 5910.50 |
04 | Roger | Binner | 13.01.1959 | 5700.00 | 230.55 | Roger Binner | 5930.55 |
05 | Olive | Saltin | 31.03.1961 | 5700.00 | 727.12 | Olive Saltin | 6427.12 |
06 | Bill | Amacker | 27.10.1968 | 5300.00 | 0.00 | Bill Amacker | 5300.00 |
07 | Aby | Thornson | 26.11.1967 | 5300.00 | 140.00 | Aby Thornson | 5440.00 |
08 | Anne | Pevler | 14.09.1967 | 5300.00 | 150.00 | Anne Pevler | 5450.00 |
09 | Annita | Smith | 17.12.1967 | 5300.00 | 60.00 | Annita Smith | 5360.00 |
10 | Robert | Smith | 13.12.1970 | 5000.00 | 0.00 | Robert Smith | 5000.00 |
11 | Maggie | Frill | 29.02.1972 | 5000.00 | 0.00 | Maggie Frill | 5000.00 |
12 | Daniel | Metzler | 01.01.1973 | 4900.00 | 0.00 | Daniel Metzler | 4900.00 |
13 | Frank | Witz | 05.01.1973 | 4900.00 | 10.00 | Frank Witz | 4910.00 |
14 | Franky | Bilen | 12.12.1972 | 4900.00 | 0.00 | Franky Bilen | 4900.00 |
15 | Ed | Krack | 08.04.1969 | 5100.00 | 0.00 | Ed Krack | 5100.00 |
16 | Sean | Huskynd | 04.09.1971 | 4900.00 | 0.00 | Sean Huskynd | 4900.00 |
17 | Alice | Muller | 09.10.1976 | 4500.00 | 0.00 | Alice Muller | 4500.00 |
Note that the output of the descriptor above is stricly the same as this one:
<blueiron output="final">
<input id="employees">
<column id="ID" type="String" />
<column id="FIRSTNAME" type="String" />
<column id="LASTNAME" type="String" />
<column id="SEX" type="String" />
<column id="BIRTHDATE" type="Date" />
<column id="DEPARTMENT" type="String" />
<column id="SALARY" type="BigDecimal" />
<column id="FEES" type="BigDecimal" />
<column id="LEVEL" type="Integer" />
<column id="PARENT" type="String" />
<column id="ACTIVE" type="Boolean" />
</input>
<step id="final" source="employees">
<project>
<column id="ID" />
<column id="FIRSTNAME" />
<column id="LASTNAME" />
<column id="BIRTHDATE" />
<value id="FULLNAME">${FIRSTNAME} ${LASTNAME}</value>
<expr id="FULLSALRY">SALARY + FEES</expr>
</project>
</step>
</blueiron>