BOL’s description of the CHOOSE() Function: “Selects and returns a value from a list or arguments”. The syntax of the function is as follows:
=CHOOSE(index, expression_1 [, expression_2] [, expression_3] [, expression_4] …[, expression_n])
So, the Choose() function uses an Index (of type Double) to ‘choose’ one of a list of supplied values/expressions. For example;
=CHOOSE(Index, “Red”, “Yellow”, “Green”, “Grey”, “Black”, “White”)
When Index = 3, then the result is “Green”. When Index = 5, then the result is “Black”
Let’s look at a practical example:
I have a report (a simple chart at this stage) that relies on any one of a number of values to decide which metric to display – these values are provided to the user via a parameterized drop down list in the report, they simply choose which metric they want and the appropriate data is displayed. In the chart, I use an expression to decide on which metric is to be used based on the value returned by the parameter. Previously, I would have used an IIF() statement to do this, although I now have 7 values and this makes the IIF() statement far too ‘involved’.
Figure 1. shows the Metrics parameter and some of the values used:

Fig 1. Setting the Metrics Parameter Values
The expression that is used in the chart (to get the data) is as follows:
=CHOOSE(Parameters!Metrics.Value, Fields!TotalItems.Value, Fields!OpenItems.Value, Fields!ClosedItems.Value, Fields!AveragePrice.Value, Fields!GrossProfit.Value)

Fig 2. Setting the Expression for the Data Values
When the user selects Total Items from the Parameter drop-down, a value of ‘1’ is passed to the CHOOSE() function which in turn selects Fields!TotalItems.Value as the data to use in the Chart Object. I have also used this expression to set the appropriate Series Label value.
.