9

I would like to write a Reporting Services "Expression" that basically behaves as the following (pseudo code)...

if ([Fields!StateProvinceId.Value] == 1)
{
   return "Ontario";
}
else if ([Fields!StateProvinceId.Value] == 2)
{
   return "Quebec";
}
else if ([Fields!StateProvinceId.Value] == 3)
{
   return "Manitoba";
}
// ...
// more cases same pattern

I don't see this type of logic do I have to nest a bunch of IIF?

=IIF(Fields!StateProvinceId.Value = 1, "Ontario", IIF(Fields!StateProvinceId.Value = 2, "Quebec", IFF(Fields!StateProvinceId.Value = 3, "Manitoba", "Unknown Province")))
Pedram
  • 6,256
  • 10
  • 65
  • 87
Justin
  • 10,667
  • 15
  • 58
  • 79

1 Answers1

17

Have you tried a switch statement?

= Switch( Fields!StateProvinceId.value=1,"Ontario", Fields!StateProvinceId.value=2,"Quebec", Fields!StateProvinceId.value=3,"Manitoba")

See "decision functions" on this page for example:

http://msdn.microsoft.com/en-us/library/ms157328.aspx

Anon246
  • 1,821
  • 13
  • 16