Reporting Services(Raporlama sevisi) ile SQL Sorguları ve Stored Procedure’leri kullanarak parametrik rapor oluşturabiliriz. Bu parametrik raporların parametre değerlerini çalışma zamanında alarak, rapor değerlerinin çalışma zamanında değişmesini sağlayabiliriz.
Bu makalemde AdventureWorks veritabanı içerisindeki personelin, adres bilgilerini şehirlerine göre getireceğim. Rapor içerisindeki City isimli TextBox içerisine girilen şehire göre müsterilerin adres bilgilerini rapor üzerinde göstereceğim.
Şimdi Visual Studio 2005 içerisinden “Report Server Project ” şablonunu seçin.
Oluşturduğumuz projenin “Solution Explorer” penceresi içerisindeki “Shared Data Sources” klasörü üzerinde farenin sağ butonunu tıklayın. Açılan kısayol menüsünden “Add New DataSource” menüsünü tıklayarak yeni bir Connection String oluşturalım. “Shared Data Source” penceresini aşağıdaki gibi ayarlayın. Eğer SQL Server’ default instance olarak kurmuşsanız, Connection string metin kutusuna “Data Source=localhost;Initial Catalog=AdventureWork” ifadesini yazın.
“Ok” butonunu tıklayarak, Shared Data Source penceresini kapatın. Şimdi raporumuzu oluşturalım. Projenin “Solution Explorer” penceresi içerisindeki “Reports” klasörü üzerinde farenin sağ butonunu tıklayın. . Açılan kısayol menüsünden “Add New Report” menüsünü tıklayarak “Report Wizard” sihirbazını kullanarak yeni bir rapor oluşturalım. “Next” butonunu tıklayarak bir sonraki adıma geçin
Açılan “Select the Data Source” penceresinden, az önce oluşturduğumuz ds isimli “Data Souce” seçerek bir sonraki adıma geçin.
Açılan “Desing the Query” penceresinin “Query String” penceresine aşağıdaki sorguyu yazın.
“SELECT Person.Contact.ContactID, Person.Contact.FirstName, Person.Contact.MiddleName, Person.Contact.LastName, Person.Address.AddressLine1,
Person.Address.AddressLine2, Person.Address.City
FROM Person.Contact INNER JOIN
HumanResources.Employee ON Person.Contact.ContactID = HumanResources.Employee.ContactID INNER JOIN
HumanResources.EmployeeAddress ON HumanResources.Employee.EmployeeID = HumanResources.EmployeeAddress.EmployeeID INNER JOIN
Person.Address ON HumanResources.EmployeeAddress.AddressID = Person.Address.AddressID
Where Person.Address.City = @City”
“SELECT Person.Contact.ContactID, Person.Contact.FirstName, Person.Contact.MiddleName, Person.Contact.LastName, Person.Address.AddressLine1,
Person.Address.AddressLine2, Person.Address.City
FROM Person.Contact INNER JOIN
HumanResources.Employee ON Person.Contact.ContactID = HumanResources.Employee.ContactID INNER JOIN
HumanResources.EmployeeAddress ON HumanResources.Employee.EmployeeID = HumanResources.EmployeeAddress.EmployeeID INNER JOIN
Person.Address ON HumanResources.EmployeeAddress.AddressID = Person.Address.AddressID
Where Person.Address.City = @City”
“Select the Report Type” penceresinden “Tabular” seçeneğini seçerek, “Next” butonunu tıklayın.
“Design the Table” başlıklı pencere içerisinden, “Available Fields” liste kutusundaki tüm alanları “Details” isimli liste kutusuna sürükleyin ve “Next” butonu tıklayarak bir sonraki adıma geçin.
“Choose the Table Style” penceresi içerisinden “Slate” isimli stili seçin ve bir sonraki adıma geçin.
“Completing the Wizard” penceresinden “Report name” metin kutusuna ReportEmployee ismini girdikten sonra, “Finish” butonunu tıklayarak sihirbazı sonlandıralım.
“Finish” butonunu tıklayarak “Report Wizard” sihirbazını sonlandıralım.
Projenin “Solution Explorer” penceresi içerisindeki Proje ismi üzerinde farenin sağ butonunu tıklayın. . Açılan kısayol menüsünden “Properties” menüsünü tıklayarak “Property Page ” penceresini açın. “Property Page” içerisinde “TargetServerURL” özelliğine (eğer SQL Server’ default instance olarak kurmuşsanız) http://localhost/ReportServer degerini yazın.
Oluşturduğumuz rapora Rapor Yöneticisi(Report Manager) üzerinden erişelim. Bunun için http://localhost/Reports adresine gitmeniz yeterli. Rapor Yöneticisi(Report Manager) üzerinden oluşturduğumuz rapora erişmek için “ReportParametrik” klasörünü tıklayın.
Projenin “Solution Explorer” penceresi içerisindeki Proje ismi üzerinde farenin sağ butonunu tıklayın. . Açılan kısayol menüsünden “Properties” menüsünü tıklayarak “Property Page ” penceresini açın. “Property Page” içerisinde “TargetServerURL” özelliğine (eğer SQL Server’ default instance olarak kurmuşsanız) http://localhost/ReportServer degerini yazın.
Oluşturduğumuz rapora Rapor Yöneticisi(Report Manager) üzerinden erişelim. Bunun için http://localhost/Reports adresine gitmeniz yeterli. Rapor Yöneticisi(Report Manager) üzerinden oluşturduğumuz rapora erişmek için “ReportParametrik” klasörünü tıklayın.
Oluşturduğumuz raporun Rapor Yöneticisi üzerindeki görüntüsü aşağıdaki gibi olacaktır.
Şimdi raporun üzerindeki “City” isimli metin kutusuna “Seattle” degerini yazın ve “View Report” butonu tıklayın. Sonuç aşağıdaki gibi olacaktır.
Hiç yorum yok:
Yorum Gönder