Home / İş Zekası / Microsoft SQL Server Reporting Services (SSRS)

Microsoft SQL Server Reporting Services (SSRS)

SSRS birçok tipte veri kaynağından veri alıp, bu verilerden oluşturulan statik veya etkileşimli raporların, browser aracılığıyla sunulduğu server tabanlı bir raporlama sistemidir.

Raporlar SSDT de “Report Server Project” proje tipiyle oluşturulur. Raporlara özgü Veri kaynakları(Data Source) tanımlanabileceği gibi birden fazla raporda kullanılacak Ortak Veri Kaynakları (Shared Data Source) da kullanılabilir.

Ortak Veri Kaynakları (Shared Data Source) Oluşturulması

Eğer Ortak Veri Kaynağı kullanılacaksa “Solution Explorer” de “Shared Data Sources“ sağ Mouse ile tıklanıp “Add New Data Source” seçilerek oluşturulur. Bu durumda ekrana

Penceresi gelecektir. Burada veri kaynağına uygun bir ad verilip veri kaynağının tipi seçilir, daha sonra bağlantı cümlesi(Connection string) elle girilebilir veya Edit tıklanarak açılan pencereden ayarlanabilir.  Edit penceresinde bağlanılacak server in veya dosyanın adı seçilir ve gerekiyorsa o anda bağlanabilmek için bir kullanıcı adı veya şifre girilir.

Daha sonra “Credentials” tıklanarak rapor un her çalışmasında kullanılacak kullanıcıyı seçmek için gerekli pencere getirilir.

Seçenekler şöyledir:

“Use Windows Authentication(integrated security)”

Bu durumda raporun çalışması sırasında veriyi çekmek için rapor sitesine bağlanmış kullanıcının kullanıcı adı ve şifresi kullanılacaktır. Bu seçenek raporu/raporları kullanacak kullanıcıların hepsinin Sql serverde kullanıcı olarak tanımlanmış olmasını gerektirir. Unutulmamsı gereken burada sql server loginlerinin kullanılmaması gerektiğidir.

“Use this user name and password”

Raporun çalışması sırasında veriyi çekmek için belirlenen kullanıcı adı ve şifresi kullanılacaktır. En zahmetsiz yöntem budur.

“Prompt for credendials“

Bu seçenek ile raporun çalıştırılması sırasında ekranda girilen text kullanıcının karşısına çıkarak bir kullanıcı adı ve şifresi vermesi istenecektir.

“No credentials”

Bu seçenek veriyi çekmek için bir kullanıcı adı ve şifresi gerekmeyen durumlarda, örneğin bir dosyadan veri çekilecekse kullanılmalıdır. Eğer bu seçenek seçilmişse Reporting Services Configuration Tools ta belirlenen “Execution Account” kullanılacaktır.

Rapor Oluşturulması

Raporlar üç türlü oluşturulabilir:

Report Wizard ile

Bu seçenekte rapor oluşturamanın tüm aşamaları bir wizard aracılığıyla gerçekleşir. Bu şekilde bir çok rapor kolaylıkla oluşturulabilir. Ancak raporda istenen her şey bu şekilde oluşturulamamaktadır. Bu yüzden daha sonra rapor çift tıklanarak açılıp üzerinde istenen değişiklikler ve ekleme çıkarmalar yapılmalıdır. “Report Wizard” ı çalıştırmak için  “Solution Explorer” de “Reports” sağ Mouse ile tıklanıp “Add New Report” seçilir. İlk ekranda ya var olan bir ortak veri kaynağı seçilebilir veya yeni bir veri kaynağı tanımlanabilir. İstenirse de yeni tanımlanan veri kaynağı ortak veri kaynağı olarak da tanımlanabilir. Veri kaynağı tanımlanması yukarıda anlatılan ortak veri kaynağı tanımlamasıyla aynıdır

İkinci aşamada veri kaynağında çalıştırılacak sorgu(query) belirlenmelidir. Bunun için şu pencere gelir.

