8 Nisan 2015 Çarşamba

MSSQL de Reporting Services Kullanımı

Öncelikle SQL Reporting Service Konfigürasyonu ayarlarını yapmanız gerekmekte. Eğer mail vb gibi özel ayar istemiyorsanız sadec servisin çalışır olması yeterlidir. Bunun için ilk önce MSSQL in kurulu olduğu dizine gidin ve Configuration Toolskalsörü altında Reporting Services Configuration Manager ı çalıştırın. (eğer bulamıyorsanız yüklememiş olabilirsiniz. Tekrardan kurmanız gerekmektedir. Kurmanız için gerekli olan dosya buradan indirebilirsiniz).
Connect Tabında: Server Name ve Report Server Instance göstermelisiniz. Sonra Connect diyoruz. Çalıştığından emin olduğunuz gösteriri bir pencere gelir ve “Start” butonu (herşey yolunda ise) pasiftir, değilse Servislerden Reporting servisini kontrol edin.
Service Account Tabında: Burada DATA Reader olarak belirlenmiş olan kullanıcı adı ve şifresini girmelisiniz. Bu kullanıcı Raporlama için yetkili kullanıcı olabilir. Bu şekilde bir Raporlama yetkili kullanıcısı açtırmadıysanız üstteki radio box u seçip “Use built-in Account” seçerek devam edebilirsiniz.
Web Servis URL Tabında: Burada Raporlama Serverına Web konsol üzerinden erişebilmek için yapacağımız konfigürasyonlar yer alır. Advanced ayarlara girersenizde raporlama web arayüzü içinde ek parametreler belirleyebilirsiniz. Alt kısımda gördüğünüz Report Server Web Service URLs  kısmında bulunan URL bizim Web arayüzünden ulaşabileceğimiz URL’ dir. Port gibi özel erişimli ayarlar yapmayacaksınız çok takılmadan geçebilirsiniz.
Database Tabında: Burada iki farklı bilgi ekranı bulunmaktadır. Birincisi Current Report Server Database (Geçerli olan database) şuanki mevcut database’ imizi bize göstermektedir. Change Database diyerek değiştirme şansına sahibiz. İkincisi Current Report Server Database Credential bu kısımda şuanda raporlama servisini kullanmaya yetkili olan account’ umuzun bilgilerini bize göstermektedir. Burada takılmanıza gerek yok.
Report Manager URL Tabında:  iki kısımdan oluşmaktadır. Virtual Directory ve URLs kısmıdır. Virtual Directory (Sanal Rehber) olarak bilinir ve Web arayüzünden erişmek için belirlediğimiz bir parametredir. Alt kısımda gördüğünüz üzere web arayüzünden erişim URL’ si verilmiştir. Ve Advanced butonuna basarak başka URL’ ler ve parametreler oluştura biliriz. Ben default olarak bıraktım, sizin de fazla takılmanıza gerek.
E-mail Settings Tabında: Burada SMTP Settings bulunmaktadır. Hazırladığınız raporun belirli aralıklarla belirlediğiniz mail adresinden ve sunucusundan belirlenen sürede mail olarak gelmesi sağlayabilirsiniz. Eğer link üzerinden raporlara ulaşıp sonra istediğim dosyaya (excel,PDF …vb) kendim kayıt edeceğim diyorsanız hiç ayarlarla zaman kaybetmeyin ve ilerlemeye devam edin.
Execution Account Tabında: Rapor Sunucu yürütme hesabıdır. Uzaktan erişimlerde bu reporting service ‘ e erişmekte olan en yetkili kişi account’ ını belirlediğimiz ekrandır.   Erişim yapacak olan kullanıcının yetkilere sahip olması gerekmektedir.
Encryption Keys Tabında: İlk sırada bulunan Backup kısmı acil durumda rapor sunucumuzun kurtarılması için gerekli encryp edilmiş bir key bize sunmaktadır bu anahtar mutlaka elimizde olmalıdır. Çünkü Restore işleminde bize gerekmektedir. Changekısmında yeni bir sürüm yüklenir ise varolan şifreleme anahtarı ile yenisini değiştirir.   Bu pencere bizim için önem arz etmektedir. Onun için Backup butonuna basarak şifreleme anahtarını yedekliyoruz.
Scale-out Deployment Tabında: penceresinde SQL Reporting Server’ ımız ölçeklenmiş dağıtım durmunu bize göstermektedir.
Ayarlarımız bitti… Şİmdi Raporda neleri istiyorsak DataBase den ilgili tabloları göstererek rapor sayfamızı oluşturacağız.
Öncelikle Visual Studio’da “File > New > Project” yolunu izleyerek yeni bir proje başlatıyoruz. Açılan pencereden “Business Intelligence Projects” bölümünden “Report Server Project Wizard” çözümünü seçiyoruz. (Şekil-1)
Şekil 1 – Report Server Project Wizard
İlk adımda bizden raporumuzu çalıştıracağımız veri kaynağı isteniyor. “Type” açılır listesine baktığımızda Reporting Services’ın Microsoft SQL Server dışındaki veri tabanlarında da çalışabildiğini görüyoruz. (Şekil-2)
Bu aşamada “Edit” butonuna basarak veritabanı bağlantı özelliklerini açıyoruz. Erişim bilgilerini girdikten sonra “Test Connection” ile bilgilerin doğruluğunu kontrol ettikten sonra “Connection String” hazırlamış oluyoruz.
Şekil 2 – Veri Kaynağı
Sıra geldi SQL sorgumuzu oluşturmaya. Raporun tutarlılığı şüphesiz sorgumuzun doğruluğuna bağlıdır. Biz belirli filtrelere göre müşteri bilgilerini getirmek istiyoruz. Bunun için “AdventureWorks” üzerinde tanımlı olan “Sales.vIndividualCustomer” görünümünü kullanacağız. (Şekil-3)
Sorguyu hazırlamak için doğrudan SQL cümleciğini yazabileceğimiz gibi “Query Builder” penceresini kullanarak daha hızlı ve güvenli olarak sorgumuzu oluşturabiliriz.
Şekil 3 – SQL Sorgusu

