web-dev-qa-db-ja.com

ReportingServices式言語でifelseステートメントを作成するにはどうすればよいですか?

ReportingServicesを書きたい"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")))
8
Justin

Switchステートメントを試しましたか?

= 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

14
Anon246