IBM Cognos ta Kolon Gizleme / Dinamik Rapor Oluşturma

Merhabalar,

Bu yazımızda bir projemizde talep edilen ve sizlerin de karşılaşabileceği dinamik rapor isteğini paylaşmak istedik. Bize gelen talep; içerisinde birçok kolonun yer aldığı liste raporunda, raporu çalıştıracak kişinin, hangi kolonların gözükeceğini kendi tercih edebileceği ve istemediklerinin de arka planda çalışmamasını sağlayacak bir rapor hazırlamamızdı.

Bunun için istenmeyen kolonları gizleyecekleri ve aynı zamanda kolonları seçebilecekleri dinamik rapor yapısını hazırladık.

Öncelikli olarak raporda olacak kolonları sürükleyelim.

Resim-1

Daha sonrasında raporda gözükmesini isteyeceğimiz kolonları seçebileceğimiz prompt u oluşturmalıyız. Bunun için ‘value prompt’ kullanıyoruz. Biz prompt parametresi olarak p_hide1 belirledik. Parametreyi verdikten sonra direk Finish diyebiliriz. Bu parametre için diğer promtlarda yapıldığı gibi bir Query oluşturmamıza ya da etki edeceği kolonu seçmemize gerek yok. Kolonlarımızla ilişkisini variable kısımında yapacağız.

Resim-2

Seçim kriterin de birden fazla kolon seçebilmesi için properties den Multi-Select ayarını ‘Yes’ seçiyoruz. Select UI ayarında ise tercihe bağlı değişiklikler yapabiliriz. Biz Check Box kullandık.

Resim-9

Oluşturduğumuz prompt’ un Properties ayarlarından Static Choices seçeneğine gelerek, seçim yapılacak kolonların parametrik değerlerini tanımlayalım.

Bizim örneğimizde, çalıştıracak olan kişiye seçtireceğimiz ‘Product’ ve ’Product Line’ kolonları olduğu için sadece onları tanımladık. Buraya seçim kriterine konulacak tüm kolonların parametrelerinin girilmesi gerekir.

Resim-3

Değerlerimizin variable larını oluşturmak için Condition Explorer’a gelerek ‘Variables’ ı seçiyoruz.

Resim-4

İlk kolonumuz ‘Product’ için  Toolbox bölümünden ‘Boolean Variable’  ı seçerek variable ın içerisine girebiliriz. Bu seçimi yapmamızın nedeni; Boolean Variable ın otomatik olarak bize iki {YES, NO} değer sunması. Bu iki değeri, kolonu raporda {kullan, kullanma} olarak düşünebiliriz.

Resim-5

Variable ın Report Expretion kısmına geldiğimizde yazmamız gereken komut;

        ParamValue(p_hide1) like ‘%Product%’

Prompt’ un çalışma mantığı; seçilen kolonun parametrelerini virgül işaretini kullanarak yan yana yazacak şekildedir. Örn: (Product,Product_Line) Bunun için seçilen kolonun raporda gözükebilmesi için komut olarak like ifadesini kullanıyoruz.

Resim-6

 

Prompt’a verilen parametreyi görebilmek için Parameters’a geldiğimizde çıkan parametreyi sürüklediğimiz zaman otomatik olarak ‘ParamDisplayValue(p_hide1)’ ifadesi gelecektir. Kolonun Use parametresini kullandığımız için ‘Display’ yazısını silmemiz gerekecek.

Burada dikkat edilmesi gereken, Static Choices kısımında Use bölümüne hangi parametreyi tanımladıysak buraya da aynı ifadeyi yazmamız.

Komutu da yazdıktan sonra tamam dememiz yeterli, variable ımız eklenmiş olacaktır. Sol taraftaki Variable bölümünden ismini değiştirebiliriz.

Resim-7

Aynı işlemi diğer kolonumuz içinde yapıyoruz.

Resim-8

Prompt un ‘Auto Submit’ ayarı eğer ‘Yes’ ise, rapor çalıştırıldığında bizden seçim yapmamızı isteyecektir. Fakat biz rapor geldikten sonra seçim yapmak istiyorsak Reprompt özelliğini kullanabiliriz.

Resim-10

Raporun dinamikliğini yani seçim kriterinde seçtiği kolonun gözükeceği ayarı yapmak için, sırasıyla aşağıdaki adımları takip ediyoruz.

Resim-12

Resim-13

Resim-14

Raporu çalıştırdığımızda prompt a yaptığımız seçimlere göre kolonların geldiğini görebiliriz.

Resim-11

Resim-15

Prompt u, rapor sayfasında kullandığımız zaman, seçmediğimiz kolonun sadece gözükmemesini sağlamış oluruz. Ama bizim amacımız aynı zamanda seçmediğimiz kolonun arka tarafta da rapora katılmamasıydı. Bunun içinde prompt u rapor sayfasında değil de ayrı bir prompt sayfasında yaptık.

Page Explorer kısımından ‘Prompt Pages’ a gelerek yeni bir sayfa ekliyoruz.

Resim-17

Resim-18

Sonrasında üst taraftaki ile aynı şekilde value prompt ekleyerek, properties kısmından ayarlarının aşağıdaki şekilde olduğundan emin olalım.

Resim-19

Seçmediğimiz kolonun arka planda da dahil olmaması için, seçim kriterine ekleyeceğimiz kolonların içerine gidip aşağıdaki komutu yazmamız gerekecektir.

—————————————————————————————–

          case when #sq(promptmany(‘p_hide1’))# like ‘Product_Line

          then  [Sales (query)].[Products].[Product line]

           else null end

——————————————————————————————

Resim-20

Raporu çalıştırarak, seçim kriterinde seçtiğimiz kolonlara göre gelen datayı görebiliriz.

Resim-21

Resim-22

24

Resim-23

 

Umarım sizler için yararlı olmuştur.

Kolay Gelsin.

About Elif Bilgiç

DWH / BI Consultant
Bu yazı IBM COGNOS, IBM Cognos Framework Manager, Raporlama, İş Zekası içinde yayınlandı ve , , , , , , , , , , , olarak etiketlendi. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s