web-dev-qa-db-ja.com

レポートビルダー3.0 SWITCH式DEFAULT / ELSE

ユーザーのフランチャイズ番号に基づいて異なるロゴを表示しようとしています。

パラメーター= UserFranNr

値が<> 99および<> 87の場合、表示する埋め込み画像はID0です。 (埋め込み画像名は文字列です。)

これはネストされたIIFで機能しますが、SWITCHを使用する適切な時間/場所のようです。

(将来、より多くのフランチャイズが独自のロゴを使用する可能性が高くなります。)

=Switch 
(
Parameters!UserFranNr.Value = "99","ID99",
Parameters!UserFranNr.Value = "87","ID87",
"ID0"
)

SWITCHを使用してデフォルト値を実装する方法を説明するドキュメントは見つかりませんでした。

これも可能ですか?もしそうならどのように?まともな選択肢がない場合は?ありがとう

リソース: 式の例(レポートビルダーおよびSSRS)式の定義ダイアログボックス(レポートビルダー)

さらに、ここと他のフォーラム。

39
Dennis Post

SSRS Switch式にはデフォルトの句はありません。

ただし、式はいつでもわずかに変更できます。

=Switch 
(
  Parameters!UserFranNr.Value = "99","ID99",
  Parameters!UserFranNr.Value = "87","ID87",
  true, "ID0"
)

最後の条件がヒットすると、いつでもtrueに明示的に評価されるため、最後の行は事実上デフォルト値として機能します。

過去にこれを問題なく使用しました。おそらくこの表現を読んでいる人にしかめ面を生成する以外に、最小限の労力で完璧に機能します。

既定の句を持たないことが賢明な動作であるかどうかについては、Microsoftにとっては疑問です。確かに私には奇妙に思えますが、そこに行きます。

83
Ian Preston