Bir sonraki adımdan raporumuzun klasik tablo biçiminde mi yoksa matrissel formda mı gösterileceğini seçiyoruz. Klasik liste biçimindeki tablolar için “Tabular”, satır ve sütun bazlı gruplamalar için “Matrix” seçeneğini işaretliyoruz. Seçenekler arasında değişiklik yaptığınızda ön izlemenin anında değiştiğini göreceksiniz. (Şekil-4)
Şekil 4 – Rapor tipi
Şimdi veritabanımızdan gelen verilerin tabloda nasıl yerleştirileceğini belirleyeceğiz. Biz sorgumuzda veritabanından müşterilere ait ad, soyad, telefon, email, adres, şehir, eyalet, ülke bilgilerini istedik. Raporumuzda bu bilgileri ülkeye ve eyalete göre gruplamak istediğimizi düşünelim. Bu durumda ülke ve eyalet sütunlarını “Group”, diğer sütunları “Details” bölümüne atıyoruz. Eğer raporu belirli sütunlara göre sayfalara ayırmak isteseydik ilgili sütunları “Page” bölümlerine taşıyacaktık. (Şekil-5)
Şekil 5 – Rapor bölümleri
Tablodaki grupların tıklamayla açılır (enable drilldown) olup olmamasını ve tabloda sütun toplamlarının (include subtotals) bulunup bulunmamasını bu adımda belirtiyoruz. “Stepped” ve “Block” seçenekleri ise tamamen görsel özelliklerle ilgilidir. Bu seçenekleri değiştirerek tablonun aldığı görüntüyü önizleme yapabilirsiniz. (Şekil-6)
Şekil 6 – Rapor düzeni
              Sonraki adımda tablomuz için listelenen 6 temadan birini seçiyoruz. Yalnızca bu görünümlerle sınırlı değilsiniz. Rapor sihirbazı tamamlandıktan sonra “Layout” bölümünde görünüm özelliklerini dilediğiniz gibi belirleyebilirsiniz. (Şekil-7)
Şekil 7 – Tablo stili
Son adım raporun hangi rapor sunucusunda ve hangi klasörde “deploy” edileceğini belirtmemizi istiyor. Raporumuzu yayınlarken de bu bilgileri kullanacağımız için boşlukları doldururken dikkatli olmalıyız.
Şekil 8 – “Deploy” bilgileri
Raporumuz hazır. “Preview” sekmesine geçerek raporumuzu hemen görüntüleyebiliriz. (Şekil-9)
Şekil 9 – Önizleme
Reporting Services Arayüzü
Bir Reporting Services çözümünün arayüzü diğer Visual Studio çözümlerinden neredeyse farksızdır. (Şekil-10)
Şekil 10 – Reporting Services Arayüzü
Sol kısımdaki “Dataset” bölümünde sorgumuz sonucunda dönen sütunlar yer almaktadır. Bunları raporumuza sürükleyip bırakabiliriz. Sürüklediğimiz hücredeki değerleri düzenlemek için sağ tuş menüsünden “Expressions” penceresine ulaşabilirsiniz.

