2012-02-08 7 views
0

レポートにjobidが表示されています。私は、ジョブIDが02,07.11,19,21,29,31,40などの場合、それらのレポート行は表示されません。私は表現を書いて行を隠す方法を知っていますが、私の仕事が02,07.11,19,21,29,31,40であると言う短い方法があるかどうかを知る必要があります。 レポートサービス - レポートパラメータ値に基づいてテーブル行を非表示にする

はまだ私は= IIF(フィールド!JID.Value = 02またはフィールド!JID.Value = 07またはフィールド!JID.Value = 11またはフィールド!JID.Value = 19、真、偽)

のようにやっています

= IIF(Fields!JID.Value in(02,07.11,19,21,29,31,40)、True、False)

私はジョブIDをパラメータ値として送信すると、 "02,07.11,19,21,29,31,40"のような呼び出し環境から、それをどのように行うか。

お知らせください。

答えて

0

これはSQLでこれを処理する目的で機能しますか?あなたはカップルのオプション... @JIDValuesと呼ばれるレポート内の複数値、文字列パラメータを設定

  1. オプション1

    を持っています。 SQL sprocsは値の配列を受け入れないため、これを文字列配列としてsprocに渡す必要があります。これを行うには、ストアドプロシージャを実行するレポートコードで値を結合する必要があります。 SPROC(またはお好みに応じて、レポート)インサイド

    JOIN(Parameters!SiteGroupList.Value, ",") & "'"

    以下は、両端にだけでなく、途中で自分の価値観のために働くように、あなたの文字列にカンマを追加し、先頭に追加する必要があります。文字列の次のWHERE句は、特定のジョブIDがsprocに渡されたコンマで区切られた文字列に含まれているかどうかを判断できます。

    WHERE @JIDValues LIKE '%,' + LTRIM(RTRIM(STR(tableA.JID))) + ',%'

  2. オプションまたは2

    これは静的なリストであるならば、あなたはそれらを除外するために、あなたのSPROCをハードコーディングすることができます。

+0

私は報告書レベルでそれをしたいと思います。あなたの2番目のオプションはSProcですが、最初のオプションはレポートのようですが、JOIN(Parameters!SiteGroupList.Value、 "、")とその式をどこに置くのか?コンマ区切りの値に基づいて行を非表示にする方法を理解できません。 plzzは詳細を議論します – Thomas

+0

「行を非表示にする」と言いますと、結果からそれらをすべて一緒に除外するという意味ですか?もしそうでなければ、それはどういう意味ですか? いずれの解決策も、報告書を厳密に取り扱っていません。どちらもsprocの代わりにいくつかの作業が必要です。あなたの選択肢をより明確に反映するように私の答えを修正します。 – unforgiven1987

+0

トーマス、運がありましたか? – unforgiven1987

関連する問題