2011-10-21 7 views
1

4つのトランザクションステータス... '03'、 '05'、 '06'、& ' 07'
私はそれらを引っ張るデータセットを定義しました...すべてのレポートを実行するには、ドロップダウンメニューでALLレポートを選択することが必要です

SELECT 'ALL' AS label, NULL AS value, 0 AS iordr 
UNION ALL 
SELECT '03' AS label, '03' AS value, 1 AS iordr 
UNION ALL  
SELECT '05' AS label, '05' AS value, 2 AS iordr 
UNION ALL 
SELECT '06' AS label, '06' AS value, 3 AS iordr 
UNION ALL 
SELECT '07' AS label, '07' AS value, 4 AS iordr 
ORDER BY iordr 

しかし、私は、私はレポートのドロップダウンからすべて選択すると、パラメータを定義しようとすると、それが引っ張っていません " 03 '、' 05 '、' 06 '、' 07 ' - 実際、それは何もしません...どのようにして、' ALL '選択が1つのレポートですべてのステータスを取得するようにしますか?
レポートパラメータのプロパティ:

一般
データ型:テキスト。可視
使用可能な値:
次のいずれかのオプションを選択から:値

は、クエリ
データセット(1は、上記で定義)
Valueフィールドから値を取得し、null値に
選択パラメータの可視性を許可します ラベルフィールド:ラベル
デフォルト値:以下のいずれかのオプションから
選択:デフォルト値なし

+0

どのレポートツールを使用していますか? –

+0

@Michael Petrottaレポートパラメータプロパティの詳細は、SSRSのように見えます。 (私は再タグ付けしました) –

+0

レポートのデータを取り出す別のデータセットがありますか? (あなたはすべきです。)パラメータを使用する方法を共有できますか?これはおそらく問題です。 –

答えて

0

ドロップダウンリストから選択した値は{ NULL, '03', '05', '06', '07' }のいずれかになります。ですから、このようなレポートでは、あなたのWHERE句を書くことができます。

SELECT ... 
FROM ... 
WHERE SomeColumn = @UserSelectedValue 
    OR @UserSelectedValue IS NULL 
; 

= NULLは(とにかくANSI規格として)有効ではありません、それが唯一与えるだろうので、あなたのWHERE句がちょうどWHERE SomeColumn = @UserSelectedValueであればそれは動作しません。 SomeColumnNULLになります。

NULL IS NULLを効果的に比較すると、1行ごとに保持される条件が作成され、すべてがとなります。

+0

私はMicrosoft Visual Studio(SSRS 2008)で自分のRDLを設計しています。
私は元のテーブルを持っています...そして、私はtransaction_statusを引っ張っているデータソース(dt)を作成しました。そして、私は自分のレポートのデータを引き出すのに興味があるtransaction_statusです。パラメータは、レポートのドロップダウンメニューに選択肢を表示するように設定されています。 – user1007429

+0

右。したがって、あなたのレポートの基礎となるクエリを取得して、WHERE句を私が投稿したものと似ているように編集することができます。テーブルの定義に従って変更されますが、このコンセプトはそのまま適用されます。 – Yuck

+0

私のレポートの基礎となるクエリは、そのパラメータが情報を引き出しているMy ParameterまたはMy DataSetですか? – user1007429

0

SSRSでは、複数値のパラメータがコンマで区切られた文字列としてSQLに渡されます。

SSRS複数値パラメータを使用する最も簡単な方法は、データセットに組み込まれた完全なSQLクエリを持って、フォームにWHERE myTable.Column IN (@MyParameterName)

を使用することですそれとも、データセットフィルターにあなたのフィルタリングパラメータを移動したり、多分できます使用しているTablixのフィルタ

実際にマルチプルバリューパラメータをストアドプロシージャに渡す必要がある場合は、文字列解析を少し行い、適切なカンマで分割する必要があります。

関連する問題