Kurumsal şirketlerde çalışan ya da finans departmanları ile çalışan yazılımcıların en sık yaptığı işlemlerden biri satış bilgilerini gösterecek rapor uygulamaları hazırlamak oluyor. Bu işlemleri ister bir web uygulaması hazırlayarak ister bir son kullanıcı bazlı masaüstü uygulama ister de excel üzerinde yayınlıyor olalım arka planda her zaman SQL Server içerisinde gelecek bir veri topluluğu oluyor. Bu durumda t-sql yardımı ile bir takım SQL cümlecikleri yazarak raporlama isteklerimizi karşılamaya çalıştık ve çalışmaya da devam edeceğiz. Bu işlemler için hazırlanan SQL cümlecikleri ile view, store procedure ya da düzenli olarak güncellenecek olan bir tablo hazırlanır ve veri gösterilecek ekranların bu yapılar üzerinde beslenmesine olanak tanınır. Günümüzde aktif olarak bilgi işlem departmanları olan şirketleri göz önüne alırsakta eğer ki ellerinde Sharepoint Services ya da MS CRM ve bunun gibi bir teknolojisi olmayan bir şirket ise düzenli olarak raporlarını odbc bağlantısı ile excel üzerinde göstermeye çalışırlar ki, kısa ve orta vadede istekleri karşılamakla birlikte bir süre sonra uygulama yetkinlikleri açısından eksikler yaşanmaya başlanıyor. Ne gibi aklınıza bir soru gelebilir ya da açıkladıktan sonra aa evet bizde böyle bir sorun ile karşılaştık diyebilirsiniz ki bu normal bir durumdur. Özellikle excel dosyalarında verileri gösteren kişilerin en temel anlamda yaşadığı iki sorun vardır. Birincisi satır ve sütun sayısı yetmeyebilir. İkincisi ise dosyalarının maksimum boyutları vardır ve biz bu boyutları aşıyoruzdur. Başlıca aklımıza gelen sorunlar bu şekildedir. Tabi sadece sorun değil basit yönleri de vardır. Özellikle excel içerisine alınmış olan veriler pivot tablolar ve bunun alt özellikleri yardımı ile oldukça esnek bir şekilde raporlarda hazırlanabilinmektedir. Herşey güzel verileri aldık, işledik, hesapladık ve son kullanıcıya farklı seçenekler ile sunduk. Ama bu işlemleri yaparken aklımızdan bir uygulama kaçıverdi ki bu Reporting Services 'in ta kendisidir. Özellikle SQL Server ile uygulama geliştiricilerine aklını yıllar yılı bu yaptığımız işlemleri daha kolay bir yol ile yapabileceğimiz bir işlem yok mudur acaba şeklinde sorular takıldı. Sonrasında ise Microsoft geliştiricileri Microsoft SQL Server Reporting Services SSRS uygulamasını oluşturarak bizi bir çok işlemi kolayca yapabilmemize olanak tanır duruma getirmişlerdir. SQL Server 2000 uygulamalarına Add-on olarak eklenen Reporting Services, SQL Server 2005 ile birlikte SQL Server paketlerinin içerisine entegre olarak gelmekte ve bizlerin kullanımına sunulmaktadır.
Açıklamalardan da anlaşılacağı gibi bu yazımızda en temel anlamda bir rapor nasıl hazırlanır. Web sunucusu üzerinde bu raporu nasıl görüntüleyebiliriz gibi temel kavramlarını ele alarak SSRS 'e giriş yapacağız.
Repoting Services ile uygulama geliştirirken SQL Server ve t-sql 'ün gücünün yanı sıra geliştirme ortamında yer alan bileşenleri ile de başarılı bir yapıdır. Bunları kullanım sırasına göre sıralarsak birincisi sırada Reporting Services programlama kabiliyetleri yer alacaktır. Devamında ise sırası ile, dahili URL, SOAL ve WMI arayüzü yer almaktadır.
Reporting Services 'in mimari yapısını basit olarak diyagram üzerinde göstermek gerekirse karşımıza aşağıdaki gibi sonuç çıkacaktır.
Peki bu diyagramdan yararlanarak neler yapılabileceğinden kısaca bahsetmek gerekirse,
• Reporting Services ile hazırlanacak uygulamalara tek ya da farklı veri tabanları üzerinden veri kaynağı gösterilebilir.
• Reporting Services ile web arayüzü olan uygulamalar tasarlanıp bir yönetici paneli üzerinden gerekli işlemler yapılabilir.
• Reporting Services ile geliştirici araçları kullanılarak çok daha karmaşık raporların hazırlanabilmesi mümkündür.
• Reporting Services ile son kullanıcıların rahatlıkla çalışabilecekleri çok basit raporlamalar hazırlanabilir.
• Reporting Services ile raporlama sunucusu yardımı ile ister lokal bir bilgisayar isterde bir web sunucusu üzerinde yer alan bir bilgisayar üzerinden farklı veri kaynaklarından yararlanarak raporlar hazırlanabilir.
Bu gerekli bilgileri edindikten sonra artık yavaş yavaş SSRS uygulamalarını nasıl geliştirebileceğimize göz atmaya başlayabiliriz.
SSRS için geliştirme yapabilmek için ilk olarak adından da anlaşılacağı gibi Reporting Services uygulamasının bilgisayarınızca kurulu olması gerekmektedir. Bu uygulama SQL Server 2005-2008 paketlerinde kurulum esnasında opsiyon olarak gelmektedir. Kurulumdan sonra eğer ki Reporting Services ayarlarını düzenlemek isterseniz başlat menüsünden SQL Server 2008 (2005 te olabilir.)/ConfigurationTools/ReportingServicesConfigurationManager uygulamasından yararlanılır. İlk olarak çıkan ekranda Server ile ilgili bilgileri bizden istemekte, sonraısnda ise düzenleme ekranı karşımızdadır.
Karşımıza çıkan bu sayfa üzerinde hangi veritabanları ile çalışılabileceğini, web sunucunda hangi yol ile çalışılabileceğini, şifreleme kullanılabileceği ve diğer bir çok konuda ayar yapılabilmektedir.
Tabikii biz biraz daha işin yazılım geliştirme tarafında yer alıyoruz. Öyleyse bir geliştirme ortamına ve proje şablonuna ihtiyaç duyulmaktadır. Bu da bizlerin alışık olduğu Visual Studio ortamıdır. Tabii bu proje şablonun gelebilmesi için Sql Server kurulurken aynı isimli klasörün içerisinde yer alan SQL Server Business Intelligence Development Studio ortamınında kurulu olması proje şablonunun yer almasını sağlayacaktır.
Biz bu örneğimizi Visual Studio 2008 ortamı üzerinde yapıyor olacağız. Geliştirme ortamını açtıktan sonra yeni bir proje oluştur diyor ve karşımıza çıkan ekranda Business Intelligence seçeneğinden Report Server Project Wizard 'ı seçiyoruz. Bu seçenek yardımı ile adım adım rapor oluşturabileceğiz.
Not: İlerleyen zaman içerisinde diğer Report Server proje şablonlarınıda inceliyor olacağız.
Proje oluşturulduktan sonra adım adım projeyi oluşturma işlemine başlıyoruz. Veri sunucusunu seçilmesi istenen ekranda gerekli işlemin yapılabilmesi için edit seçeneğini tıkladıktan sonra sunucu adını, veri tabanı adını ve diğer istenen bilgileri girdikten sonra gerekli bilgiler ekrana eklenmiş olacaktır.
Bir sonraki ekranda veri tabanı tablolarında alınacak olan verilerin gösterilmesi için gerekli SQL cümlelerinin hazırlanması olacaktır. İsterseniz karşınızca çıkan ekrandan yararlanarak sorgularınızı yazabilmekle birlikte istersenizde QueryDesigner yardımı ile de kullanabilmeniz mümkündür.
Açılan ekran üzerinde yeni tablo ekle seçeneğini tıkladıktan sonra tabloyu seçiyor ve istediğimiz kolonların gözükmesine olanak tanıyoruz. Bir sonraki adımda tablonun nasıl bir tasarımda olacağı seçilir.
Bir sonraki adımda ise verilerin nasıl kullanılacağı gibi seçenekler yer almaktadır. Hangi veriler için sayfalama yapılacağı, neye göre gruplanacağı ve hangi verilerin detay kısmında yer alacağına ilişkin veriler yer almaktadır.
Verilerin ekranda hangi tablo yapısı ile görüntüleneceğini ve nerede yer alacağını belirledikten sonra en son adıma geçiyoruz.
Bu seçenekte verilerin alt toplamlarının olacak mı, nasıl bir stil ile olsun gibi seçenekleri belirterek devam edebiliriz. Karşımıza gelen en son ekranda raporun ismini belirliyoruz. Sonrsaında istersen işlemlerimizin sonucunda nasıl bir sonuca ulaşacağımızı görmek için ön görüntüleme seçeneğini seçerek sihirbaz yardımı ile ilk raporlama uygulamamızı hazırlamış oluyoruz.
Hazırlamış olduğumuz raporun ekran görüntüsü en temel anlamda yukarıda gördüğümüz gibi olacaktır. Uygulamayı çalıştırdığımız da ise yukarıda dizayn kısmında görmüş olduğumuz görüntü raporlama ekranında yer alacaktır. Bizler için asıl önemli olan bir web sayfası üzerinde nasıl görüntüleyecebileceğimizdir.
SSRS sistemimize kurulduğunda yerel sunucu içerisinde yer alan bir web sistemi yer almaktadır. Bu web sayfası yardımıyla Deploy edilmiş olan raporlama uygulamalarını görüntüleyebiliyoruz. Eğer ki bilgisayarınızda IIS aktif ise http://localhost/report sayfası yardımı ile bu ekranı görüntüleyebilirsiniz.
Şimdi hazırlamış olduğunuz rapor uygulamasını deploy ederek bu sayfa üzerinde görüntülenmesini sağlıyor ve sonrasında da web sayfasını açıyoruz.
Bu ekran yardımı ile hazırlanmış olan raporların görüntülenebilmesi mümkündür.
Bu yazımızda SSRS (SQL Server Reporting Services) ile rapor hazırlamak istediğimizde en temel anlamda neler yapmamız gerektiğini değinmeye çalıştık. Özellikle bir raporlama tool arayışı içinde olanlar ya da hazırlayanlar için kesinlikle incelenmesi gerekmektedir.
Herkese iyi çalışmalar diliyorum.
Umarım yararlı olabilmiştir.
Turhal Temizer
[email protected]
http://turhal.blogspot.com