Herkese merhaba, bu yazım da sizlere diğer yazılarımın devamı niteliğinde IBM Cognos Report Studio ile ilgili özellikleri anlatmaya devam edeceğim.
Bu kısma geçmeden önce diğer yazılarıma göz atmanızı tavsiye ederim.
Report Studio Properties Penceresi’nde Neler Var?
IBM Cognos Margin Nedir?
İki objenin arasını açar.
IBM Cognos Size & Overflow Nedir?
Barların aralıklarını belirler .
IBM Cognos Table Properties Nedir?
Fixed size yapınca, Crostab kolonları eşit boyutta olur.
IBM Cognos Crostab Space Nedir?
Toolbox’ta aradaki boşlukları sağlamak için Crosstab Space vardır.
Crostab’in bir kolonu seçilerek Toolbar’da bulunan simgesi
seçilir. Aynı zamanda In the toolbar, Swap Columns and Rows button da bulunur. (Yani crosstab’te kolonlar satır , satırlar kolon yapılabilir).
IBM Cognos Conditional Styles Nedir?
Bu özellik Cognos’ta sıkça kullanılan önemli özelliklerden biridir. Bu özellik ile alanların koşuluna göre rengini belirleyebiliriz.
Buradan Conditional Styles ‘a tıklanır , ardından New Conditional Style‘a tıklanır,
Örneğin 20000 , 40000 , 60000 ve 80000 değerlerine göre raporda renk belirtmek istersek,
a. 0-20000 : Poor
b. 20001-40000: Below Average
c. 40001-60000: Average
d. 60001-80000: Very Good
e. 80001 and above: Excellent
İşte Sonuç :
IBM Cognos Crosstab Default Measure Nedir?
Örneğin, raporumuza bir Crosstab sürükleyip Bölge ve Kulvar bazında kırıp Default Measure’una da Count Data item’ını seçebiliriz.
IBM Cognos Chart Özellikleri Nelerdir?
Örneğin Chart’ımızın 3 boyutlu bir görüntüsünün olmasını istiyorsak, derinliğine (45) ve Visual Angle (50) dersek 3 boyutlu bir görüntü sağlayabiliriz.
Chart’ımızın hangi görüntüde olacağına Chart Type kısmından karar verebiliriz. (Bar , Line , Area).
Chart’ımızın başlıklarını ve eksenlerini yine properties bölmesinden ayarlayabiliriz.
Eğer değerlerin barların üzerinde gözükmesini istiyorsak :
IBM Cognos Section – Unsection Nedir?
Özelliklerimizi incelemeye devam ettiğimizde, “Section – Unsection” özelliğini görüyoruz. Bu özellik , raporda bir alana göre (Bölge, Kanal) bazında gruplamaya yarar.
Örneğmizde Kanal bazında bir gruplama yaptık .
IBM Cognos Grouping & Sorting Nedir?
List seçilerek properties kısmından Data-> Grouping & Sorting ->
IBM Cognos Crostab Master Detail Relationship Nedir?
Örneğin kanal bazında ya da bölge bazında sayfaya bir filtre koyarsak sayfada bulunan Crosstab’inde bu bazlarda sonuçlar üretmesi gerekeceğinden Cognos otomatik olarak Master Detail Relationship kurar.
IBM Cognos Source Type’ları Nelerdir?
Eklediğimiz bir objenin ağaç yapısını buradan görüntüleyebiliriz.
IBM Cognos For yapısı Nedir?
Örneğin bölge bazında brütprimi kırabiliriz. Yani bu calculation ile her bölge için ayrı ayrı o bölgeye özgü brütprimini hesaplayabiliriz.
Bölge bazında Brütprim hesabı;
total([Brütprim] for [BOLGE])
IBM Cognos Within Set Filter Nedir?
Örneğin burada X = null için toplam Sözleşme Sayısını bulmak istiyoruz :
total([Sözleşme Sayısı] within set filter ([X]; [X]= null)) / [Sözleşme Sayısı] şeklinde bulabiliriz.
IBM Cognos Optinal Prompt Ekranı Nasıl Yapılır?
Eğer Prompt ekranında optinal olmasını istediğiniz objeler varsa,
Örneğin Satış kanalı seçilse de olur seçilmese de olur diyebilmemiz için , Value Prompt -> Properties’inden -> General -> Required NO yapıyoruz ve
psatıskanalını aktif ettiğimiz Ana Querymizde onu yine
Detail Filter’ımızda Propertiesten-> Usage -> Optional yapıyoruz.
IBM Cognos White Space Nedir?
Eğer value prompt’a koyduğun değerler aşağıya doğru çok fazla inerse , görüntü düzenin bozulmaması adına ilgili texti seçip properties ekranında White Space -> NO WRAP yapabiliriz.
IBM Cognos ile Tab Nasıl Eklenir?
Security -> Setproperties ->Search ->Pınar Elmas -> Preferences -> Set Portal Tools -> Yeni bir Tab ekleyebilirsin. (Admin olmak şartıyla.)
1)
2)
3)
4)
Dip not: Cognos’ta her işlem Application Server üzerinde yüklü olan Cognos BI Server’ın IBM Websphere (WAS ) App Server üzerine deployement ve çalıştırılması ile gerçekleşir.
IBM Cognos’ta Rapor No Data nasıl çalıştırılır?
Query Studio da oluşturduğumuz raporumuzu hızlı bir şekilde çalıştırmak istersek (içindeki data ile değilde görünümle ilgili değişikleri hızlıca yapmak için).
deyip çalıştırdığımızda datasız bir şekilde hızlıca çalışacaktır.
IBM Cognos’ta XML PARSE nasıl yapılır?
Cognas’ta analiz yapmak için rapolarda kullanılan alanların (kolon isimlerinin) alınması gerekirse,
Raporumuzu XML olarak çalıştırdığımızda aşağıdaki formata uygun bir şekile çevirmeliyiz.
Aşağıda SQL’den beslenen (
) bir raporun xmlini parse ederek kolon ismine ulaşmaya calışacağız.
İlk olarak raporumuza KatılımcıAdSoyad diye bir dataitem ekliyoruz
Daha sonra Tools-> Copy Report to Clipboard
Diyip pl-sql developer’ımıza çıkan XML kodumuzu yapıştırıyoruz.Bu alanı aşağıdaki şablona uygun olacak şekilde dizayn ediyoruz.
DECLARE x XMLType := XMLType( ' SELECT Table__90." KatılımcıAdSoyad " FROM ( SELECT P1.SIRKET as " KatılımcıAdSoyad ", [SQL1].[ KatılımcıAdSoyad] ) '); BEGIN FOR r IN ( SELECT ExtractValue(Value(p),'/dataItem/expression/text()') as name FROM TABLE(XMLSequence(Extract(x,'//query/selection/dataItem'))) p ) LOOP dbms_output.put_line (r.name); END LOOP; END;
Şekline dönüştürmeliyiz. Rapor sql’den de beslense, içerisinde bir calculation da kullanılsa, yine raporda kullanılan alanları bize döndürecektir.
Sonuç :
IBM Cognos Token Prompt Nedir?
Cognos toolboxtan sayfaya bir value prompt ekliyoruz.
Value prompt’un Static Choices’ına Token için kullanacağımız ve tetiklendiğinde değişmesini istediğimiz alanlarımızı koyuyoruz.
Burada queryde kullandığımız itemın source’una kadar inmeyi unutmayalım.
Query calculationımızın içine Token’ımızı formatına uygun şekilde düzenliyoruz.
#prompt (‘pparametreadi’ , ‘token’ , ‘default gelmesini istediğin ’ ) #
Biz Data item expressionımızda query’deki “URUNADI” alanımızın default olarak gelmesini istiyoruz
Burada value prompttaki seçimimize göre ürünadı ya da satış kanalını getirebiliyoruz.
IBM Cognos Burst Nedir?
Örneğimizde Acente’leri Email Adresleri bazında kırdık. Yani A acentesi ile ilgili bilgiler A acentesinin mailinde bulunan kişilere B acentesi ile ilgili bilgiler B acentesinin mailinde bulunan kişilere gidecektir.
PL/SQL – PIVOT / UNPIVOT TABLE
Bu konuyu bir örnek üzerinde incelemek için bir tablo yaratalım,
create table Deneme_Pinar (ogrenci_id varchar2(10) , ogrenci_adi varchar2(100) , vize_notu number ); INSERT INTO Deneme_Pinar VALUES ('1', 'Pınar', 30); INSERT INTO Deneme_Pinar VALUES ('1', 'Pınar', 40); INSERT INTO Deneme_Pinar VALUES ('2', 'Caner', 100); INSERT INTO Deneme_Pinar VALUES ('2', 'Caner', 90); INSERT INTO Deneme_Pinar VALUES ('3', 'Rahile', 50); INSERT INTO Deneme_Pinar VALUES ('3', 'Rahile', 65); INSERT INTO Deneme_Pinar VALUES ('4', 'Bahar', 60); INSERT INTO Deneme_Pinar VALUES ('4', 'Bahar', 70);
select * from ( select ogrenci_id , ogrenci_adi , vize_notu from deneme_pinar ) PIVOT (sum (vize_notu) for (ogrenci_adi) IN ('Pınar' as Pınar , 'Caner' as Caner , 'Rahile' as Rahile , 'Bahar' as Bahar ) ) Order By 1 ;
Sonuç :
Unpivot
PIVOT yapılmış tabloyu, sorguyu satır bazına indirir.
CREATE OR REPLACE VIEW deneme_pivot AS SELECT * FROM (select ogrenci_id , ogrenci_adi , vize_notu from deneme_pinar ) PIVOT (sum (vize_notu) for (ogrenci_adi) IN ('Pınar' as Pınar , 'Caner' as Caner , 'Rahile' as Rahile , 'Bahar' as Bahar ) )
SELECT * FROM deneme_pivot UNPIVOT INCLUDE NULLS (vize_notu FOR ogrenci_adi IN (Pınar AS 'Pınar' , Caner as 'Caner' , Rahile as 'Rahile' , Bahar as 'Bahar' ) ) ORDER BY 1,2,3;
Sonuç :
IBM Cognos Transformer Nedir?
Data’yı analiz etmek (Parent – Child ilişkisini belirlemek) için bir Küp yapısı kullanılır. Freamwork gibi bir yapısı olan Transformer’da hem relational hem dimensional alanları içinde barındırır.
Datanın büyüklüğüne göre hızlı cevap vermesi sebebiyle Transformer (küp yapısı) kullanılır. FM’den farkı ikisinde de kullandığın her bir obje için arkada bir select çeker ancak Transformer oluşturduğu bu tabloyu cache’de tutar ve hızlı response ve analizi sağlar.
(MDX : Bunu kullandığı kendine özgü MDX dili ile sağlar) . Tabi ki kübün de bir limiti vardır. Bunun ilerisi Veri Madenciliği konusuna girer.
QueryStudio: Relational ve Dimeansinol bir yapıya sahiptir.
Report Studio: Relational ve Dimeansinol
Analysis Studio: Sadece Dimensinol (Parent – Child ilişkisinin olması gerekiyor).
Dip not:
Malum konu Big Data olunca kullanıdığımız data miktarı da artmaktadır. Data miktarı artınca sorunlarda artıyor 🙂
Şimdi ise sizlere Cognos’ta karşılaştığım bir sorun ve bunun çözümü ile ilgili bir ayrıntıyı paylaşacağım.
Excel’e gelen 1000 satırdan fazla kolonları Cognos’ta Text Prompt kullanarak almaya çalıştığımızda hata verir. Çünkü Cognos bu işlemi yaparken in (a,b,c,d) şeklinde alır. Bu yüzden de 1000 satırdan fazla olan bir alanı Cognos’a bu şekilde direkt alamıyoruz. Bunun için, biz de pl/sql developer’da bir kolonlu bir tablo yaratıp içerisine exceldeki alanımızı aşağıda ki şekilde alıp, sql kodumuzu ise bu yeni oluşturduğumuz tablo ile join’ledik.
select * from table_adı for update
diyip kilidi açtığımızda () içine excelden aldığımız kolonu bir kolon boş bırakarak yapıştırıp Commit edersek exceldeki kolonu direkt alabiliriz.
Excelde Vlookup ve Pivot alma özellikleri
İşimiz big datalarla olunca o dataları bir şekilde düzenlememiz gerekiyor. Dataların içinde kaybolmamak için size excelin iki önemli özelliğinden bahsedeceğim.
Birincisi VLookUp : Diğer adı ile düşeyara fonksiyonudur.
Burada soru işareti olan yere excel fonksiyonumuzu yazıyoruz.
=VLOOKUP (Karşılılığı bulunacak kolon (C); Aranacak Tablo (A-B) ; Aranacak Tablo Indexi (2.kolon) , Default Değer (true/false) )
Pivot tablo raporu, verileri formül girmek zorunda kalmadan farklı şekillerde yorumlamanıza olanak tanıyan dinamik bir tablodur. Pivot veri noktaları arasındaki ilişkileri analiz etmek istediğinizde işe yarar.
İsimler için Report Filter :
Meslekler için Row Labels yaparsak :
Umarım herkes için yararlı olmuştur, herkese Big Data’lı günler 🙂