Anasayfa » SQL Server Reporting Services – Bölüm 3

Makaleyi Paylaş

SQL Server

SQL Server Reporting Services – Bölüm 3

Birçok işletmede kullanılan Erp ve muhasebe programlarının kendilerine özgü raporlama araçları vardır. Çoğu Erp programlarında kendi raporumuzu yapacak araçlar mevcuttur. Programa özgü olan bu araçların izin verdiği sınırlar içerisinde raporlar yapılır. Farklı programların farklı veri tabanları ile rapor yapmak istediğimizde ise bu araçların yetersiz kaldığını, sadece kendi veri tabanlarındaki veriler ile rapor yapmamıza müsade ettiğini görmekteyiz. Bu konuyla ilgili farklı firmaların çözümleri mevcuttur. Bu makalemizde Sql Server ile beraber gelen, ek bir maliyet gerektirmeyen Reporting Services konusunu işleyeceğiz.

Makalemin ilk bölümlerine aşağıdaki linklerden ulaşabilirsiniz.

http://www.cozumpark.com/blogs/sql/archive/2014/08/17/sql-server-reporting-services-bolum-1.aspx

http://www.cozumpark.com/blogs/sql/archive/2014/08/17/sql-server-reporting-services-bolum-2.aspx

Sponsor

 

7 – PARAMETRELER:

                Şu ana kadar oluşturduğumuz raporlarda parametre belirtmeden yaptık. Çoğu zaman raporlar için parametre diğer bir deyişle koşullar belirterek raporu almamız gerekecektir. Reporting Service de parametreler nasıl oluşturulur bunlara değineceğiz.

                Parametreler, metin, sayı ve tarih gibi kriterlere göre belirlenebilir. Bir veya birden fazla parametreyi raporumuza ekleyebiliriz. Örnek olarak, x malzemesini 2005 yılının Ocak ve Mart aylarında kaç tane ve toplam satış tutarını seçebileceğimiz parametreler olabilir.

                Parametleri VS Data Tools ile eklerken Query ekranında WHERE koşulu kullanacağız. Report Builder ile biraz daha son kullanıcıya hitap eden, filter alanından parametreleri ekleyeceğiz. Her iki arayzüz için örnek vereceğiz.

 

Yeni bir rapor oluşturuyoruz. Solution Explorer – Reports – Add New Reports

Data Source ekranında Edit diyerek, AdventureWorks2012 veritabanını seçiyoruz.

Design the query ekranında Query Builder’ı açıyoruz.

Üst kısımdaki boşlukta sağ tıklayarak Add Table diyoruz.

Product (Production) tablosunu ekliyoruz.

clip_image001

SSRS-162

ProductID, Name, Color ve ListPrice alanlarını seçelim. Aliasları aşağıdaki şekildeki yazıyoruz.

clip_image002

SSRS-163

Tabular seçili olarak kalıyor, devam ediyoruz.

Desing the table ekranında tüm alanları details kısmına ekleyip devam ediyoruz.

clip_image003

SSRS-164

Herhangi bir stil seçiyoruz.

Rapor adı yazıp, Finish ile tasarım ekranına geliyoruz.

Raporumuz oluştu, Datasets altında Dataset1’e sağ tıklayıp Query penceresini açıyoruz.

clip_image004

SSRS-165

Sorgu kutusuna FROM bölümünün altına WHERE koşulunu yazacağız. ProductID numarasına göre parametre vermek istediğimiz için ilk önce parametre verilecek alan adı, sonra parametre koşulu ( =, <, >, LIKE v.b.), en sona da parametre ismini yazacağız (@Parametreadi).

clip_image005

SSRS-166

Sorguyu kontrol etmek için Execute dediğimizde karşımıza parametre soran bir ekran getirecektir.

clip_image006

SSRS-167

Ok diyerek Query desinger ekranını kapatıyoruz.

Parameters kısmına baktığımızda, oluşturduğumuz parametrenin geldiğini görüyoruz.

clip_image007

SSRS-168

 

Raporu çaıştırdığımızda, parametre kutusu gelmektedir, bu alana parametreyi yazarak istediğimiz Urun ID yi yazarak çalıştırıyoruz.

