2017-10-09 8 views
0

この世界には新しいので、私は何も問題ないと思うと助けを求めています。しかし、私とSQLとSSRSを教えてくれる人はこれを理解できませんSSRSドロップダウン「Any」の値が機能しない

から私はSSRS内のレポートを持っているし、完璧に働いているSQLは、一つのこと

をバー私はすべての私達の顧客の名前を持つリストパラメータドロップダウンを持っている、と報告書は、その顧客がそのようにして得られたもののボリュームを示しこれは完璧に機能します。ただし、ドロップダウンリストから「Any」を選択して合計ボリュームを表示しようとすると、すべてを返すのではなく、データを返しません。

ここで紛失したり、もしあなたのストアドプロシージャのパラメータを仮定すると、リアム

+0

これに対処する方法はいくつかありますが、詳細が必要です。あなたのデータセットはStored Procを使用していますか、またはデータセット内の直接クエリですか?現在どのように単一のクライアントにフィルタリングしていますか?フィルタリングはデータセットフィルタで実行されるのでしょうか、またはクエリで直接実行されますか?私はこれらの詳細を取得すると、私はあなたに適切な答えを与えることができます。 –

+0

ありがとう、アラン!私はこれを本当に感謝します。私はストアドプロシージャを使用しています。現在、ドロップダウンリストを持つパラメータを使用してフィルタリングしています。 SSRS –

答えて

1

がvarchar型で、その後、次のように動作するはず顧客名や「どれ」の値のいずれかを表し

乾杯に

をこの問題を解決するのに役立ちます。

SELECT myField1, myField2 -- etc 
FROM myTable t 
WHERE (t.ClientName = @myParameterName OR @myParameterName = 'Any') 

必要に応じて注意してください:個人的に私は、SPSを使用していないと、通常はデータセット内のデータをつかむためにコードを置きます。いくつかの企業はあなたがこれをやりたいとは思わないが、これを行うことができれば、これは人生が楽になると思う。

データセットクエリにストアドプロシージャコードを直接記述することができれば、レポートの柔軟性を高めることができます。あなたが必要としない多値であるためにあなたのパラメータを変更することができますし、どちらかのパラメータ・リストに追加「は任意の」の値を、その後、あなたは単に

SELECT myField1, myField2 -- etc 
FROM myTable t 
WHERE t.ClientName IN(@myParameterName) 
ような何かを行うことができます

SSRSは、選択したすべてのパラメータの値を取り、注入しますそれらを正しくデータセットクエリに追加する必要があります。また、SSRSでは、すべてのデータをまとめたい場合に備えて、「Select All」オプションをパラメータに追加します。レポートは、1,2、10、またはすべてのクライアント名で機能します。

+0

このAlanのおかげで表示されるストアドプロシージャのデータセットからデータをフィルタリングするために、パラメータを使用してフィルタリングが行われます。これはうまくいった。私は@ 'の前で引用符を無視して( \t \t \t \t 'AND(([ParentName] =' @Organization)OR '@Organization =' NULL) 'などのパラメータを持っていた' シンボルとしてそれがwouldn'私がそれを私の鉱山で使ったときには、私の同僚のデータすべてでこのように機能するはずです。あなたのお手伝いをしてくれてありがとう、それは頭がたくさん救われました –

+0

あなたは大歓迎です。あなたが答えに満足しているなら、それを受け入れられたものとしてマークしてください。それは類似の問題を探すときに他の解決策を見つけるのを助け、答えとしてリストアップされます。ああ、コメントにコードや類似したものを投稿するときには、テキスト(またはそれが何であれ)を '@ this'のように囲むバックティック(通常はキーボードの左上のキー)を使うことができます –

+0

私は確かに投票しました。私は比較的新しく、私の「評判」が明らかに15になるまで何かをすることを許しません。 –

関連する問題