Burada sorgu istenirse doğrudan yazılabilir veya “Query Builder” düğmesi tıklanarak “Query Designer” ekranıyla da sorgu oluşturulabilir. Bu pencere standart “Query Builder” penceresidir. Boş alanda sağ Mouse tuşuyla “Add Table” ile tablolar eklenip, diğer ayarlamalar yapılarak sorgu oluşturulur, istenirse çalıştırılıp sonuçları da görülebilir. Her şey tamamsa “Ok” seçilerek sorgu “Query String” alanına doldurulur.

Sonraki pencerede Rapor tablo yapısında mı(Tabular) yoksa Matrix yapısında mı olacağı seçilir. Tabular raporlar bir Excel worksheetine benzer. Matrix raporlar ise Excel pivot table yapısına benzer. Matrix yapısında sadece özet bilgilere bakılır, Tabularda ise genellikle tüm veri gösterilir. Ancak istenirse bir takım gruplamalar yapılıp, öncelikle grup bazında özet bilgilere, istendiği takdirde ayrıntı verisine bakılabilir.

Buradan “Tabular” seçildiyse daha sonra gerekli gruplamalar(Page, Group, Details) yapılır. Aşağıda “Tabular” bir rapor için gruplama seçenekleri görülmektedir. Matrix için seçenekler (Page, Columns, Rows, Details seçenekleri vardır.

Daha sonra eğer bir önceki aşamada “Tabular” seçildiyse tablonun düzeni(layout) seçilir .Bir önce Matrix seçildiyse bu aşama atlanır. Bu penceredeki seçenekler şunlardır.

Stepped(Basamaklı) veya Block(Blok)

Bu seçenek -tablodaki veriler gruplanmışsa – nasıl görüneceğini belirler, grubun altındaki detay verisinin nasıl görüntüleneceğini belirler

“Include Subtotals” ile gruplar bazında alt toplamların alınması sağlanır.

“Enable Drilldown” ile grupların detayları gizlenir ve her bir grubun yanında bir “+” işareti görüntülenir. Bir grubun ayrıntısına bakılmak istendiğinde “+” işareti tıklandığında grubun ayrıntısı gözükecektir. Bu durumda “+” işareti “-” ye dönüşür. Ayrıntı tekrar kapatılmak istenirse “-” tıklanmalıdır.

Daha sonra Rapor için bir biçem(Style) seçilir. Biçem ile rapordaki bir takım alanların renkleri belirlenir.

Daha sonra rapora bir ad verilir ve işlem tamamlanır. Eğer burada “Preview Report” seçeneği seçilmişse rapor önizlemede görülecektir.

Wizard Kullanmaksızın Rapor Oluşturma

“Solution Explorer” de sağ Mouse tuşu “Add”, “New Item” , “Report“ seçilerek boş bir rapor yaratılır. Bu durumda ekran aşağıdaki şekildedir:

Burada öncelikle “Report Data” penceresinden “New”, “Dataset” tıklanarak bir Dataset eklenir. Bir dataset, bir veri kaynağı seçilip(yeniden de yaratılabilir) bir sorgu girilmesi ile oluşturulur.

Artık “Report Data” penceresinde Datasetin altında raporda kullanılacak kolonlar listelenir.

Daha sonra “Toolbox” tan bir rapor nesnesi sürüklenip rapor üzerine bırakılır. Örneğin bir “Table” bırakıldığında şöyle bir görüntü oluşur:

Sonra “Report Data” penceresinde Datasetin altında listelenen kolonlar mouse ile sürüklenerek Table da Data kısmındaki hücrelere bırakılır. BIDS otomatik olarak kolon ismini Header kısmına da Text olarak ekler. Bunlar isteğe göre değiştirilebilir

Önceden Oluşturulmuş Raporların Projeye Eklenmesi

“Solution Explorer” de sağ Mouse tuşu “Add”, “Existing Item” ile daha önceden oluşturulmuş bir rapor(rdl uzantılı dosya) seçilerek eklenebilir.

Rapor Sayfa Yapısı

  1. Başlık(Header)
  2. Gövde(Body)
  3. AltBilgi(Footer)

Bir rapor ilk oluşturulduğunda sadece gövdeden oluşur. Gövdede genellikle bir textbox da rapor başlığı ve bir veri nesnesi(tablix) vardır.

Rapor başlığı raporda sadece ilk sayfada gösterilir Tüm sayfalarda tekrarlanacak bir başlık isteniyorsa rapora bir header eklenebilir. Bunun için rapor üzerinde gövde dışında bir yer sağ mouse tuşuyla tıklanarak veya Report menüzünden “Add Page Header” ile bir sayfa başlığı eklenebilir.

İstenirse aynı yöntemle bir sayfa alt bilgisi de eklenebilir. Sayfa başlıklarında ve alt bilgilerinde Textbox, Rectangle, Line veya Image nesneleri bulunabilir.

Sayfa başlığında raporun çalıştırma saati, alt bilgilerde de Sayfa numarası bulunduğu bir örnek şöyledir

Sayfa başlığına bir çizgi ve textbox konulmuştur.

Textbox üzerinde sağ mouse tuşu tıklanıp Expression(ifade) bilgisi seçilip Expression Editor de Çalıştırma zamanı Category de Built-in Fields seçilerek şu şekilde eklenebilir.

Yine Altbilgi kısmına bir Textbox ekleyip üzerinde sağ mouse tuşu tıklanıp Expression(ifade) bilgisi seçilip Expression Editor de Çalıştırma zamanı Category de Built-in Fields seçilerek şu şekilde eklenebilir.

Artık rapor şu şekilde görünecektir:

Raporda İfade(Expression) Kullanımı

Raporların herhangi yerindeki veri veya diğer ayarlar sabit girilebileceği gibi bir ifade(expression)den de gelebilir.

Örneğin Rapor başlığının textinin sabit olarak vermeyip bir ifadeden getirelim:

Textbaox sağ mouse tuşuyla tuıklanıp Expresions seçilerek aşağıdaki formül yazılmalı veya alttaki seçeneklerden tıklanarak oluşturulmalıdır.

=First(Fields!CustomerName.Value, “DataSet1″) & ” Siparişleri”

Başka bir expression örneği:

Amount kolonundaki veri 1000 ve üstüyse Arka plan rengini kırmızı değilse Mavi yapan expression şöyledir:

=iif(Fields!SalesAmountçValue >= 1000, “Red”, “Blue”)

Başka bir expression örneği:

Yine Müşterinin Yıllık gelirinin tüm müşterilerin yıllık gelirine oranını yüzde olarak göstermek için kulllanılan expression şöyledir:

=FormatPercent(Fields!YearlyIncome.Value / sum(Fields!YearlyIncome.Value, “DataSet2”))

Başka bir expression örneği:

Rapordaki “Order Quantity” kolonunu sadece “prog\Administrator” kullanıcısı görsün diğerleri görmesin isteniyorsa Kolon sağ Mouse tuşuyla tıklanıp “Column Visibility” seçilerek gelen ekranda aşağıdaki ifade yazılmalıdır.

=iif(User!UserID = “prog\Administrator”, true, false)

Raporlarda Parametre Kullanımı

Müşteri siparişlerini döndürecek bir rapor yapalım. Raporun üstünde bir combo box içinde müşteri adları görüntülenecektir. Müşteri adı seçilince rapor datasetindeki sorguya müşterinin no su geçecek ve bu müşterinin siparişleri dönecektir.

Müşteri siparişlerini döndüren sorgu şöyledir:

Select * from factInternetSales where CustomerKey = @MusteriNo

Bu sorguda parameter kullanıldığı için doğrudan Rapora da aynı isimde bir parameter eklenmiştir. Bu parameter “Report Data” sekmesinde Parameters in altında görünmektedir. Bu parametrede gösterilmek üzere rapora yeni bir dataset eklenmelidir. “Report Data” sekmesinde DataSets sağ mouse tuşuyla tıklanıp “Add New DataSet” seçilerek yeni bir dataset eklenmelidir. Bu dataset in sorgusu şöyledir:

Select CustomerKey, FirstName + ‘ ‘ + LastName as FullName from dimCustomer

2. dataset eklendikten sonra “Report Data” sekmesinde Parameters in altında @MusteriNo parametresi çift tıklandığında aşağıdaki ekran açılacaktır

Bu ekranda Prompt Kısmına “Müşteri Adı” yazılıp DataType I Integer olarak seçilmelidir. Sonrasında “Available Values” sekmesi seçildiğinde şu ekran gelir:

Burada “Get values from a query” seçilip ilgili dataset seçilmelidir ve “Label Filed” kısmında kullanıcıya gösterilecek kısım olarak FullName, sorguya gönderilecek veri olarak da “Value field” dan CustomerKey seçilmelidir.

Parametre verisi veritabanından gelebileceği gibi “Specify Values” seçeneği seçilerek “Add” düğmesi tıklanarak alta elle de eklenebilir. Örneğin Müşteriyi cinsiyetine göre seçeceksek Cinsiyet Parametresi ekleyip şu şekilde seçeneklerini belirtebiliriz:

Dataset Oluştururken SP(stored procedure) Kullanımı

Raporlarda kullanılacak veri için şimdiye kadar hep sorgu yazdık. Ancak stored procedure de kullanılabilir. Bunun için veritabanında gerekli sp oluşturulduktan sonra, raporda dataset tanımlanması aşamasında aşağıdaki şekilde sp seçilmelidir.

Veya “Query Designer” tıklanıp orada “Command Type” olarak “stored procedure” seçilip, eğer varsa parametreleri de yanında başında “@” işaretiyle verilmelidir.

Rapor Nesneleri (Report Items)

Rapor üzerinde bir kısmı sadece gövdede kullanılabilir, bir kısmı rapor üzerinde herhangi yerde kullanılanılabilen nesnelerdir. Bunlar:

TextBox

Raporda herhangi bir yerde kullanılabilir. Başlıkta ve altbilgide kullanımı yukarıda verilmiştir. Gövdede rapor başlığında ve veri nesnelerinde kullanılır. Textbox lara doğrudan yazı yazılabileceği gibi, rapor verisindeki kolonlar da Texboxlara atanarak görüntülenebilir. Rapor datasında kolonu seçip sürükleyip Tablix üzerine bırakıldığında hem gerekli textbox oluşturulup, hem de kolon verisi Textbox un değerine(value) atanacaktır.
Önceden eklenmiş Textbox da görüntülenecek verileri seçmek için birkaç yöntem vardır. Bunlardan ilki Textbox daki icona tıklayarak, kolonu seçmektir:

Veya Textbox daki yazı tıklanıp seçilir duruma getirildiğinde “Selected Text” in özelliklerinde(Properties) Değer(Value) görülüp değiştirilebilir.

Bir diğer yöntem de Textbox u sağ mouse tuşuyla tıklayıp “Expression” una istenen field ın Value sunu atamaktır.

Textbox üzerinde sağ mouse tuşuyla tıklanıp “Textbox Properties” e girilince aşağıdaki ekran gelir

Burada Number daTextbox daki verinin sayı formatı, Alignment te hizalanması, Font, Border ayarları yapılabilir. Fill ile bir arka plan resmi atanabilir.

Visibility de Rapor ilk çalıştığında textbox un görünüp görünmeyeceği ve sonrasında Textbox un bir ifade(expression) veya başka bir rapor nesnesine göre görüntülenip gizleneceği seçilir.

“Interactive Sorting” genellikle tablix lerdeki detaillerin üzerinde bulunan başlık bilgilerine konulur. Bu şekilde başlık tıklandığında detay veriler tıklanan başlığın verilerine göre sıralanır. Detayları Ürün Adına göre sıralamak için:

Actionda Textbox tıklandığında bir yönlendirme yapılması sağlanır. “Go to report” ile başka bir rapora gidilmesi, “Go to bookmark” ile aynı raporda raporun başka bir yerine gidilmesi, “Go to URL” ile herhangi bir url e yönlendirilmesi sağlanır. Action genellikle detaydaki bir kolona konur. Örneğin genel bir satış raporundan, istenen ürünün satışlarının detaylı olarak görülmesi için Ürün nosu(ItemNo) tıklandığında bu rapora göndermek için aşağıdak, şekilde önce rapor seçilir; ayrıca raporun parametreleri varsa bu parametrelere gönderilecek veriler seçilir

Line

Görsel düzenleme için kullanılan çizgi nesnesidir. Seçildikten sonra Properties penceresinden ayarları değiştirilebilir.

Tablix(Table, Matrix ve List)

Table, Matrix ve List nesneleri tablix kontrolünün değişik görünümleri değişik şekilde ayarlanmış halleridir. Table da rapor tablo yapısında, matrix te bir pivot tablo şeklinde dizayn edilmiştir. List de ise aslında her şey tek bir hücrelik bir tabloda bir Diktörtgen(rectangle) içerisinde serbest bir şekilde dizayn edilmiştir.

Rectangle

Görsel düzenleme için kullanılan diktörtgen nesnesidir. Properties penceresinden ve sağ mouse tuşu Rectanglae Properties den ayarları değiştirilebilir.

Ayrıca Veri gösterimi için List nesnesi kullanıldığında Detail kısmında tek kolonluk tablix in içinde bulunur.

Image

Raporda logo veya benzeri amaçlarla kullanılabilir veya Rapor verisi içinde resim varsa, rapor satırlarında veritabanındaki resimleri göstermek için kullanılır.

Örneğin firma logosu olan koala resmini raporun sol üst köşesinde gösterelim. Bunun için Toolbox’tan Image rapor üstüne sürüklenir ve sol üst köşeye bırakılır. Daha sonra sağ Mouse tuşuyla tıklanarak Resim daha önceden rapora eklenmişse “Select the Image source” seçenek kurusundan “Embedded” seçilip, “Use this Image” kısmından resim seçilir veya Import tıklanarak diskten istenen resim seçilerek eklenir.

Eğer gösterilmek istenen resim DataSet te ise “Select the Image source” seçenek kurusundan “Database” seçilip, , “Use this Image” kısmından resimin olduğu kolon seçilir ve resmin “Mime type” ı seçilerek resim eklenir.

Subreport

Rapor içinde başka bir raporun gösterilmesidir. Alt rapora parametreler geçirilebilir.

Bir satış bölgesinde ilk 3 satışı döndüren bir rapor yaptıktan sonra bu raporu Satış bölgeleri raporuna alt rapor olarak ekleyelim. Bunun için Satış bölgeleri raporda bir kolona Toolbox’tan  bir subreport ögesi sürükleyip bırakalım. Subreport u sağ Mouse tuşuyla tıklayıp raporu seçelim.

Parameters kısmında Alt rapora SalesTerritoryId sini göndererek o bölgenin ilk 3 satırının gelmesi sağlanmalıdır.

Chart

Raporda kullanılabilecek grafik öğesidir. Excel grafiklerine benzer.

Rapora eklendikten sonra tıklanıp, ardından bir daha tıklanınca sağda çıkan ekranda “Values” alanına “Report Data” dan ilgili DataSetteki gösterilmek istenen kolon sürüklenip bırakılmalıdır. X ekseninde görüntülenecek veriler “Category Groups” üzerine bırakılmalıdır. Eğer grafikte birden fazla veri gösterilecekse bu kolon da “Series Group” üzerine bırakılmalıdır. Veya bu seçim işlemleri ilgili grupların sağındaki aşağı yönlü üçgenlerden de yapılabilir. Yine sağda “+” tıklanarak yeni kolon da eklenebilir.

Grafik üzerindeki farklı bölgeler sağ Mouse tuşuyla tıklanıp ilgili ayarlar yapılabilir.

Raporda birden fazla DataSet varsa hangi DataSet in kullanılacağı Chart özelliklerinden seçilmelidir.

Gauge

KPI benzeri verileri Hız göstergesi şeklinde gösterir.

Rapora eklendikten sonra tıklanıp, ardından bir daha tıklanınca sağda çıkan ekranda “Values” alanına “Report Data” dan ilgili DataSetteki gösterilmek istenen kolon sürüklenip bırakılmalıdır. Veya grupların sağındaki aşağı yönlü üçgenlerden de yapılabilir. Yine sağda “+” tıklanarak yeni kolon da eklenebilir.

Grafik üzerindeki farklı bölgeler sağ Mouse tuşuyla tıklanıp ilgili ayarlar yapılabilir

Raporda birden fazla DataSet varsa hangi DataSet in kullanılacağı Gauge özelliklerinden seçilmelidir.

Rakamların bulunduğu kısım sağ Mouse tuşuyla tıklanarak ölçk ayarları yapılabilir.

Map

Coğrafi rapor verilerinin bir harita üzerinde gösterilmesine yarar

Data Bar

Genellikle rapor detaylarındaki bir sayısal veriyi bar şeklinde göstermek için kullanılır.

Rapora eklendikten sonra tıklanıp, ardından bir daha tıklanınca sağda çıkan ekranda “Values” alanına “Report Data” dan ilgili DataSetteki gösterilmek istenen kolon sürüklenip bırakılmalıdır. Veya grupların sağındaki aşağı yönlü üçgenlerden de yapılabilir. Yine sağda “+” tıklanarak yeni kolon da eklenebilir.

Grafik üzerindeki sağ Mouse tuşuyla tıklanıp ilgili ayarlar yapılabilir.

Raporda birden fazla DataSet varsa hangi DataSet in kullanılacağı sağ Mouse tuşu ile özelliklerinden seçilmelidir.

Sparkline

Genellikle rapor detaylarındaki birden fazla sayısal veriden oluşan satır verisini çizgi şeklinde göstermek için kullanılır.

Rapora eklendikten sonra tıklanıp, ardından bir daha tıklanınca sağda çıkan ekranda “Values” alanına “Report Data” dan ilgili DataSetteki gösterilmek istenen kolon sürüklenip bırakılmalıdır. X ekseninde görüntülenecek veriler “Category Groups” üzerine bırakılmalıdır. Eğer grafikte birden fazla veri gösterilecekse bu kolon da “Series Group” üzerine bırakılmalıdır. Veya bu seçim işlemleri ilgili grupların sağındaki aşağı yönlü üçgenlerden de yapılabilir. Yine sağda “+” tıklanarak yeni kolon da eklenebilir.

Grafik üzerindeki sağ Mouse tuşuyla tıklanıp ilgili ayarlar yapılabilir.

Raporda birden fazla DataSet varsa hangi DataSet in kullanılacağı sağ Mouse tuşu ile özelliklerinden seçilmelidir.

Indicator

KPI benzeri verileri Durum göstergesi şeklinde gösterir

Rapora eklendikten sonra tıklanıp, ardından bir daha tıklanınca sağda çıkan ekranda “Values” alanına “Report Data” dan ilgili DataSetteki gösterilmek istenen kolon sürüklenip bırakılmalıdır. Veya grupların sağındaki aşağı yönlü üçgenlerden de yapılabilir. Yine sağda “+” tıklanarak yeni kolon da eklenebilir.

Grafik üzerindeki farklı yerler sağ Mouse tuşuyla tıklanıp ilgili ayarlar yapılabilir.

Raporda birden fazla DataSet varsa hangi DataSet in kullanılacağı sağ Mouse tuşu ile özelliklerinden seçilmelidir.

5/5 - (1 vote)

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Mualla Premium Chocolate