Как написать оператор if else на языке выражений служб Reporting Services? - PullRequest
8 голосов
/ 24 августа 2010

Я хотел бы написать службы отчетов "Expression", которые в основном ведут себя следующим образом (псевдокод) ...

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

Я не вижу такой логики, нужно ли мне вкладывать кучу IIF?

=IIF(Fields!StateProvinceId.Value = 1, "Ontario", IIF(Fields!StateProvinceId.Value = 2, "Quebec", IFF(Fields!StateProvinceId.Value = 3, "Manitoba", "Unknown Province")))

1 Ответ

14 голосов
/ 24 августа 2010

Вы пробовали оператор переключения?

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

См. "Функции принятия решений" на этой странице, например:

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

...