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>

Go further