clip_image008

SSRS-169

7 – 1 Çoktan Seçmeli Parametreler:

Bu şekilde parametreli olarak rapor almak için, Urun ID sini ezbere bilmemiz veya bir listeden bakmak gerekiyor. Çoktan seçmeli olarak parametreleri ayarlayabiliriz. Bunun için bir dataset daha ekliyoruz, bu dataset te ProductId ve İsimleri bulunacak.

Datasets – New Dataset

Dataset ismine KategoriveNo diyoruz. Eğer dataset isimlerine anlamlı bir isim vermez iseniz, daha sonradan birden çok datasetle çalıştığınızda karmaşıklık olacaktır.

DataSource1’i seçiyoruz.

clip_image009

SSRS-170

Query Designer’ı açıp, en üstteki alanda sağ tıklıyoruz, Add table’dan, ProductCategory (Production) tablosunu ekliyoruz.

clip_image010

SSRS-171

ProductCategoryID ve Name alanları seçip, Ok ile devam ediyoruz.

clip_image011

SSRS-172

Dataset Properties ekranında Ok ile çıkıyoruz. Datasets altına diğer dataset KategoriveNo geldi. Şimdi parametremizin özelliklerine gidip, sorgudan parametre çekme işlemini yapacağız.

clip_image012

SSRS-173

Report Parameter Properties – Available Values sekmesinde Get Values From a Query’i seçiyoıruz.

Dataset olarak KategoriveNo

Value Field ProductCategoryID

Label Filed olarak ta Name’i seçiyoruz.

Burada label field kısmına Name (isim) seçmemizdeki amaç, ID nolarına göre değil de, kategori isimlerine göre parametreleri seçmek istememizdir, daha öncede belirtiğimiz gibi, Id numaralarını ezberlemek veya farklı bir yerden bakmak yerine, akılda kalıcı olan isimleri parametre olarak kullanmak daha mantıklı olacaktır.

clip_image013

SSRS-174

Preview ile raporumuzu aldığımızda, parametre olarak kategori id leri yerine kategori isimleri geldi.

clip_image014

SSRS-175

7-2 Tarih Aralıklı Parametreler:

En çok gereken parametrelerden biridir, tarih aralığı raporlarda en fazla istenen parametredir.

Yapacağımız örnekte, 3 farklı tablodan veriler getirip, bu verileri tarih parametresi ile rapora nasıl yansıtacağımızı göreceğiz.

Solution Explorer- Reports – Add New report, hoşgeldin ekranını geçiyoruz.

Datasource’u ayarlıyoruz, yukarıda verisetlerinin detaylı anlatımı olduğundan her  defasında detaya girmiyorum.

clip_image015

SSRS-176

Desing The Query – Query Builder

Üstteki alanda Add Table kısmından; SalesOrderHeader (Sales) – SalesOrderDetail (Sales) ve Product (Production) tablolarını ekliyoruz. SalesOrderID alanları otomatik olarak eşleşti, Product tablosu ile de ProductID alanı eşleşti.

SalesOrderHeader tablosundan, SalesOrderNumber, OrderData, ShipDate ve TotalDue alanlarını,

SalesOrderDetail tablosundan, OrderQty ve ProductID alanlarını,

Product tablosundan da, Name ve ProductNumber alanlarını seçiyoruz.

Alias takma isimleri aşağıdaki gibi düzenliyoruz ki raporda sütun başlıkları anlaşılır bir şekilde gelsin.

clip_image016

SSRS-177

Report Type’ı tabular seçiyoruz.

Design The Table ekranında, UrunNo’ya göre gruplama yapalım, geri kalan alanları Details bölümüne yerleştiriyoruz.

clip_image017

SSRS-178

Table Layout stepped olarak bırakalım.

Herhangi bir style seçip devam ediyoruz.

Rapora bir isim verip Finish ile sonlandırıyoruz.

Raporumuz UrunNo gruplu bir şekilde oluştu. Preview diyerek çalışıp çalışmadığını kontrol edelim.

clip_image018

SSRS-179

