Switch-Case
This step implements switch/case statements found in popular programming languages like Java.
The PDI implementation routes a row of data to a Target step based on a comparison Value in a specified field.

Options
The Switch / case step includes the following options:

Option | Description |
Step name | Specify the unique name of the Switch/case step on the canvas. You can customize the name or leave it as the default. |
Field name to switch | Specify the field name that contains the Value to use as a basis for the row routing. Values are specified in the Case values entry table. |
Use string contains comparison | If selected, the comparison will be true if the Value is
found anywhere in the field being tested. If cleared, the Value must exactly match the field. |
Case value data type | Specify the data type of the values listed in the Case values entry table. |
Case value conversion mask | Specify the conversion mask of the values listed in Case values (numeric / data values). |
Case value decimal symbol | Specify the decimal symbol of the values listed in Case values (numeric values). |
Case value grouping symbol | Specify the grouping symbol of the values listed in Case values (numeric values). |
Case values | In the table, per each row, specify a single
Value and Target step pair. You may
specify the same Target step in more than one single row. To specify a null value, leave the Value for a row blank while entering a Target Step. |
Default target step | Specify the name of a target step in the transformation as a default for any unmatched rows. All rows that do not match any of the Case values are sent to this target step. |
Example
A sample transformation demonstrating the capabilities of this step is available in the data-integration/samples folder, included with the Pentaho distribution package.
data-integration/samples/transformations/files/Switch-Case - basic sample.ktr
Metadata injection support
All fields of this step support metadata injection. You can use this step with ETL metadata injection to pass metadata to your transformation at runtime.