SQL Server administration and T-SQL development, Web Programming with ASP.NET, HTML5 and Javascript, Windows Phone 8 app development, SAP Smartforms and ABAP Programming, Windows 7, Visual Studio and MS Office software
Development resources, articles, tutorials, code samples, tools and downloads for ASP.Net, SQL Server, Reporting Services, T-SQL, Windows, AWS, SAP HANA and ABAP

VS.NET 2003 Kullanarak İlk MS SQL Server 2000 Reporting Services Raporunuzu Oluştumak

MS SQL Server 2000 Reporting Services hızlı bir şekilde raporlama ihtiyaçlarınızı çözmek için güçlü bir araç. Kullanım kolaylığı yanında öğrenme kolaylığı da hızlı bir şekilde üretken bir çalışma temposu yakalamanıza olanak sağlıyor. Bu makalede basit bir rapor hazırlayarak Reporting Services ile rapor geliştirme konusuna bir giriş yapmaya çalıştım.

Reporting Services uygulamasının kurulumu ile ilgili bir makaleyi Microsoft SQL Server 2000 Reporting Services Kurulumu isimli yazıda bulabilirsiniz. Bu makalede development ortamınız için MS SQL 2000 Reporting Services kurulumunu gerçekleştirdiğinizi varsayıyorum.

Eğer daha yeni, güncel bir Reporting Services eğitim dökümanı arıyorsanız Create your first SQL Server Reporting Services Report isimli yazımı okuyabilirsiniz.

Reporting Services raporları .rdl uzantılı dosyalardır. RDL dosya uzantısının açılımı Report Definiton Language 'dir ve .rdl dosyaları XML dökümanlarıdır. RDL raporlarınız XML formatında dosyalar olduğu için herhangi bir editör yardımı ile geliştirebileceğiniz yazılsa da verimli ve hatasız bir şekilde rapor tasarlamak ve geliştirmek için Visual Studio.NET 2003 dışında herhangi bir editörün size yardımı olmayacaktır.

VS.NET 2003 geliştirme ortamımızı açarak (IDE) ilk raporumuzu geliştirmeye başlayalım. İlk adımımız yeni bir proje açmak olacak. New Project seçeneği ile ekrana gelecek ekranda Business Intelligence (BI) proje şablonunu (template) seçelim.

SQL Server Reporting Services new project

"Report Project Wizard" proje sihirbazı olarak adlandırılsa da sihirbaz (wizard) bana biraz karışık geldiği için doğrudan boş bir "Report Project" şablonu ile başlamayı her zaman için tercih ediyorum. Reporting Services rapor projenize bir isim verdikten ve fiziksel olarak nerede oluşturulmasını istediğinizi Location kısmına girdikten sonra OK butonuna bastığınızda rapor projenizin oluşturulması tamamlanmış olacaktır.

Yeni oluşturulmuş bir projenin özelliklerini aşağıdaki resimde görebilirsiniz. Bir Reporting Services projesi "Shared Data Sources" ve "Reports" adında iki ana bölümden oluşmaktadır. Shared data sources projede aynı veri kaynağından beslenecek raporlar için ortak bir veritabanı bağlantısı (connection string) içerir. Shared Data Sources rapor oluşturma aşamasında daha önceden oluşturulmuş bir veri kaynağı kullanılacağı için hem raporun daha çabuk geliştirilmesini sağlar. Hem de rapor projenizi başka bir server'a ki bu production ortamı olsun veya başka bir server olsun projenizi deploy ettiğinizde yeni veri kaynağını tek bir değişiklikle tüm raporlarınız için güncellenmesini sağlar. Shared Data Sources projenizin yönetimi (management) ve bakımı (maintenance) aşamalarında sağlayacağı faydalardan dolayı mutlaka kullanılması gereken proje bileşenlerindendir.

Shared Data Sources ile ilgili daha detaylı bilgiyi Shared Data Source Oluşturmak isimli makalede bulabilirsiniz.

Reporting Services solution explorer

Reporting Services projemizi oluşturduktan sonra ve proje bileşenlerinden Shared Data Sources hakkında genel bilgiler aldıktan sonra ilk raporumuzu oluşturarak konumuza devam edelim. Solution Explorer ekranında Reports dizini üzerinde sağ tıklayarak açılacak menüde "Add" seçeneğini ve ardından "Add New Item" seçeneğini seçelim.

