Sharepoint 2010 Listelerinden Reporting Service ile Raporlama

Microsoft, ürün ekosistemi adını verdiği bir konsept çerçevesinde tüm ürünlerini belirli bir çözümü geliştirmeye yönelik birbirlerine entegre etmiştir. Sözgelimi bir firma için portal tasarlanacaksa Sharepoint, bunun üzerinde yapılacak geliştirmeler ASP.NET ve Visual Studio, raporlama için ise SQL Server Reporting Services kullanılabilir. Elde edilen raporların mail yoluyla ilgililerine push edilmesi için ise Exchange Server tercih edilebilir.

Yazının başlığındaki konuya odaklanmak gerekirse böyle bir uygulama çözümünde Sharepoint’te oluşturulan listelerden raporlama yapabilmek temel bir ihtiyaç haline gelebilir.

SQL Server Reporting Services ile sadece MS SQL veritabanlarından değil (Oracle, SAP, SQL Azure, Excel vb) farklı veri kaynaklarından da raporlama yapılabilir. Buna 2008 R2 versiyonundan beridir Sharepoint listeleri de dahildir. Aşağıdaki görselde bir liste yapısı örneklenmiştir.

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Bu listeden bir rapor alabilmek için Business Intelligence Development Studio’da Report Server Project şablonuyla bir proje başlatılmalı ve ve Data Source tanımlamasında Type alanından “Microsoft Sharepoint List” seçilmelidir.

2

Connection String olarak ise sharepoint’teki site url’si verilmelidir. Örneğin http://aykutsrv:50000/AysinOrnekler/ gibi. Credentials kısmında ise Windows Authentication seçeneği seçilmelidir.

3

Rapor tasarımında bu Shared Data Source’u refere eden bir Dataset oluşturulurken Query Designer kullanılırsa aşağıdaki görselde de görüleceği üzere, listelere seçim amacıyla erişilebilir.

4

Örneğin PersonelPuan isimli liste ve rapor için gerekli kolonlar seçilerek DataSet oluşturulmuştur.

Bu aşamadan sonra raporun tasarımında listeden alınan veri hem table hem de pivot yapma amacıyla matris bileşenleri sayesinde aşağıdaki gibi raporda sunulabilmiştir.

5

Şüphesiz okuyucunun bu yazıdaki örneği anlayabilme ve uygulayabilmesi için Sharepoint ve Reporting Services hakkında temel bilgilere sahip olması gerekir. Her iki konuda da verdiğim eğitimlerin yanı sıra Pusula Yayıncılıktan çıkmış olan Reporting Services isimli kitabımdan faydalanabilirsiniz.

C ve Sistem Programcıları Derneğinde Sharepoint kurslarımız başlıyor !

Reklamlar

İlk Ve Tek Türkçe Reporting Services Kitabı Çıktı !

Konusunda ilk ve tek Türkçe kaynak olma özelliğini taşıyan Reporting Services ile Raporlama isimli 6. kitabım Pusula Yayıncılıktan çıktı. Öncelikle kitaba yoğun emeği geçen; Selahattin Sarı (Grafik), Alper Zorlu (Düzelti), Gülendam Mallı, Derkan Karakoyun ve Mustafa Arslantunalı‘ya teşekkür ediyorum.Kitap düzgün bir Türkçeyle yazılmış tam bir “nasıl yapılır ?” kitabı karakteristiğini taşıyor. Pek çok başlık altında pratik örneklerle ele alınmış konuların sıklet merkezini development (geliştirme) tarafı teşkil ediyor. Ancak yine de belirli ölçüde yönetimsel ve alt yapıya dair başlıklar da söz konusu.Kitabı tüm kitapçılar ve derneğimizden de (C ve Sistem Programcıları Derneği) temin edebilirsiniz. info@aykuttasdelen.net adresinden mail ile ulaşırsanız kitabı imzalayıp kargo ile gönderebilirim.

Kitapla ilgili genel değerlendirmeler ve başlık özeti şöyle :

• Raporlamanın Temel Kavramları
• List, Table, Matrix, SubReport, Chart Kontrolleri
• Expression’lar ve Fonksiyonlar
• Özgün (Custom) Kodların Yazılması
• Assembly Kullanımı
• BLOB Verilerin Gösterimi
• Reporting Service Yönetimi
• Mail ile Rapor Gönderimi
• Uygulama Entegrasyonu
• Report Viewer Kontrolü
• URL ve Web Servisiyle Erişimler
• Rapor Modelleri ve Report Builder ile Ad-Hoc Raporlama
• Analysis Service’tan (OLAP) Raporlama
• Subscription’lar Oluşturma
• Ve diğerleri …

Genel Değerlendirmeler

1.  bölümde raporlama konusuna ilişkin temel kavramlar ve terminoloji ele alınmaktadır. Ayrıca sihirbaz kullanılarak basit bir örnek yapılmakta ve böylece okuyucunun konuya dair ana noktalar hakkında hızlıca fikir sahibi olması sağlanmaktadır.

