With switch, you can list a set of values that can be assigned to an expression. Which expression gets used as output, is determined by how you write the switch-expression.

The expression has to close with the keyword end.

This operator is most often used in calculated information.


switch [expression]
  when [value_1] then [expression_1]
  when [value_n] then [expression_n]
  else [expression]
  • All values will be compared against the result of the expression

  • All expressions need to return the same type of output, e.g. a number.

  • If none of the defined values apply, the expression following else is used.


A Zurich-based institution is mostly active in its home market and in Germany. It groups its customers in three categories, based on where they live.

Swiss customers get labeled as local. German customers get the label German. The relatively small number of customers from other countries get grouped together in a ‘world’ category.

p is Person
switch p.domicile
  when ch then local_customer
  when de then german_customer
  else world_customer

If the domicile of the instance is provided as Germany, the output will mark the instance as german_customer. If the domicile is South Africa, then else is used: the instance would be ‘world_customer’.

Last updated