SSRS’te parametre kullanılarak rapor oluşturma.
SQL Server Reporting Service Parametre Kullanımı
Merhaba arkadaşlar,
Bu yazımda SSRS’te parametre kullanarak rapor oluşturmaktan bahsetmek istedim. Ve SSRS’e yeni başlayanlar için faydalı olabileceğini düşündüm.J
Öncelikle her zamanki gibi Adventure Works Database’ini kullandım. Sql Server’da çalışanlar bilirler. Bu meşhur Database’i internetten indirip kurabilirsiniz. Exe’yi çalıştırınca birden fazla Adventure Works veritabanı Lokal Server’a kurulur. Sonrasında çalışmalarınızda bu Database’ leri kullanabilirsiniz.
Sql Server 2008 R2 Business Intelligence Development Studio’da yeni bir rapor oluşturarak işe başlayabiliriz. Raporda kullanılacak Datasource tanımlanır. Burada aşağıdaki şekilde görüldüğü gibi Edit diyerek işimizi kolaylaştırabiliriz.
Datasource tanımlandıktan sonra sGetParameters adında yeni bir Dataset oluşturulup, kullanılacak parametrenin Name ve Value kısmını oluşturmak için Text olarak Sql sorgusu yazılabilir. Burada Table ya da Stored Procedure gibi Query Type’lar da mevcuttur. Gerekliliğe göre istenilen tercih edilebilir.
Parametre için kullanılacak Data’lar sağlandıktan sonra, kullanılacak parametre tanımlanır. Aşağıda görüldüğü gibi Name ve Prompt Name verilir. Burada Prompt kısmına ekranda kullanıcının raporda göreceği şekilde parametre adı yazılır.
Parameter kısmında yapılması gereken sadece yukarıdaki gibi Name verilmesi değildir. Parametrede görünecek Data’ların Name ve Value’ları da tanımlanması gerekir. Bunun için de aşağıdaki gibi Available Values kısmında datanın okunacağı Query tanımlanır.
Burada dataset kısmına daha önceden oluşturduğunuz sGetParameters verilir. Bu Query de iki tane kolon kullanmıştık. Bu kolonlardan Label field kısmına raporda görünmesi istenilen kolon yazılır. Burada Name verdik. Bu şekilde kullanıcı Product Category isimlerini listeden seçecek. Seçilen Name’leri Data’mızı alacağımız Query’de kullanabilmemiz için Value Field kısmında o kolonun ID’sini tutabiliriz. Bu şekilde ID ile datanın geleceği Query’yi bağlayabiliriz.
Data’yı alacağımız Query’yi de aşağıdaki şekilde yazdım.
SELECT
PC.Name AS ProductCategoryName,
P.Name AS ProductName,
P.Color,
P.SellStartDate,
P.SellEndDate,
P.Style
FROM Production.Product P
INNER JOIN Production.ProductSubcategory PSC ON PSC.ProductSubcategoryID=P.ProductSubcategoryID
INNER JOIN Production.ProductCategory PC ON PC.ProductCategoryID=PSC.ProductCategoryID
WHERE [email protected]
ORDER BY 1
Bu Query için de Dataset tanımlamak gerekli. Bunun için de aşağıdaki şekilde Dataset tanımladım.
Burada az önceki Dataset’ten farklı olarak parametreyi almamız gerekecek. Bunun için de Parameters kısmından Parameter Name alanına Dataset kullandığım parametre adını yazdım. Parameter Value kısmında ise daha önceden tanımlanan parametreler listenir. Buradan da tanımladığım parametreyi seçtim.
Raporda Design kısmında da istenilen şekilde Toolbox’tan Table oluşturarak gerekli kolonları sGetData Dataset’inden aldım.

Artık raporu çalıştırma vakti geldi.J Aşağıdaki şekilde raporun son halini görebilirsiniz.
Herkese kolay gelsin.:)