Editor Login | Register
Ekle

> Akademik İnternet ® > SQL SERVER
SQL SERVER 2005 Reporting Services - SQL SERVER - Akademik İnternet ® -
IronIx
(Date : 04.06.2008 21:01:06)
%5


SQL SERVER 2005 Reporting Services
Reporting Services

Kapsamlı bir rapor, bir çok firmanın isteği ve ihtiyacıdır. Hangi zamanlarda, ne tür ürün çıktığının, hangi miktarlarda olduğunun, aynı şekilde çalışanların işe başlangıç, bitiş saatlarinin kontrolünü amaçlayan raporlar gibi raporlar, bir firma için olmazsa olmazlar arasındadır. Peki raporlama yapmak için, raporlamaları programlamak için ne tür program kullanılmalı? Elimizde bir çok kayıt var ve bu kayıtlardan rapor almak istiyoruz. Peki hangi aracı veya araçları kullanmamız gerekiyor? İhtiyaçlara doyurucu cevap vermesi raporu daha fazla çekici kılmaktadır. İşte .NET ile birlikte gelen SQL Server Reporting Services raporlama işlemleri için kullanıcıya sunulan uygun bir raporlama aracı.

Microsoft"un müşterilerinden aldığı değerlendirme ve istekler doğrultusunda kullanıcılara Reporting Services raporlama aracını sundu. Bu ürüne olan talebin yüksek olmasının nedeni, şu ana kadar uygulama geliştiriciler, şirketlerinin ya da müşterilerinin ihtiyaç duyduğu raporları oluşturabilmek için ya kendileri uygulamalar geliştirmek ya da bu işi satın alınan kimi zaman pahalı, kimi zaman sorunlu üçüncü parti yazılımlarla çözmek zorundaydılar. SQL Server Reporting Services ise raporlama işleri için sunucu/istemci modelinde komple bir çözüm sunmakta.

Reporting Services Mimarisi

Çok katmanlı bir uygulama için SQL Server Reporting Services?in katmanlarını inceleyelim. Katmanlarda ana eleman olarak üç temel elemanımız vardır: Client (kullanıcı), Report Server ve SQL Server Report Databases (rapor veritabanları).



1.Şekil: SSRS bileşenleri.

Veri kaynağı ve SSRS veritabanları olan ReportServer ve ReportServerTempDB ayrı bütünlüklerdir. Veri kaynağı (data source) rapor için veri toplamak için merkez elemandır. Rapor sunucu veritabanları (Report server database) rapor hakkında bilgi depolayan kaynaklardır. Veri kaynağı (data source) SQL Server, Oracle, Lightweight Directory Access Protocol (LDAP) veya Analysis Services gibi herhangi bir sağlayıcıyı destekleyebilir. Reporting Services, SQL Server"ı işlevlerini gerçekleştirebilmek için ihtiyaç duymasına rağmen OLE DB, ODBC, Oracle gibi farklı verikaynaklarına bağlanabilir. Ayrıca HTML, Microsoft Excel, PDF, CSV, XML gibi farklı biçimlere göre çıktı üretebilmesinin yanında sağladığı kütüphanelerle bu çeşitliliğin arttırılabilmesi yine göze çarpan özelliklerindendir.

Yükleme ve Ayarlar

 
Analysis Services, Integration Services ve Notification Services olduğu gibi Reporting Services?in kurulum işlemi, SQL Server 2005 kurulumunun bir parçasıdır.


2.Şekil: SSRS bileşenlerinin kurulumu.


SSRS?nin kurulumu sırasında, Reporting Services sekmesinden Reporting Services ve alt bileşenlerini seçerek kurma işlemini gerçekleştirebiliriz.

Reporting Services Temel Bileşenleri