2. bölüm ise rapor tasarımı, kontrollerin ve fonksiyonların kullanımı OLAP ve OLTP kaynaklarına nasıl bağlanılacağı, rapor şablonlarının oluşturulması ayrıca özgün kodların yazılması gibi temel geliştirme konularını detaylı ve örnekler üzerinden giderek irdelemektedir. Özellikle Business Intelligence Development Studio aracının nasıl kullanılacağı, Dataset’lerin nasıl oluşturulup manipüle edileceği, filtreler, parametreler, gruplamalar gibi önemli konular yine bu bölümde karşınıza çıkacak.

3. bölüm, geliştirilmesi tamamlanmış bir projenin rapor sunucusuna hangi yöntemlerle deploy edileceğini ve bu aşamada ortaya çıkması muhtemel sorunların çözümlerini ele almaktadır.

4. bölüm her ne kadar bu kitap bir dbadmin için yazılmış yönetim ağırlıklı konuları ele alan bir kitap olmasa da, Reporting Service üzerinde programlama yapan bir geliştiricinin de bir ölçüde bu konulara aşina olması gerektiği için, bu konular hakkında çok temel olan bilgileri okuyucuya kazandırmaktır. Söz gelimi raporların nasıl çalıştığı, snapshot ve cached instance’ların oluşturulması, subscription’ların yaratılması, mail ve dosya paylaşımıyla raporların deliver edilmesi ve güvenlik gibi yönetimsel konular ele alınmaktadır.

5. bölüm Reporting Service’in uygulamalara nasıl entegre edilebileceğine dair yöntemleri incelemekte ve örneklemektedir. URL ve Web Servisiyle erişimin yanı sıra WinForms ve ASP.NET uygulamalarında ReportViewer kontrolüyle raporların gösterimi bu bölümde ele alınmaktadır.

6. bölümde ise ad-hoc raporlama yani son kullanıcıların kendi raporlarını oluşturubilmesini sağlayan Report Builder isimli araç ve rapor model projelerinin geliştirilmesi anlatılmaktadır.

7. bölüm ise T-SQL sorgulama dili konusunda okuyucunun olası eksiklerini gidermeye yönelik bir referans bölümüdür.

How to conditional formatting in Reporting Services Koşullu Formatlama

Reporting Services-Raporda Koşullu Formatlama

Not : Bu yazı Aykut TAŞDELEN’in Reporting Service kitabından alıntıdır, izinsiz kullanılamaz ve devamı söz konusu kitapta yer almaktadır !

 

Koşullu formatlama işlemi; rapordaki verilerin formatının veya görünümünün belirli koşullara göre düzenlenmesidir. Bu formatlama işlemi finansal formatlama (para biriminin eklenmesi, hane ayıraçlarının oluşturulması) veya tarih formatlama türünde bir işlem olabileceği gibi, görsel anlamda renk veya font değiştirme gibi işlemler de olabilir.

Örneğin ülkelere göre yapılan satışların sunulduğu bir raporda ülkeye göre satış rakamının yanına farklı bir para birimi eklenmesi, satışların hedefin altında olduğu ülkelerde yazının kırmızı ya da hedefin üstünde olan ülkelerde ise yeşil yapılması gibi işlemler koşullu formatlamaya dahildir.

Koşullu formatlama Switch veya IIF fonksiyonlarıyla yapılabilir. IIF daha basit ve iki olasılıklı durumlarda işe yararken, daha çok olasılığın olduğu durumlarda ise Switch tercih edilmelidir.

Örneğin Satislar isminde ve resimde görüldüğü gibi bir içeriğe sahip, bir tablo olsun. Bu noktada amaç ülkelere göre para birimlerini oluşturmaksa rapordaki Table kontrolünün içindeki satış rakamını gösterecek olan Textbox’ın öncelikle Format özelliğine : C değeri atanmalıdır. Ancak bu yeterli olmayacak ve koşullu formatlama tam da bu noktada gündeme gelecektir.

 

Aynı Textbox’ın bu kez Language özelliğine aşağıdaki gibi bir expression tanımlanmalıdır. Bu expression Ulke alanındaki değere göre Language özelliğine uygun değeri atayarak istenilen sonucun elde edilmesini sağlar.

 

=Switch(
Fields!Ulke.Value=”TR”,  “tr-TR”,

Fields!Ulke.Value=”KTC”, “tr-TR”,

Fields!Ulke.Value=”UK”,  “en-GB”,

Fields!Ulke.Value=”DE”,  “de-DE”, 

Fields!Ulke.Value=”ABD”, “en-US”
)

 

Satış hedefinin 10000+ olduğu düşünülürse hedefi tutturan ülkelerdeki rakamın yeşil, tutturamayanlarda ise kırmızı gösterilmesi istenebilir. Bu durumda koşullu formatlama ifadesi Color özelliğine atanmalıdır. Burada olasılık sadece iki tane olduğu için IIF fonksiyonu kullanılmıştır.

=IIF(Fields!Satis.Value >= 10000,
“Green”, “Red”)