Tarih aralıklı parametremizi atamadan önce Sipariş ve Sevk Tarihini kendi bölgemizde kullandığımız şekilde, Gün/Ay/Yıl olarak ayarlayalım. Bunun için Tarih alanının üzerinde sağ tıklayarak Text Box Properties ekranını açıyoruz.

clip_image019

SSRS-180

Sayısal olarak istediğimiz Gün/Ay/Yıl formatı gözükmüyor. 01/31/2000 tipini seçiyoruz, daha sonra Category kısmındaki Custom’a tıklıyoruz. Aşağıdaki şekilde gösterdiği gibi, MM ile dd nin yerlerini değiştirecek şekilde düzenlemeyi yapıyoruz.

clip_image020

SSRS-181

Aynı işlemi Sevk Tarihi içinde yapıyoruz. Preview yaptığınızda tarihlerin gün-ay-yıl olarak geldiğini göreceksiniz.

Tarih parametresi eklemek için Dataset – Dataset üzerinde sağ tıklayarak Query penceresini açıyoruz.

clip_image021

SSRS-182

Sorgunun FROM kısmından sonra WHERE koşulu yazarak tarih parametresi ekleyeceğiz.

WHERE        (Sales.SalesOrderHeader.ShipDate BETWEEN @BasTarih AND @BitisTarih) Where koşulunu sorgu alanına ekledikten sonra, kontrol amaçlı sağ tıklayarak Execute SQL diyoruz.

clip_image022

SSRS-183

Koşulu yanlış yazsaydık eğer hata verecekti, Query Parameters ekranı açıldı. 2005 yılına ait satışları sorgulamak için BasTarih’e 1.1.2005 BitisTarih’e de 31.12.2005 yazalım.

clip_image023

SSRS-184

Sonuç ekranına 2005 yılına ait satışlar geldi, parametrelerimiz ve sorgumuz düzgün çalışıyor.

clip_image024

SSRS-185

Şimdi desing ekranına gelelim, preview ile raporu çalıştıralım. Görüldüğü gibi, tarih alanları text olarak geldi, bu şekilde tarih yazmak uzun sürecektir.

clip_image025

SSRS-186

Takvim üzerinden tarihi seçmeli yapmak, hem görsel açıdan hem de kullanım açısından daha iyi olacaktır. Parameters alanından BasTarih parametresinin özelliklerine giriyoruz.General sekmesinde aşağıdaki şekildeki gibi Data Type’ı Date/Time seçiyoruz.

Raporda gözüken isminide Prompt kısmından değiştiriyoruz.

clip_image026

SSRS-187

Aynı işlemi BitisTarihi parametresi içinde yapıp, preview ile raporu çalıştırıyoruz.

Parametrelerin yanına takvim butonları otomatik olarak eklendi, takvim ekranları sayesinde istediğimiz tarihi kolay seçebiliyoruz.

Ocak – Aralık 2007 arası tarihi seçtikten sonra raporu çalıştıyoruz.

clip_image027

SSRS-188

 

7 – 3 Report Builder’da Parametre Ekleme:

                Report Builder’da nasıl parametre eklenir buna bakacağız. Boş bir rapor açıyoruz. Datasource’u Adventureworks2012 olarak ayarladıktan sonra, Dataset’i aşağıdaki şekildeki ayarlıyoruz. Product ve ProductInventory alanlarından istediğimiz alanları seçiyoruz.

clip_image028

SSRS-189

Relationships sekmesi en sağdaki aşağı bakan oklara basarak genişlettiğimizde, her iki alanda da ProductID alanı ortak alan olduğundan ve AutoDetect seçili durumda olduğu için, iki tabloyu otomatik olarak birleştirdi, eğer ortak bir alan olmaz ise bu işlemi kendimiz yapmalıyız.

clip_image029

SSRS-190

Parametre atama işlemini Applied filters kısmından yapıyoruz. Filtre ikonuna tıkladığımızda otomatik olarak algıladığı ortak anahtar alanını filtre olarak bizlere getirecek.

clip_image030

SSRS-191

