Önceki yazılarımızda iş zekâsının günümüzdeki öneminden bahsetmiş ve bu tür uygulamaların farklı platformlar kullanılarak gittikçe yaygınlaştığını dile getirmiştik. Daha sonra da bu tür uygulamaları geliştirebilmek için dikkat edilmesi gereken önemli noktalardan bahsetmiş ve son olarak da farklı bir altyapı ile yeni nesil bir iş zekâsı platformu olan Qlikview’in özelliklerini paylaşmıştık. Bu yazımızda artık Qlikview platformuyla tanışarak küçük bir uygulama gerçekleştireceğiz.
Qlikview de profesyonel olarak uygulama geliştirmek için lisanslı ürünü temin etmeli ve tüm özelliklerinin kullanılabildiği versiyonu kullanmalıyız. Ancak sistemi genel hatlarıyla tanımak ve örnek raporlar hazırlayabilmek için “Qlikview Personel Edition” versiyonunu hazırlamış. Bu versiyonu http://www.qlikview.com/ adresinden “downloads” bölümü altından indirip kurabilirsiniz. Kurulum tamamlandıktan sonra uygulamayı çalıştırdığınızda karşınıza başlangıç sayfası gelecek. Bu sayfada son yapılan uygulamalar, Qlikview versiyonu ile ilgili bilgiler mevcut.
Bir rapor uygulamasına başlamak için menüden New seçeneği ile yeni bir Qlikview sayfası yaratılır. Ekrana gelen bu boş sayfa raporun görsel kısmının tasarlanacağı alandır. Raporun kullanacağı veriyi oluşturmak ve/veya veri kaynaklarından veriyi ilgili verileri almak için menüden “Edit Script” seçilmelidir. Açılan script ekranında aşağıda görüldüğü gibi varsayılan tanımlamalar yapılmıştır. Dikkat ettiyseniz değişkenlere yapılan atamalar “SET” anahtar kelimesiyle yapılıyor.
Qlikview bir çok farklı tipte kaynağına uygulama üzerinden erişmeye imkan veriyor. Ekranda görüleceği gibi veritabanlarına, bir dosya (text,excel vs) üzerinde verilere, internet üzerindeki verilere veya kendi oluşturacağı farklı raporlardaki verilere ulaşmak mümkün. Ancak biz örnek raporumuzda SQL Server üzerindeki bir veriyi alarak devam edeceğiz. Bunu yapabilmek için ekrandaki “Connect” butonu ile OLEDB kaynakları içinden “Microsoft OLEDB Provider for SQL Server” seçmeliyiz. Bu seçimle birlikte karşımıza klasik SQL Server bağlantı penceresi gelecek. Pencereden hangi server’a bağlantı yapacağımızı, kullanıcı adı, şifresi ve kullanacağımız veritabanı bilgilerini girerek bağlantı seçimlerini tamamlayacağız. Bu işlem sonrasında script editörümüze bağlantı bilgileriyle ilgili aşağıdaki gibi başlayan ve devam eden bir script otomatik olarak eklenecektir.
CONNECT TO [Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa . . . . . .
Raporda kullanacağımız veri kaynağına bağlantı sağladıktan sonra yapacağımız ikinci adım bu veri kaynağında bulunan hangi verilerle işlem yapacağımızı seçmektir. Bunu da yine editör ekranında bulunan “Select” butonu yardımıyla yapacağız. Butona bastığımızda karşımıza ilk önce tekrar bağlantı bilgileri ekranı gelir ve burayı standart şeklinde tamamladığımızda bir sonraki adım olan veri seçimi ekranı açılır. Açılan ekranda aşağıda görüldüğü gibi müşteri tablosundan bazı alanlar seçilmiştir. Bu seçimin Qlikview de saklanması için otomatik olarak oluşturulan script de yine ekranın alt kısmında görüntülenmektedir.
Yapılan seçim tamamlandıktan sonra ekranda görüntülenen script olduğu gibi script editöre aktarılır. Yaptığımız bu işlem rapor dosyamıza veri kaynağında bulunan müşteri tablosundan kayıtları çekecek ve kendi içinde saklayacaktır. Qlikview’i diğer platformlardan ayıran özelliklerinden biri olarak bellek içi veritabanından bahsetmiştik. İşte bu özellik burada devreye giriyor. Bir kere raporu oluşturup kaydettikten sonra bir daha bu veri kaynağına ulaşma gereği duymayacaktır. Bu aşamada script editörü menüsünde “Reload” butonuna tıkladığımızda editörde bulunan tüm scriptler çalışarak belleğe yüklenir. Yazılan script’e elle müdahale etmiş isek veri kaynaklarından birer kayıtlık örnekler üzerinden çalışacak olan “Debug” butonuna basarak tüm scriptin tamamen hatasız olduğunu anlayabiliriz. Aksi halde hatalı script son satırda olsa bile önceki tüm veriler yüklenir ama hatadan dolayı tamamen bitiremez. Büyük verilerde belleğe yüklemek uzun sürebileceği için önce debug ile script kontrol edilmeli sonra reload ile çalıştırılmalıdır.
Belleğe yüklenen verilerden rapor yapmak için script editörümüzü kapatıp rapor ekranımıza geri dönüyoruz. Sayfada sağ tıklayarak açılan menüden “New Sheet Objects” seçeneğinden eklenecek bir nesne seçiyoruz.
Seçtiğimiz nesnenin belleğe yüklenen hangi veriyi göstereceğini nesne özelliklerinden tanımlayacağız. Örnek olarak “List Box” seçelim. Seçim yaptığımız anda açılan pencerede bu listbox üzerinde bellekteki hangi alanın görüntüleneceğini, numerik bir değerse formatlarını, font ve yazı tiplerini gibi birçok özelliğini değiştirebiliyoruz.
Script editörümüzde müşteri tablosundan bazı alanları seçmiştik bualanlardan TXTUNVAN TXTMUSTERIGRUPKOD TXTMUSTERIEKGRUPKOD alanları için birer tane listbox ekleyelim. Eklenen tüm listeler kendi içinde tek olan kayıtları listelerler. Müşteri kaydı tek olacağından anlaşılması kolay ancak müşteri ek grubu için düşünürsek tüm müşterilerde tanımlı olan ek grup listesi “DISTINCT” şekilde gelir. Artık bu noktadan sonra eklenen bu üç nesne birbiriyle ilişkili şekilde çalışacaktır. Müşteri listesinden bir müşteri seçildiğinde, müşteri grubu ve müşteri ek grubunda o müşterinin dahil olduğu gruplar seçili olarak belirecektir. Aynı şekilde bir müşteri grubu veya ek grubu seçtiğimizde de o gruba ait müşteriler ve o müşterilere ait diğer grup seçili hale gelecektir. Dolayısıyla ilişki tek yönlü değil anlık olarak çift yönlü şekilde çalışmaktadır. Bir örnek verecek olursak hiç seçim yapılmamış rapor şu şekildedir;
Bir müşteri seçtikten sonraki görüntü ise şu şekildedir;
Seçim yapılan listedeki kriter farklı renkte gösterilirken o kayıt ile ilgili diğer listelerdeki kayıtlar da farklı bir renkte belirtilmiştir. Bu şekilde birbirinden bağımsız tablolar ve kayıtlarla ilişkisel sonuçlar çok hızlı ve pratik şekilde oluşturulabilir.
Qlikview’de uygulama geliştirmek görüldüğü gibi hızlıdır ancak yapılan çalışmanın amacı, hedefi ve istenen sonuçlar iyi analiz edilerek bu çalışmaya başlanmalıdır. Örneğimizde sadece liste nesnesi kullandık. Diğer nesneleri ve veri kümesiyle ilişkili kayıtlarla bütün olarak bir işlem yapmak mümkündür. Qlikview’de ilk raporumuzu yaptık :) , bir sonraki yazımızda daha birçok nesnenin kullanıldığı bir rapor yapacağız.
Mustafa ERŞAHİN
Yorumlar
Yorum Gönder