Expressions
               Expressions penceresinde yer alan pek çok hazır fonksiyonu ve operatörü kullanarak raporunuzu dilediğiniz kadar özelleştirebilirsiniz. Örneğin “FIX(AVG(Fields!alan.Value))” gibi bir formülle belirlenen hücrenin ortalamasını alıp sonucun  yuvarlatılmasını sağlayabilirsiniz. (Şekil-11)
Şekil 11 – Expression
                  Sütunun değerinin yanına statik bir metin eklemek için “”Sonuç: “+Cstr(Fields!alan.Value)” ya da sorgu sonucundaki ilk kaydı getirmek için “=First(Fields!TARIH.Value)” ifadesini kullanabilirsiniz. Burada kullanabileceğiniz tüm formüller ve operatörler alt kısımda listelenmiş halde yer almaktadır.
 “Dataset” yerine açılabilecek “Toolbox” bölümünde ise rapor tasarımda kullanabileceğimiz kontroller yer almaktadır. Görüldüğü gibi rapor tasarımı için yalnızca 9 kontrol yeterli olmaktadır. Rapor tasarımında genellikle “Textbox”, “Table”, “Matrix” ve “Chart” kontrolleri kullanılmaktadır.
Report Designer aracı üç ana kısımdan oluşmaktadır: “Data”, “Layout”, “Preview”. “Data” bölümünde veri kaynağını ve sorguyu tanımlıyoruz. “Layout” bölümünde form tasarımını yapıyoruz ve “Preview” da ise raporu görüntülüyoruz.

Grafikler
Tablolar halindeki raporlarımızı grafikler ile de destekleyebiliriz. Bunun için araç kutusundan “Chart” kontrolünü raporumuza sürükleyerek işe başlıyoruz. Excel’de grafikleri kullananlara kontrol hemen tanıdık gelecektir. (Şekil-12)
Şekil 12 – Grafikler

               Reporting Services’da bir grafik 3 ana kısımdan oluşur: “category fields”, “series fields” ve “data fields”. Kategori alanlarında “x” ekseninin alacağı değerleri, veri alanlarında ise “y” ekseninin alacağı değerleri belirliyoruz. Seri alanları ise grafikteki öğelerin isimlendirilmesinde kullanılıyor.

Raporun Yayınlanması
             Raporu oluşturduktan sonra sıra geldi yayınlamaya. SQL Server Reporting Services iki temel araçtan oluşur: “Report Server” ve “Report Manager”. Raporların çalışmasını “Report Server” servisi sağlar. Yönetim işlemlerini ise “Report Manager” servisinden yaparız.
            Öncelikle “Report  Manager” üzerinde raporumuz için bir klasör oluşturalım. http://localhost/Reports adresine girdikten sonra “New Folder” bağlantısına tıklayarak “Byte” isminde bir klasör açtık. (Şekil-13)
Şekil 13 – Rapor Servisi
          Şimdi sıra “deploy” işlemine geldi. Visual Studio’da “Solution Explorer” bölümünde rapora sağ tıklayıp “Deploy” diyoruz. Bunun sonucunda “Output” bölümünde “deploy” işleminin sonucu veriliyor. (Şekil-14)
Şekil 14 – Rapor Servisi

İşlem başarıyla tamamlandı. Şimdi http://localhost/Reports adresinden “Byte” klasörüne giriyoruz. Raporun ismine tıkladığımızda görüntü aşağıdaki gibi olacaktır. (Şekil-15)
Şekil 15 – Raporumuzun son hali

Şekil 15 – Raporumuzun son hali
Bu sayfada “Export” butonuna tıklayarak raporu excel, pdf, html, xml, tiff ve csv formatlarına çevirebilirsiniz. 

Umarım yararlı olmuştur.

Hiç yorum yok:

Yorum Gönder

Yapacağınız yorumlar bizim için değerlidir. (Lütfen yorum bırakın)