Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Filter parameter Nilai Berganda SSRS berdasarkan kumpulan data

Saya memutuskan untuk menulis komentar saya atas jawaban Anda, M.Ali, sebagai jawaban atas pertanyaan saya sendiri, karena saya menemukan cara untuk menyelesaikannya. Mungkin saya tidak menjelaskan masalah saya dengan cukup tepat. Saya mengetahui cara kerja hal di atas, dan cara meneruskan parameter berdasarkan satu kumpulan data, turun melalui SQL untuk membuat kumpulan data lain, beberapa nilai diizinkan atau tidak. Saya menghargai jawaban Anda!

Masalah yang saya miliki adalah bahwa kueri yang akan menentukan daftar nilai saya untuk parameter, dan kueri untuk kumpulan data aktual, adalah sama. Dan itu adalah permintaan BESAR. Dengan kata lain, di mana dikatakan 'TABLE' dalam contoh kode, saya memiliki beberapa ratus baris kode. Dan tujuan saya adalah agar seluruh kueri ini tidak mendefinisikan kedua kumpulan data. Jika saya di masa depan harus mengubah kueri, saya harus melakukannya di lebih dari satu tempat. Inilah cara saya menyelesaikannya:

Saya menempatkan kueri utama dalam kumpulan data bersama alih-alih menyematkannya ke dalam laporan saya. Dan saya kemudian menambahkan fungsi row_number ke kueri saya seperti ini:

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

Ini berarti hanya ada satu baris 'rn =1' per UserID. Kemudian saya kembali ke laporan saya. DataSet1 asli saya kemudian hanya akan menunjuk ke dataset bersama. DataSet2 (parameter satu) juga akan menunjuk ke kumpulan data bersama dengan satu perbedaan bahwa saya menambahkan filter ke kumpulan data itu dengan mengatakan 'rn =1'. Saya kemudian membuat parameter dengan 'izinkan beberapa nilai' yang mengambil nilainya dari DataSet2. Dan itu bekerja seperti pesona. Dengan cara ini saya bisa pergi ke kumpulan data bersama ketika saya perlu memperbarui kueri, dan DataSet1 dan DataSet2 akan diperbarui sesuai itu!

Sukses :)

Sekali lagi, terima kasih atas jawaban Anda!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hasilkan data uji waktu SQL Server 2008 acak

  2. Bagaimana cara memasukkan ke dalam dua tabel sekaligus dalam prosedur tersimpan?

  3. SQL Server - apakah [PILIH] mengunci [PERBARUI]?

  4. Ganti Pengoptimal Kueri untuk Gabungan T-SQL Anda dengan FORCEPLAN

  5. berkomunikasi MATLAB SQL Server