2017-02-02 3 views
0

SSRS2016のパラメータとして1つのラベルに多くの値を渡す方法はありますか?1つのラベルの多くの値をパラメータとして渡す

私のデータセットは、(必要に応じてI値列を変更することができる)のように見える:

LABEL VALUE 
XXX 10, 12 
YYY 11 
AAA 90, 80, 70 

ので、各行は(同じ桁数で)複数の値を含みます。私はレポートレベルでデータセットをフィルタリングするためにそれを使用します。 LABELが複製されるため、各値を別々の行に表示する必要はありません。ここで

は、私の裁判のいずれかです。

enter image description here

+1

データ構造を修正して、ラベルごとに1つの値を持つテーブルを作成します。それがこのデータを表す正しい方法です。 –

+0

その後、レポートパラメータリストにラベルが重複して表示されます。 – Testtest11

+1

カンマ区切り文字列を使用できます。これを行う場合は、クエリレベルとしてカンマ区切り関数を使用する必要があります。 –

答えて

3

あなたはOPに投稿されたデータセットを使用するようにパラメータを設定することができます。カンマと数字の間の各空白を削除するようにしてください。

LABEL VALUE 
XXX 10,12 
YYY 11 
AAA 90,80,70 

次に、あなただけのTablixのフィルタでSPLIT機能を使用する必要があるフィルタで:

ParamXは、あなたのテキストである
=Split(Parameters!ParamX.Value,",") 

Valueについては

enter image description here

この表現を使いますパラメータ[Code]はフィルタリングするカラムですFields!Code.Valueです。また

Fields!Code.ValueあなたはExpressionテキストボックスに表現の下に使用することができますので、あなたは、働くこのするために、それを文字列に変換する必要があり整数フィールドの場合:次のことができます

=Cstr(Fields!Code.Value) 

UPDATE ONLYSplit()関数は1つの値を持つ列をフィルタリングし、10、次に12などを使用して、レポートが最初にフィルタを評価できるようにします。

ので、このアプローチは、このようなデータセットをフィルタします:

Code Row 
10  1 
11  2 
80  3 
70  4 
103  5 

あなたのパラメータでラベルAAAを選択するのであれば、それはのための行3と4

UPDATE 2サポートをフィルタリングします多値パラメータ。

あなたのパラメータがAllow multiple valuesに設定されている場合は、SPLITJOIN機能の組み合わせを使用する必要があります。

以下で値式を置き換えます

=split(join(Parameters!ParamX.Value,","),",") 

は、このことができますなら、私に教えてください。

+0

エラーが発生しました:Tablix 'Tablix3'のFilterValuesの評価に失敗しました。 (rsFilterEvaluationError) ---------------------------- レポート処理中にエラーが発生しました。 (rsProcessingAborted) – Testtest11

+1

@ Testtest11、フィルタリングしようとしているtablixを表示できますか? –

+0

質問にスクリーンショットを追加しました。 – Testtest11

関連する問題