Bu alanda en sağda Parameter kutusunu işaretlediğimizde, bu filtre artık parametre olarak çalışacaktır. Value kısmında da istersek varsayılan bir değer atayabiliriz. Raporu her aldığımızda ilk önce bu varsayılan değere göre rapor alır, daha sonra istediğimiz parametre girerek yeniden View Report dediğimizde istenen değere göre verileri getirir. Örnek verirsek, varsayılan olarak geçen senenin raporu ilk önce gelsin diye bir istek gelebilir, Value kısmına 2013 yazarak ilk önce geçen senenin verilerinin getirilmesini sağlayabilirsiniz.

clip_image031

SSRS-192

Dataseti oluşturduk, boş rapor ekranında, Insert menüsünden Table Wizard ekliyoruz.

clip_image032

SSRS-193

Choose a Dataset ekranında oluşturduğumuz Dataset1’i seçip devam ediyorız.

Details kısmına alanları aşağıdaki ekleyip devam ediyoruz.

clip_image033

SSRS-194

Choose a layout ekranında seçenekler pasif geldi, çünkü satır veya kolon tarafında bir gruplama yapmadık.

Herhangi bir style seçip devam ediyoruz. Rapor oluştu, parameters klasörünü altına parametremiz geldi.clip_image034

SSRS-195

 

8 – VERİLERİ SIRALAMA – İNTERAKTİF SIRALAMA:

 

                Raporların daha okunabilir olması için verilerin büyükten küçüğe veya küçükten büyüğe sıralanması gerekmektedir. Reporting service’te veriler ister Query ekranında Order by koşulu ile, istersek de Tablo özelliklerinden Sorting bölümünden sıralmasını yapabiliriz. Ayrıca rapor çalıştıktan sonra da interaktif olarak rapor başlıklarına atanan butonlar ile interaktif sıralama yapabiliriz.

 

8 – 1 Tablo İçerisindeki Verileri Sıralama:

 

                Tablo içindeki verileri sıralamak için ilk önce AdventureWorks veritabanındaki Person tablosundan isim ve soyisimleri kapsayan basit bir rapor hazırlayalım.

Yeni rapor dedikten sonra, Query ekranında Person (Person) tablosunu ekleyerek alanları aşağıdaki gibi ayarlıyoruz.

clip_image035

SSRS-196

Tabular rapor olarak seçip devam ediyoruz, Desing the table ekranında üç alanıda detail bölgesine getiriyoruz. Rapora isim verip, tasarım ekranına geliyoruz.

Preview yaptığımızda isimlerin karışık bir şekilde geldiğini görüyoruz.

clip_image036

SSRS-197

Tablix özelliklerini açmak için, tablonun üzerine bir kere tıkladıktan sonra, sol ve üst tarafta açılan kenarların köşesinden sağ tıklayıp, Tablix Properties penceresini açıyoruz.

clip_image037

SSRS-198

Sorting sekmesine gelip, Add ile boş bir alan ekliyoruz. Hangi alana göre sıralama yapılacak ise Sort by kısmından ilgili alanı seçiyoruz. Sıralamanın büyükten küçüğe olması için Order kısmında Z-A olarak, küçükten büyüğe olacak ise A-Z olarak seçiyoruz.

clip_image038

SSRS-199

İsime göre küçükten büyüğe sıralamayı oluşturduk.

clip_image039

SSRS-200

 

8 – 2 İnteraktif Sıralama:

 

                İnteraktif sıralama, raporu çalıştırdıktan sonra veri kolonlarını sıralamayı sağlayan rapor içi çalışan bir özelliktir. Üst tarafta oluşturduğumuz personel isimleri raporu üzerinde interaktif sıralamayı görelim.

                Reporting Service’te tablixlerin içindeki hücrelere bir kere tıkladığınız da Textbox’ı seçer, ikinciye tıkladığınızda da Selected Text yani hücre içindeki yazıları seçer. İnteraktif sıralama yapmak için, bir kere tıklayarak Textbox’ı seçmemiz ve sağ tıklayarak Text Box Properties özellikler penceresini açmamız gerekmektedir. HÜcreye yanlışlıkla iki kere tıkladıktan sonra sağ tıklama menüsü değişir.

                Name Text box’ına sağ tıklayarak Text box Properties özellikler ekranını açıyoruz.