create new Reporting Services report

"Add New Item" ekranında, Templates alt ekranında "Report" seçimini yapalım ve raporumuza bir isim verelim. Örnek raporumuzu Product.rdl olarak isimlendirelim. Örneğimiz için her SQL Server 2000 kurulumunda olan Northwind veritabanı yaygınlığından dolayı kullanıyorum. Raporda Product tablosundaki ürünlerin bir listesini oluşturacağız. 

Solution Explorer penceresinde yeni oluşturduğumuz Products.rdl isimli raporumuzu aşağıdaki resimde görebilirsiniz.

SQL Server Reporting Services solution explorer

Her Reporting Services raporu tasarım aşamasında iki ana bölümden oluşur. Bunlardan birincisi "Data" tab'ı altında görebileceğimiz raporumuzda görüntüleyeceğimiz verilerin kaynağını belirtmekte kullandığımız bölümdür. Veri kaynağı hem Data Source 'u seçmek veya oluşturmak hem de bu data source içinden istenilen veri setini seçmekte kullanacağımız statement'ları belirtmekte kullanılır. Diğer bölüm "Layout" 'tan oluşmaktadır. Bu Data bölümünde seçilerek getirilmiş verinin görüntülenmesi ile ilgili format ve sunum biçimlerinin belirlendiği ekrandır.

SQL Server Reporting Services report data tab

Ana rapor ekranında yukarıda göreceğiniz gibi yer alan Data ve Layout Tab'ları yanında bir üçüncü Tab "Preview" tab'ı yer alır. Preview bölümünü raporunuzu deploy etmeden önce çalıştırarak çıktısını görüp kontrol etmek için kullanabilirsiniz.

Raporumuz için ilk aşamada rapor verisini belirleyerek devam edelim. Bunun için Data tab'ında Dataset combo kutusu içinden "<New Dataset...>" seçeneğini seçelim.Yani raporumuz için yeni bir veri seti ya da veri kümesi oluşturalım.

create new dataset in Reporting Services

"New Dataset" seçimi ile "Data Link Properties" ekranı açılacaktır. "Connection" tab'ı aktif olarak açılan bölümdür. Çünkü Provider tab'ında "Microsoft OLE DB Provider for SQL Server" varsayılan değer olarak seçilmiştir. Provider tab'ına geri dönerek ihtiyacınız olan provider'ı seçebilirsiniz. Ben MS SQL Server 2000 ve Northwind veritabanını kullanacağım için default provider olan "Microsoft OLE DB Provider for SQL Server" varsayılan değeri değiştirmeyeceğim.

Reporting Services new data connection

Kendi makinamda kurulu olan SQL Server default instance 'ını kullanacağım için 1 numaralı bölüme "." değerini girdim. Buraya makinanızın adını da girebilirsiniz. Veya default instance dışında bir kurulumu kullanacaksanız [MakinaAdi\KurulumAdi] şeklinde giriş yapabilirsiniz. Kendi makinanız için Windows NT Integrated security uygun olacaktır. Dilerseniz SQL Server makinanız içinde yetkili olan bir kullanıcı adı ve parolasını 2 numaralı bölümde tanımlayabilirsiniz. 3 numaralı bölümde seçilen kurulumda (instance) varolan veritabanları listelenir. Biz Northwind veritabanını seçerek devam edelim. "Test Connection" butonunu kullanarak tanımladığımız Connection (veritabanı bağlantısının) başarılı olup olmadığını kontrol edebiliriz.. OK butonuna tıklayarak Data Source'umuzu tanımlamış olduk.

Yukarıdaki adımları izleyerek Northwind adında bir Dataset oluşturmuş olduk. Dataset'imizin adını Products olarak güncellemek istiyorum. Çünkü raporumuz ürün bilgilerini içeren bir rapor olacaktır. Dataset ile ilgili daha fazla güncellemeleri aşağıdaki ekranda görebileceğiniz "..." buton yardımı ile açılacak ekranda gerçekleştirebilirsiniz.

edit dataset in Reporting Services data tab

