Makale Özeti

Raporların parametrik olması işlerimizi fazlasıyla kolaylaştıracaktır. Raporlarımıza parametreleri nasıl ekleyeceğimizi inceleyelim.

Makale

REPORTING SERVICES –Raporlarda Parametre Kullanımı 1

    Raporlarımızı wizard aracılığıyla ve de designerdan nasıl üretebileceğimizi daha önceki makalelerde incelediniz. Bu makalede ise raporlarımıza nasıl parametre ekleyebileceğimizi inceliyelim.

    Projelerimizde yaptığımız raporların büyük çoğunluğu parametriktir. Örneğin, Northwind veritabanını gözönüne alarak sorular üretelim.

  • Belirli bir kategorideki ürünler nelerdir? (Beverages kategorisinde hangi ürünler var?)
  • Satış fiyatı 15$ ın üzerinde olan ürünler nelerdir?
  • Stoktaki miktarı 50 adetin altında olan ürünler nelerdir?
  • Exotic Liquids firmasından alınan ürünlerin stok durumu nedir?
  • ve benzeri uzayıp giden bir çok soru.

    Soruların ortak özelliklerine dikkat ederseniz, hep belirli bir grubun -aralığın- istendiğini görürsünüz. Soruları T-SQL sorguları halinde yazıp rapora eklemek elbette oldukça kolay. Ama Beverages kategorisindeki urunlri gosteren raporun parametrik olarak, Condiments'i de göstermesini en doğru çözümdür. Yani benzer durumlar için aynı tablo.

    Parametre gerekliliğinden bahsetikten sonra, rapor parametresini nasıl ekleriz, nasıl kullanırız, bunu inceleyelim. Öncelikle datasetin parameresiz haline bakalım.

    Gördüğünüz gibi, where clauseda categoryID=1 olarak tanımlanmış ve bu rapor yalnızca 1 numaralı kategorilerdeki ürünleri gösterecek. Bu dataseti parametrik yapmak için queryde parametre gerektiren yere SQL Server parametresi yazıyoruz, yani örneği @KategoriID.

    Artık datasetimiz parametrik. Ok'i tıklayıp çıktığınız anda, report parametreniz de oluşmuş olur. Bunu görmek için ana menüden Report > Report Parameters a tıklayın.

    Gördüğünüz gibi, parametreler (örneğimizde yalnız bir tane var), adları, labelları (Promt), tipleri ve default valuları görünüyor. Başlanğıç için yaptığınız tüm parametreleri string tipinde yapmanız ve de querynizi sadece string bir ifade olarak düşünmeniz daha kolay anlaşılır olacaktır.

    Design olarak sadece bir tablo ekliyorum, ve icerisine örnek olması için üç field ekliyorum.

    Design'da parametre ile ilgili herhagi birşey yapmıyorum. Preview'dan raporun ve de parametenin nasil göründügüne bakalım.

    Belirttiğimiz kategoriID'deki ürünleri raporumuzda görebiliriz. Bu sayede 3 numaralı kategory icin yalnızca parametreyi değiştirmek ve "view report" a basmak yeterli.

    Peki, ben databasede olmayan bir kategoriID yazarsam, mesela 100, o zaman ne olacak, ya da, kategoriID yazmaktansa kategori isimlerini bir combobox 'ta görsem ve ordan seçerek işlemlerime devam etsem? Bu sorunun cevabını bir sonraki makalede bulabilirsiniz.

İyi çalışmalar

Kivanc Ozuolmez