clip_image040

SSRS-201

Interactive sorting sekmesinde, Enable interactive sorting on this textbox seçeneğini işaretliyoruz. Sort by kısmından da ilgili alanı seçiyoruz. Bu sıralamanın diğer tablo ve verisetlerini de kapsamasını istiyorsak aşağıdaki Apply this sorting to all groups and data regions in seçeneğinden ayarlamamız gerekiyor.

clip_image041

SSRS-202

Aynı işlemi soyadı alanı içinde yapıyoruz.

Preview ile raporu çalıştıralım, ad ve soyad alanlarının yanında yukarı ve aşağı doğru sıralama butonları geldi. İsime göre büyükten küçüğe sıralama yapalım.

clip_image042

SSRS-203

Soyadına göre küçükten büyüğe sıralama yapmak için Soyad’ın yanındaki butona tıklıyoruz.

clip_image043

SSRS-204

 

9 – BAĞLANTILI  RAPOR OLUŞTURMA:

 

                Reporting Service raporlarında bir rapordan diğerine bağlantı vererek, raporlar arası geçiş yapılabilmektedir. Özet bir tablo üzerindeki satırlardan, her bir satırdaki verinin bağlı olduğu detaylı rapora ulaşmak mümkündür. Text box özelliklerinden Action menüsündeki Go to Report seçeneği kullanılarak diğer rapor geçiş sunmaktadır. Bir örnek ile daha detaylı anlamaya çalışalım.

                Solution Explorer – Reports – Add new reports.

                Dataset olarak Adventureworks veritabanını seçiyoruz.

                Query Designer – Add Table ProductCategory (Production) tablosunu ekleyip, ProductCategoryID ve Name alanlarını seçiyoruz.

clip_image044

SSRS-205

Report Type – Tabular

Design the table – Sadece name kısmını detail bölümüne getirip devam ediyoruz.

Table Style – Generic seçiyoruz

Rapor ismi veriyoruz – Finish

Kategoriler raporu olarak ana ürün kategorileri raporunu oluşturduk.

clip_image045

SSRS-206

Preview ile raporu çalıştırıp, kontrol edelim.

clip_image046

SSRS-207

Name alanına sağ tıklayıp, Text box özelliklerini açıyoruz. Action sekmesinden “Go to Report” seçeneğini seçip, daha yapmış olduğumuz Parametreli Raporu seçiyoruz.

clip_image047

SSRS-208

Use the parameters to run the report bölümünde Add diyerek, yeni bir parametre ekliyoruz. Eğer burada parametre eklemez isek, bağlantılar çalışmayacaktır. Bu parametrelere göre ikinci rapor bağlantıları çalışacaktır. Name kısmında UrunID, parameter kısmında ise ProductCategoryID yi seçiyoruz.

 

SSRS-209

Raporu preview ile çalıştırdığımızda, görünüşte bir fark olmadı. Kategorilerin üzerine gelince tıklanabilir özelliği aktif oldu. Kategoriler tıkladığımızda karşılık gelen parametreli rapor otomatik olarak açılıyor.

clip_image048clip_image049

SSRS-210

 

Kategorilerin tıklabilir olduğunu daha iyi gösterebilmek için, web Url görünümünde, karakter rengini mavi ve alt çizgili olarak ayarlıyoruz.

clip_image050

SSRS-211

Kategorilerin son halini görmek için previewi çalıştırıyoruz.

clip_image051

SSRS-212

 