"..." butonuna bastığınızda aşağıdaki dataset ile ilgili özellikleri görüntüleyen Dataset ekranı açılacaktır. Bu ekranda Name bölümünde Products olarak güncellememizi yapalım.

SQL Server Reporting Services report dataset

"Command type" dropdown kutusunda aşağıdaki değerlerin olduğunu göreceksiniz. Text, StoredProcedure ve TableDirect.

stored procedure command type

İlk Reporting Services raporumuz için "SELECT * FROM Products" şeklinde bir sorgu tanımlayacak olduğumuz için "Command type" listesinden "Text" seçimi ile devam edebiliriz. Ve sorgu cümleciğimizi "Query string" kutucuğuna girebiliriz. "SELECT * FROM Products" sql cümleciği ile tüm Products tablosundaki kayıtları listelemiş olacağız.

Diğer bir metot da command type olarak StoredProcedure seçmek ve kullanacağımız stored procedure adını ilgili bölüme girmek şeklinde olacaktır. Aşağıdaki script'i kullanarak ListAllProducts adında bir stored procedure oluşturalım ve bu stored procedure adını (ListAllProducts) "Query string" metin kutucuğuna yazalım.

CREATE PROCEDURE ListAllProducts

AS

SELECT * FROM Products

GO
Code

OK butonuna basarak Dataset özellikler ekranını kapatalım. Data tab'ında yer alan Run butonuna ( run report data query ) basarak raporumuzun veri kümesini oluşturacak kayıtları ekranda görüntüleyebiliriz. Böylece data source 'umuzu ve dataset'imizi oluşturan query string 'imizi test etmiş oluruz.

Bu noktada söylenebilecek bir önemli nokta da raporumuz için birden fazla Dataset kullanabileceğimizdir. Data tab'ındaki Dataset kombosunda yeralan <New Dataset...> seçimi ile raporumuz için yeni veri kaynakları oluşturabiliriz.

İlk Reporting Services raporumuz için verilerimizi sağladıktan sonra artık Layout bölümünde rapor formatımızı hazırlayabiliriz.

Layout tab'ına tıklayarak tasarım (design) için rapor layout  görüntüsüne geçelim. VS.NET geliştirme ortamında sol bölümde yeralan ToolBox 'ı aktif hale getirerek "Table" kontrolünü "drag and drop" yani sürükle bırak yöntemi ile layout ekranına bırakalım. Ardından Fields listesinden raporda görüntülemek istediğimiz kolonların seçimini yapalım. Bu kolonları tablonun Detail (detay) ksımına bırakalım. Böylece ilgili veritabanı alanı için tabloda bir header (başlık) oluşturulduğunu da görebilirsiniz. 

SQL Reporting Services report design layout

Yukardaki ekranda solda Toolbox ikonunu en üstte görebilirsiniz. Aynı bölümde Fields (alanlar) seçimini yapabileceğimiz ekranda en altta görüntülenmiştir. Raporunuz için toolbox içinde yeralan diğer kontroller arasından ihtiyacınız olanları seçerek layout'unuzu geliştirebilirsiniz. Örneğin raporunun başlığı için bir Textbox kontrolü eklemek gibi.

Artık ilk reporting services raporumuzu tamamlamış olduk. Çalışmamızın sonucunu Preview tabında görebiliriz.

rendered Reporting Services report

 

İlk Reporting Services raporumuzda basit bir dataset oluşturduk. Bu dataset içindeki verileri görüntülemek için toolbox içindeki kontrollerden yalnızca birisi olan Table kontrolünü seçtik. Ve raporumuzu Preview ekranında görüntüledik

Bu raporda ana hedefimiz Reporting Services rapor geliştirme ortamına alışmak ve temel metodu anlamak olduğu için çok detaylı ve özellikli bir rapor hazırlamadık. İleride Reporting Services içinde Custom Code kullanımı, raporlarda çok uluslu ortamlarda kullanılacak yöntemler, raporların deployment'ları gibi konulara da değineceğim.



SQL Server

SQL Server 2019 Installation
download SQL Server 2019
download SQL Server 2017
download SQL Server 2016
download SQL Server 2014
download SQL Server 2012
MacOS ve SQL Server 2019


Copyright © 2004 - 2021 Eralper YILMAZ. All rights reserved.