Home / MAKALELER / İş Zekası / SQL Server Reporting Service Parametre Kullanımı

SQL Server Reporting Service Parametre Kullanımı

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.
acl1
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.
acl2
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.
acl3
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.
acl4
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 PC.ProductCategoryID=@ProductCategoryID
ORDER BY 1
Bu Query için de Dataset tanımlamak gerekli. Bunun için de aşağıdaki şekilde Dataset tanımladım.
acl5
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.
acl6
Raporda Design kısmında da istenilen şekilde Toolbox’tan Table oluşturarak gerekli kolonları sGetData Dataset’inden aldım.acl7
Artık raporu çalıştırma vakti geldi.J Aşağıdaki şekilde raporun son halini görebilirsiniz.
acl8
Herkese kolay gelsin.:)

About Acelya Albayrak

Sakarya Üniversitesi Bilgisayar Mühendisliği mezunuyum. Stajlarımı Türk Telekom, Toyota Otomotiv Sanayi Türkiye ve BT Akademi'de yaptım. 2010-2011 yılı Microsoft Student Partner'larındanım.Teknoloji Çözümleri Merkezi'nde (TCM) İş Zekası Danışmanı olarak çalışmaktayım. TCM'e bağlı olarak Citibank'ta projede yer aldım. Şuan da Pfizer BT'de Support olarak danışmanlık yapmaktayım.

İlginizi Çekebilir

Informatica Ile Incremental Süreçlerin Yönetimi-2 (SCD Type-2 Current Flag Column)

Merhabalar, Önceki yazımda Incremental süreç nedir, nasıl bir ihtiyaç sonucu uygulamaya başlarız, SCD Type ların …

Bir Cevap Yazın