レポートクエリには、ActiveCustomersまたはAllCustomersの2つの値のいずれかを取るパラメータがあり、ユーザーがデータを選択することに基づいてフィルタリングされます。クエリはSQLサーバーでは正常に動作しますが、SSRSには適用されません
ここで私の問題は、クエリはSQLサーバーで正常に動作しますが、データセットクエリのパラメータの値をハードコードするか、代わりに "like"のようなフィルタリングを行うwhere節でSSRSで動作しません「=」の
SSRSパラメータはタイプTEXTとして定義され、 "ActiveCustomers"と "AllCustomers"の値を持ち、 "ActiveCustomers"を取るようにデフォルト設定されています。 私はすでに綴りが正しいと一貫性があることを確認しました。
ここで私の質問は、SSRSが "="で動作していない理由で、 "好き"を使用する必要があります。
declare @Show nvarchar(32) = 'ActiveCustomers' --or 'AllCustomers'
とデータをフィルタリングwhere句は次のとおりです:
where (Order like '%2016')
and ((@Show = 'ActiveCustomers' and Order.[Status] <> 'Closed') or (@Show = 'AllCustomers'))
私が嫌うのは、人々がこれを言うとき**ですが**あなたの質問は何ですか? SSRSのパーサは、SSMSが放棄するようなものではないようです。おそらく、SSMSが変換するが、SSRSは好きではないという疑問のある構文があります。 –
少なくとも、パラメータとwhere句を宣言する最初の部分のSQLコードを表示してください。また、どのようにSSRSでパラメータを定義していますか?それはテキストですか、または「使用可能な値」を使用していて、テキストを整数のようなものに変換していますか?問題を探す場所がたくさんありますが、詳細が必要です。 –
ハノーファー・フィストとJグリーン、私は質問を編集し、うまくいけばあなたが望むものをカバーする。 –