10 – REPORT PARTS:

 

                Report partlara rapor parçaları da diyebiliriz. Oluşturduğumuz raporlardaki tablo, rectangle, parametreleri v.b. publish (yayınla) yöntemi ile, farklı raporlarda da kullanabilmemizi sağlayan bir özelliktir.

                Örnek olarak, fatura üzerinde adres bilgisi içeren bir textbox’ı irsaliye ve diğer raporlarda da kullanabilmeniz için, bu adres textbox’ını report parts’a publish ederek diğer tüm raporlarınıza çağırıp kullanabilirsiniz. Daha önce oluşturduğunuz bir tabloyu farklı bir raporda da kullanmak için, tabloyu tekrardan kullanmanıza gerek kalmadan report part’tan kullanabilirsiniz.

                Birbirine benzer raporlar yapmaya başladığınızda çok sık kullanacağınız bir özelliktir. Rapor oluşturma sürecinde sizi hata yapmaktan ve zaman kaybından kurtaracaktır.

                Report part’tan eklediğiniz bir nesnenin, datasource ve dataset’i otomatik olarak oluşur, tekrardan datasource ve dataset eklemenize gerek kalmaz.

                Report  partlar, Reporting Service’in Report Manager dediğimiz web arayüzünden açılan, “Report Builder” programı ile açılır, makalenin başında Report Builder ile örnekler vermiştik. Report partlarda Report Builder programı ile oluşturulduğu için Report partlar nasıl oluşturulur, nasıl kullanılır örneklerle anlatmaya çalışalım.

 

Report Builder programını açıyoruz. Şekil SSRS-58.

Daha önce oluşturduğumuz parametreli raporu open ile açıyoruz.

clip_image052

SSRS-213

clip_image053

SSRS-214

Raporun sağ tarafına adres bilgisi içiren bir textbox ekliyoruz.

clip_image054

SSRS-215

Menü butonuna tıklayarak, Publish Report Parts’ı açıyoruz.

clip_image055

SSRS-216

Karşımıza iki seçenek geliyor, “Publish all report parts with default settings” tüm rapor bölümlerini varsayılan ayar kullnarak yayınla. Diğer seçenek, “Review and modify report parts before publishing” rapor bölümlerini gözden geçirip ve düzenleyip yayınla seçeneği geliyor. İkinci seçenek ile devam edeceğiz, hangi bölümleri alacağımıza karar verip daha sonra yayınla diyeceğiz.

clip_image056

SSRS-217

Yayınlanacak bölümler ekrana geliyor, fakat burada adres textbox’ı gelmedi. Textbox’lar tek başlarına report part olamazlar. Report olabilmeleri için Rectangle içinde Insert – Textbox diyerek oluşturulmaları gerekmektedir.

clip_image057

SSRS-218

Adres alanında gelmesi için Close diyerek Report parts ekranını kapatıyoruz. Insert – Rectangle diyoruz, rectangle’ın içinde sağ tıklayarak Insert – Textbox diyerek adres alanını bu textboxın içine yazıyoruz.

clip_image058

SSRS-219

Tekrardan publish report parts – review and modify parts bölümüne gidiyoruz. Adres textbox’ı report parts olarak geldi.

clip_image059

SSRS-220

Report part isimlerinin yanında oka tıklayarak açıklama bölümünü ve report partı hangi klasöre kaydeceğimizi seçebileceğimiz ekranı açıyoruz. Report part hakkında bir açıklama yazarak daha sonra hatırlamansı kolay olacaktır.

clip_image060

SSRS-221

Publish diyerek report partları servera yüklüyoruz. Sorunsuz bir şekilde publish edildi, report partların ikonları değişti, puzzle parça ikonuna benzer bir ikon eklendi.

clip_image061

SSRS-222

Report partları yükledik, şimdi report partları nasıl kullanırız bunu görelim. Sol üstteki menü butonuna tıklıyoruz,New diyerek yeni bir blank-boş rapor oluşturalım.

clip_image062

SSRS-223

Insert sekmesine gelerek, Report Parts’a tıklıyoruz. Yan tarafta Report Part Gallery açıldı.

clip_image063

SSRS-224

Çok fazla report part olacağı düşünülerek, arama kutusu konulmuş, Report Part Gallery ilk açtığımızda daha önce kaydettiğimiz report partlar gelmiyor. Tüm report partları görmek istiyorsak arama butonuna tıklayarak hepsini getirebiliriz veya aradığımız report partın adını girersek ilgili report part gelecektır. Arama butonuna tıklayarak tüm report partları getirelim.

clip_image064

SSRS-225

Tüm report partlar geldi, table1 ve Rectangle3-adres nesnesini sürükleyip raporun içine bırakıyoruz.

clip_image065

SSRS-226