Reporting Services ASP.NET ve web servisi teknolojileri kullanılarak geliştirilmiş araçlardan oluşmakta. Temelinde web servislerinin kullanılması gerçek anlamda ölçeklenebilirliği mümkün kılıyor. Bir raporun tüm aşamalarında, raporu oluşturmada, dağıtmada ve güvenliğini sağlamada, sunduğu fonksiyonlarla Reporting Services, bu konudaki boşluğu önemli ölçüde dolduracağa benziyor. Reporting Services temel üç bileşenden oluşur:

Report Designer : Alıştığımız arabirimden ayrılmadan raporları kolaylıkla hazırlayabiliriz. Report Server : Raporların çalışmasını ve dağıtımını yöneten servislerdir. Report Manager : Report Server için web tabanlı yönetim arabirimi sunar. Report Designer

Report Designer kullanım kolaylığıyla programlama ile ilgilenmeyenlerin de kolaylıkla rapor hazırlayabilmelerini hedeflemektedir. Gruplama, sıralama ve hazır şablon kullanabilme gibi temel ihtiyaçların tümüne cevap verebilir. Fakat bunların yetersiz kaldığı noktada programlama bilginizi ve kullandığımız programlama dilini (VB.NET, C#.NET) kullanarak karmaşık raporların üstesinden gelebilirsiniz. Ayrıca raporların içinde ActiveX kontrolleri de kullanabilirsiniz.

Report Designer"ın en çok göze çarpan özelliklerinden biri parametre kullanımı konusunda sağladığı kolaylıklardır. Örneğin parametre alan bir saklı yordamı (stored procedure) rapor içinde kullanmak isteğinizde, rapor otomatik olarak saklı yordamın parametresini yorumlayabilecek bir yapı oluşturur.  

Report Server

Report Server, raporların çalışmasında, saklanmasında, yönetilmesinde ve dağıtılmasında etkin görev alır. Report Server aslında birçok bileşenden oluşmuştur. Bunlardan önemli bir kaçı şunlardır:

Request Handler : Sunucuya gelen tüm istekleri alınmasından ve gerekli bileşenlere yönlendirilmesinden sorumlu bileşendir. Scheduling and Delivery Processor : Önceden zamanlanmış raporların alınmasından ve gerekli kaynaklara (dosya,yazıcı,faks,e-posta,...) iletilmesinden sorumludur. Report Processor : Raporların çalışmasından ve farklı biçimlere göre çıktı alınabilmesinden sorumlu bileşendir. Report Server Database : Reporting Services"in çalışabilmesi için gerekli tüm verilerin saklandığı SQL Server veritabanıdır. Bu veritabanında önbellekleme bilgilerinden sunucu ayarlarına kadar gerekli tüm bilgiler tutulur. Report Manager

Report Manager ile raporların güvenlik ayarlarını, sunucu yapılandırmasını yönetebilirsiniz. Ayrıca klasör yapılarını belirleyebilir ve zamanlama ayarlarını istediğiniz gibi düzenleyebilirsiniz.

Yönetici hakları olan kullanıcılar, raporların istenilen zamanlarda önbelleklenmesi gibi ileri düzey ayarları yine bu arabirimden yapabilirler.



3.Şekil: Web tabanlı Report Manager uygulaması.


Report Manager "ın sunduğu olanaklarla isterseniz sürekli rapor almak üzere belli bir hizmete üye olabilir, isterseniz istediğiniz zaman rapor alabilirsiniz.

Raporlama Dili (RDL)

Reporting Services mimarisinin yapı taşı rapor tanımlama dili (Report Definition Language-RDL)"dir. RDL dosyaları raporları tanımlayan XML dosyalarıdır. RDL"in açık yapısı sayesinde farklı platformların iletişimine olanak sağlanmıştır.  

RDL, Visual Stuido 2005 içinde gömülü olan Reporting Services ile oluşturduğumuz tüm raporların standartıdır. SSRS, ReportServer, raporları veritabanı sunucusu ile eşleştirebilmek için veritabanında RDL dosyaları kullanır. RDL?nin her bir elemanı XML tabanlıdı şemalarda tanımlanmıştır. Elemanların formatları, veri kümesi bilgileri, gruplama ve sıralama bilgileri, parametre ve filtre bilgilerinin tamamı XML tabanlı olarak tutulmaktadır. Projemize rapor elemanı eklediğimizde, her bir eklenen eleman için RDL kodu değişmektedir.

Report Designer Kullanımı

Microsoft yönetim konsolunu (MMC - Microsoft Management Console) kullanmak istediğimiz servisi, konsola ekleyerek yönetebildiğimiz bir arayüzdür. Bu sayede tekrar tekrar pencereler açmak, programlar başlatmak zorunda kalmıyoruz ve tek bir arayüz ile istediğimiz servisi kullanabiliyoruz. Bu özellikleri açısından MMC gerek veritabanı yöneticileri, gerek sistem yöneticileri, gerekse yazılım geliştiriciler tarafından çok tercih edilen bir araçtır.

Visual Studio 2005 sayesinde bizde tek bir arayüzden, raporlama projelerimizi başlatabilir ve yönetebiliriz. Visual Studio 2005 kullanıcı arabiriminden Business Intelligence bölümünden rapor oluşturabilir ve uygulama geliştirebiliriz.

Raporlama Arayüzü  ile Örnek Uygulama

SQL Server Business Intelligence Development Studio aracılığı ile örnek bir raporlama yapalım. Bunun için örnek veritabanı olan Northwind veritabanını kullanacağız. Northwind veritabanında yer alan Orders, Order Details ve Products tabloları üzerinde çalışacağız.

Şimdi proje ve çözüm dosyasının nasıl oluştuğuna bir bakalım. Business Intelligence?yi başlatalım.


4.Şekil: Business Intelligence?i başlatma.

Dosya menüsünden sırasıyla New | Projects seçenekleri ile karşımıza gelen yeni proje oluşturma ekranı çıkacaktır. Bu pencerenin, sol tarafında ağaç şeklinde, oluşturabileceğimiz proje çeşitleri sıralanmaktadır. Sol menüden Business Intelligence Project seçeneğini seçiyoruz. Bu sayede, sağ panelde oluşturabileceğimiz Business Intelligence proje çeşitleri listelenmiş olacaktır. Sağ panelden Report Server Project proje türünü seçerek yeni bir raporlama projesi oluşturmayı başlatalım.


5.Şekil: Yeni proje oluşturma.

Projemizin ismi, eğer ilk defa raporlama projesi oluşturuyorsak, varsayılan değer olarak Report Project1 olacaktır. Yine bu ekrandan, projemize istediğimiz ismi verebiliyor ve proje dosyalarının yerini belirleyebiliyoruz. Projemize bu uygulamamızda RSP ismini verelim.

Raporlama için başlattığımız yeni projeyi düzenlemek için arabirimizden gerekli araçlarımızı düzenleyelim. Kullanacağımız araçların hali hazırda olması, raporlama  projemizi düzenlerken bize hız ve kullanım kolaylığı sağlayacaktır. Birden fazla araç kullanacağımız için bunları kendi kullanış biçimimize göre düzenleyebiliriz.


6.Şekil: Sık kullanılan araçlar.

Genellikle kullanılan kontroller ve kullanım şekilleri şu şekildedir:

1. Kontrol Kutusu (Toolbox): Kontrol kutusu Matrix ve Table gibi raporlama sayfamızda kullancağımız kontrolleri ve kullanılabileceğimiz diğer kontrolleri içermektedir.
2. Özellik Penceresi (Properties): Rapor elemanlarının formatlarını, gruplarını gibi özelliklerinin değiştirildiği penceredir.
3. Hata Listesi Penceresi (Error List): Hata listesi penceresi, raporlarımızda meydana gelebilecek hataları takip etmemizde bize yardımcı olan bir penceredir. Uyuşmayan veri türleri, geçersiz fonksiyonlar gibi çeşitli hataları ve ayrıntılarını listeler. Bu sayede, projemizde nerelerde hata meydana geldiğini bulabiliriz.
4. Field penceresi: Rapor için tanımladığımız veri setimizi ve alan bilgilerini tutar.

TargetReportFolder Özelliği
Bunlara ek olarak, projemize iki önemli ayar düzenlememiz gerekmektedir: Hedef klasörü, SQL Server Reporting Services (SSRS) sunucusuna ve SSRS sunucu URL?ine uygun olarak yerleşmesi gerekir. Bu ayarı, projemizin ve çözüm dosyamızın, aynı zamanda raporlama projesine ait olan diğer dosyaların listelendiği, Solution Explorer aracılığı ile yapabiliriz. Solution Explorer?a ulaşmak için View menüsünden Solution Explorer?ı tıklamamız yeterli olacaktır. Solution Explorer üzerinde yer alan projemizin üzerinde sağ tuş yaparak, gelen menüden Properties seçeneğini seçelim. Bu sayede projemizin özelliklerinin listelendiği bir diyalog kutusu açılacaktır. Diyalog kutusunda TargetReportFolder özelliği, raporlama projemizin nereye yerleşeceğini belirleyen özelliktir.


7.Şekil: TargetReportFolder özelliği.

Bunun için TargetReportFolder özelliğinin SSRS Web sunucusunu gösteren URL olması gerekmektedir. TargetServerURL özelliğinin formu http://servername/ReportServer şeklinde olmalıdır. Kendi bilgisayarımızda çalıştığımız için sunucu ismimiz ?localhost? olacağından, TargetServerURL özelliğimiz http://localhost/ReportServer olacaktır.

Yeni Nesne Ekleme

Projemiz üzerinde sağ tuş yaparak gelen menüden sırasıyla Add | Add New Item seçeneği seçerek projemize yeni bir nesne ekleyelim.


8.Şekil: Projeye yeni eleman ekleme.

Yeni eleman olarak Report Wizard ekleyelim. 


9.Şekil: Report Wizard ekleme.

Add komut düğmesine bastığımızda, Welcome to Report Wizard başlığında penceremiz açılarak rapor oluşturma sihirbazı başlayacaktır.



10.Şekil: Hoşgeldin ekranı.

Next komut düğmesine tıklayarak sihirbazımızda ilerleyelim.  

Veritabanı Bağlantısının Yapılması

Sihirbazın bu adımında veri kaynağını seçiyoruz. Varsayılan değer olarak SQL Server gelmektedir. New Data Source diyerek yeni bir veri kaynağı ekliyrouz. Ekleyeceğimiz veri kaynağının ismi varsayılan değer olarak DataSource1 olacaktır. Bu ismi srcRSP olarak değiştirelim.


11.Şekil: Veri kaynağının belirlenmesi.

Kendi bilgisayarımıza göre bağlantı cümlemizi oluşturalım. Bilgisayarımızda kurulu olan SQL Server örneğini seçerek burdan Northwind veritabanını seçerek bağlantı cümlemizi oluşturalım.



12.Şekil: Bağlantı kaynağının belirlenmesi.

Sorgu Dizaynı

OK komut düğmesine tıkladığımızda, bir önceki  ekranda konfigüre ettiğimiz veritabanı cümlesini göreceğiz.

Next komut düğmesine tıklayarak, bir sonraki ekran olan Design the Query ekranına gelelim. Bu ekran aracılığı ile bağlandığımız veritabanı olan Northwind veritabanındaki tablolar üzerinde sorgu cümleleri oluşturabiliriz. Sihirbazın bu adımında sorguyu direk olarak yazabileceğimiz gibi, Query Builder aracılığı ile de yapabiliriz. Query Builder komut düğmesine tıkladığımızda hiç de yabancı olmadığımız sorgu ekranı gelecektir. Bu ekranda Generic Query Designer isminde küçük bir ikon bulunmaktadır. Bu ikona bastığımızda karşımıza sorgu üretebileceğimiz Query Analyzer gelmektedir.

Bu ekrandaki menüler :

Panes:Diagram paneGrid PaneSQL PaneResults paneRun the queryVerify the SQLUse group by clausesAdd tables

Kullanım şeklimize göre buradaki Diagram, Grid, SQL Result panellerini açabilir veya kapayabiliriz.

Kod yazma paneli olan; SQL paneline şu sorgumuzu yazalım.


13.Şekil: Sorgumuz.


OK komut düğmesine tıkladığımızda bir önceki Design the Query penceresi ekrana gelecektir.

Next komut düğmesine tıklayarak devam ettiğimizde, Select the Report Type ekranı karşımıza gelmektedir. Bu ekranda hangi tür rapor oluşturacağımız seçeceğiz.


Rapor Türleri
Tabular ve matrix olmak üzere iki çeşit rapor türü vardır. Matrix rapor türü matris türündeki verilerimiz için uygundur. Tabular rapor türü ise, statik tablo verileri için uygundur.



14.Şekil: Rapor Türleri.

Biz Tabular rapor türünü seçerek devam ediyoruz.
İleri diyerek bir sonraki adıma geçerlim.  


Tablo Tasarımı
Bu adımda, rapor sayfasında verilerin sayfalama, gruplama, detaylandırma  özelliğini düzenliyoruz. Biz sayfalama özelliğini CustomerId olarak atıyoruz.


15.Şekil: Tablo Tasarımı.

Bir sonraki adıma geçiyoruz.


Tabloya Stil Ekleme
Tablonun görünüş şeklini bu adımda seçiyoruz.  



16.Şekil: Stil Ekleme.

Next komut düğmesini tıklayarak bir sonraki adıma geçelim.
Son adımda, oluşturduğumuz rapor hakkında genel bilgi veren bir ekranla karşılaşacağız. Bu şekilde rapor oluşturma sihirbazını tamamlamış oluyoruz.



17.Şekil: Sihirbazın sonlanması.

Görünüm  (Layout) Sekmesi
Layout kısmında, raporumuzda hangi verilerin nerede görüntüleneceğini görebiliriz.


18.Şekil: Görünüm (Layout) Sekmesi.

Veri  (Data) Sekmesi
Bu sekmede, raporlama için kullandığımız veri kaynağını görüyoruz. Aynı zamanda bu sekmeden değişiklikler yaparak, veri kaynağında güncelleme işlemi gerçekleştirebiliyoruz.


19.Şekil: Veri (Data) Sekmesi.

Önizleme (Preview) Sekmesi
Bu sekme aracılığı ile, raporumuzun nasıl göründüğünü inceleyebiliriz.


20.Şekil: Önizleme (Preview) Sekmesi.

Bu şekilde raporumuzu oluşturmuş oluyoruz. Reporting Services?in Kullanım Alanları

Reporting Services kullanılabilecek olası durumlardan bazıları şunlardır:

Yeni bir uygulama geliştirirken: Çoğu uygulamada bir şekilde rapor almamız gerekir. Analiz uzmanları Reporting Services"i kullanabilecekleri için uygulama geliştiricilerin üzerindeki yükü hafifletmiş olurlar. Önceden yazılmış bir uygulama için: Çoğu zaman raporlar zaman ve işgücünü çok harcadığı için uygulama içine gömülmez, sonradan ayrıca erişilebilecek bir yapıda sunulurlar. Reporting Services, kullanılarak uygulamaların içine raporların gömülmesi sıradan bir iş haline geliyor. Sistematik bilgilendirme için: Üyelik ve zamanlandırılmış rapor alabilme gibi özellikleri sayesinde bilgilendirme sistemlerinin oluşturulmasında.











Derecelendir
Kaynak http://www.sqlnedir.com/Members/ArticleDetail.aspx?Id=169
İçerik İhbarı
Bağlantılar: bilgininefendisi.net

Open Source Document Project AUP&TOS