sql >> データベース >  >> RDS >> Sqlserver

データセットに基づく SSRS 複数値パラメーター フィルター

    これを解決する方法を見つけたので、私自身の質問への回答として、あなたの回答 M.Ali にコメントを書くことにしました。たぶん、私は自分の問題を十分に正確に説明していませんでした。上記の仕組みと、あるデータセットに基づいてパラメーターを渡し、SQL を介して別のデータセットを作成する方法、複数の値が許可されているかどうかを認識しています。回答ありがとうございます!

    私が抱えている問題は、パラメーターの値のリストを定義するクエリと、実際のデータセットのクエリが同じであることです。そして、それは巨大なクエリです。つまり、サンプル コードの「TABLE」と書かれている部分には、数百行のコードが含まれています。そして、私の目標は、このクエリ全体で両方のデータセットを定義しないようにすることでした。将来クエリを変更する必要がある場合は、複数の場所で変更する必要があります。これが私がそれをどのように解決したかです:

    メイン クエリをレポートに埋め込むのではなく、共有データセットに配置しました。次に、row_number 関数を次のようにクエリに追加しました。

    SELECT ID, Value, UserID, rn = ROW_NUMBER() OVER(PARTITION BY UserID ORDER BY UserID)
    FROM *my huge query*
    

    これは、UserID ごとに「rn =1」行が 1 つしかないことを意味します。それから私は私のレポートに戻りました。元の DataSet1 は共有データセットを指すだけです。 DataSet2 (パラメーター 1) も共有データセットを指しますが、そのデータセットに「rn =1」というフィルターを追加したという 1 つの違いがあります。次に、DataSet2 から値を取得する「複数の値を許可する」パラメーターを作成しました。そして、それは魅力のように機能します。このようにして、クエリを更新する必要があるときに共有データセットに移動するだけで、それに応じて DataSet1 と DataSet2 の両方が更新されます!

    成功:)

    繰り返しますが、回答ありがとうございます!



    1. SQL Serverの列名としてステートメントを選択するために変数を渡すことはできますか

    2. これらの(â?²s)タイプの文字をPHPで削除するにはどうすればよいですか?

    3. 表領域の空き領域を確認する

    4. MySQL:LIKE演算子でエスケープが機能しないのはなぜですか?