Table report  partını sürükleyince, otomatik olarak Datasource ve Dataset oluşmuş oldu. Run’a tıkladığınızda raporun çalıştığını göreceksiniz. Report parttaki nesnelerde bu bilgiler olduğu için, tekrardan oluşturmaya gerek kalmıyor. Report partlar benzer rapor oluşturmada veya benzer nesnelerin kullanıldığı raporlarda kullanıcılara zaman kazantırmakla beraber hata yapma olasılığını da en aza indirgemektedir.

 

 

11 – SUBREPORTS:

 

                Subreports alt rapor anlamına gelmektedir. Rapor içine daha önce oluşturulmuş bir raporu ekleyebilmenize imkan verir. Daha önce yapılmış bir raporu, yeniden oluşturmak yerine subreport seçeneği ile yeni rapora dahil edip kolaylık sağlamaktadır.

                Subreport nasıl eklenir, nasıl kullanılır açıklmaya çalışalım.

Yeni bir blank report oluşturuyoruz.

clip_image066

SSRS-227

AdventureWorks data source’unu oluşturuyoruz.

clip_image067

SSRS-228

Dataset olarak Production – ProductCategory tablosundan ProductCategoryID ve Name alanlarını ekliyoruz. Kontrol amaçlı Run Query’e tıklayıp, sonuçları aşağıda görmemiz gerekiyor.

clip_image068

SSRS-229

Insert menüsüne gelerek rapora bir List ekliyoruz. List bulunduğu bölgedeki verileri sürekli olara sunan bir yapıya sahiptir, veri listeside diyebiliriz. List in alanını bir sayfa kadar geniş bırakırsak eğer her sayfaya bir kayıt gelecek şekilde ayarlar.

clip_image069

SSRS-230

Name alanını list içine sürükleyip bırakıyoruz. Yazı boyutunu biraz büyütüp, Bold yapıyoruz.

clip_image070

SSRS-231

Run diyerek, kategorilerin sayfada nasıl durduğuna bakıyoruz.

clip_image071

SSRS-232

Kategoriler arasında eşit seviyede aralık oluşturmuş olduk, bu boşluk kısma şimdi subreport ekleyeceğiz. Insert Subreport butonuna tıklıyoruz. Buton rengi turuncu oldu, Name alanının altına subreportu genişleterek ekliyoruz.

clip_image072

SSRS-233

Subreport alanını belirttik, önceden oluşturulmuş olan bir raporu subreport olarak belirtmemiz gerekiyor. Reporting service’te subreport mantığı bu şekilde çalışmaktadır. Eş zamanlı rapor oluşturup, birini subreport olarak ayarlanmasına izin vermiyor.

Subreport üzerinde sağ tıklayarak Subreport Properties – özellikler ekranını açıyoruz.

clip_image073

SSRS-234

Name kısmından subreport’a isim verebilirsiniz, birden çok subreport kullanılacak ise anlamlı bir isim vermek önemlidir.

“Use this report as a subreport” bölümünde “Browse”a tıklayarak, ekleyeceğimiz subreport’u seçiyoruz.

Daha önce kategorilerin olduğu parametreli raporu subreport olarak ekliyoruz.

clip_image074

SSRS-235

Daha önceden oluşturduğumuz parametreli raporu seçiyoruz.

clip_image075

SSRS-236

Properties ekranında Parameters sekmesine gelip, subreport’u çalıştıracak parametreyi ilişkilendiriyoruz. Ana rapor ile subreport arasında bir ilişki yok ise subreport çalışmayacaktır.

 

clip_image076

SSRS-237

Run diyerek raporu çalıştıralım.

clip_image077

SSRS-238

Rapor ana kategoriler üstte olmak üzere, altında da subreport gelmiş gözüküyor. Subreportlar daha önce hazır olan raporları kullandığından bizlere hız ve kolaylık sağlamaktadır, ayrıca karmaşık raporlarda tablo karışıklığının da önüne geçilmiş olur.

Makalemin üçüncü bölümünün sonuna geldik, bir sonraki bölümde görüşmek üzere.

 

 

 

 

Makaleyi Paylaş

Cevap bırakın