Qlik Sense Ders 19: Set Analizi

QlikView.jpg

Set analizi, belirli seçimlerle tanımlanan veri değerleri grubu oluşturulmasına denir.

Set ifadesi aşağıdaki bölümlerin bir birleşiminden oluşur:

  • Tanımlayıcılar: Set ifadesi ile ifadenin geri kalanında değerlendirilen öğe arasındaki ilişki bir veya daha fazla tanımlayıcı ile tanımlanır. Basit bir ifade tek bir tanımlayıcıdan (geçerli seçimdeki tüm kayıtlar anlamına gelen {$} işareti gibi) oluşur.

  • İşleçler: Birden fazla tanımlayıcı varsa tanımlayıcıların temsil ettiği veri kümelerinin örneğin bir alt küme veya üst küme oluşturmak üzere nasıl birleştirildiğini belirtmek suretiyle veri kümesini daraltmak için işleç veya işleçler kullanılır.

  • Değiştiriciler: Seçimi değiştirmek için küme ifadesine değiştirici veya değiştiriciler eklenebilir. Bir değiştirici kendi başına kullanılabileceği gibi bir tanımlayıcıyı değiştirerek veri kümesine filtre uygulamak için de kullanılabilir.

Yukardaki yazının tamamını okumak için buraya tıklayabilirsiniz.

Bilmemiz gerekenler:

  1. Qlik, BNF (Backus-Naur formalism) formatında script dili kullandığı için { } ve < > ile bol bol karşılaşacağız.
  2. Set ifadelerini toplama fonksiyonlarının içinde kullanacağız ve daima { } içerisinde yazacağız.
  3. Eğer bir değişken çağrıyorsak başına $ koyacağız.
  4. Set ifadesinin içinde belirttiğiniz koşul, ifadenin içerisinde kullanılan boyut filtresinden etkilenmez. Örneğin, Sum({<Yıl={2019}>} Tutar) ifadesi, yıl filtresinden etkilenmeyecektir.

Örnekler:

2019 yılı satış

Sum( {< Yıl={2019} >} Tutar)

2018 ve 2019 yılı satış

Sum( {< Yıl={2018,2019} >} Tutar)

Filtre bağımsız 2019 yılı satış

Sum( { 1 <Yıl={2019} >} Tutar)

Eğer süslü parantezin yanına 1 yazdıktan sonra set ifadesini yazarsak bu ifade, hiçbir filtreden etkilenmez.

Seçilen filtre hariç 2019 yılı satış

Sum( {1-$ <Yıl={2019} >} Tutar)

Filtre bağımsız satış

Sum( {1} Tutar)

Belirtilen ifadenin hiçbir filtreden etkilenmesini istemiyorsak ifadenin başına yalnızca {1} yazıyoruz.

Ocak 2014 Satış

Sum( {< Ay={01} , Yıl={2014} >} Tutar)

2019 yılında Amerika hariç satış
Aşağıdaki ifade yıl ve ülke filtrelerinden etkilenmeyerek devamlı olarak 2019 yılı Amerika hariç satışı gösterir.

Sum( {< Yıl={2019}, Ülke=-{'USA'} >} Tutar)

Buradaki ülke isminin önündeki – işaretini aşağıdaki şekilde ülkeden sonra kullanırsak ifade yine yıl filtresinden etkilenmez fakat ülke filtresinden etkilenerek seçilen ülkenin satışını gösterir. Tabii tek bir şartla. Amerika hariç🙂

Sum( {< Yıl={2019}, Ülke-={'USA'} >} Tutar)

Çeyrek filtresi bağımsız 2019 yılı satış

Sum( {< Yıl={2019}, Çeyrek={*} >} Tutar)

2015 – 2018 arası satış

Sum( {< Yıl={">=2015 <=2018"} >} Tutar)

Aynı ifadeyi tarih alanınızdan üretilen otomatik yıl ile aşağıdaki şekilde yazabilirsiniz.

Sum( {<[Sipariş Tarihi.autoCalendar.Year]={"<=$(=MakeDate(2015)) >=$(=MakeDate(2013))"} >} Tutar)

Yıl filtresinden seçilen yıllar arasındaki satış

Sum( {< Yıl={">=$(=Min(Yıl)) <=$(=Max(Yıl))"} >} Tutar)

Aynı ifadeyi tarih alanınızdan üretilen otomatik yıl ile aşağıdaki şekilde yazabilirsiniz.

Sum( {<[Sipariş Tarihi.autoCalendar.Year]={">=$(=Min([Sipariş Tarihi.autoCalendar.Year])) <=$(=Max([Sipariş Tarihi.autoCalendar.Year]))"}> } Tutar)

Yıl filtresiyle değişen dinamik başlık vermek için aşağıdaki ifadeyi yazabilirsiniz.

='>=$(=year(Min([Sipariş Tarihi.autoCalendar.Year]))) <=$(=year(Max([Sipariş Tarihi.autoCalendar.Year])))'

Aynı ifadeyi (filtreden seçilen yıllar arasındaki satış) değişken tanımlayarak aşağıdaki şekilde yazabiliriz.

Sum( {< Yıl={">=$(=vMin) <=$(=vMax)"} >} Tutar)

Değişkenden sonra = koymak zorunda değilsiniz fakat program çok nadiren de olsa bu noktada mızmızlanabiliyor.

Değişkenleri aşağıdaki şekilde oluşturarak max ve min yılı kullanabilirsiniz.

wqf

Aynı ifadeyi tarih alanınızdan üretilen otomatik yıl ile aşağıdaki şekilde yazabilirsiniz.

Sum( { <[Sipariş Tarihi.autoCalendar.Year]={">=$(vMin) <=$(=vMax)"}> } Tutar)

Yıl filtresiyle değişen dinamik başlık vermek için aşağıdaki ifadeyi yazabilirsiniz.

='Değişken >=$(=Year(vMin)) <=$(=Year(vMax))'

Buradaki değişkenler = Max([Sipariş Tarihi.autoCalendar.Year]) şeklindedir.

Ka ile başlayan kategori adları

sum( {< [Kategori Adı]={"Ka*"} >} Tutar)

Son olarak otomatik set ifadesini nasıl oluşturduğumuzdan bahsetmek istiyorum.

Diyelim ki filtreden çeşitli seçimler yaptınız ve ifade düzenleyicisinin içine girdiniz.

qregeg.png

Sağ bölmede yer alan İfade Ayarla bölümünden Geçerli seçimleri kullan diyerek filtreden seçim yaptığınız değerleri otomatik olarak yazdırabilirsiniz.

Bonus: Footnote yani alt başlık için önceki yıl ile satış farkını aşağıdaki şekilde kullanabilirsiniz. (Otomatik yılı kullanarak)

Şuanki yıl ile önceki yıl satış farkı

=’Fark: ‘&num(Sum({<[Sipariş Tarihi.autoCalendar.Year] = {“$(=Max(year([Sipariş Tarihi])))”} >} Tutar)-Sum({<[Sipariş Tarihi.autoCalendar.Year] = {“$(=Max(year([Sipariş Tarihi]))-1)”} >} Tutar),’#,##0.00′)

++ Script tarafında ay yıl vs kendiniz oluşturabilirsiniz ya da tarih alanından otomatik olarak üretilen ay, yıl gibi tarih alanlarını kullanabilirsiniz.

Year(Tarih) as Yıl,
Month(Tarih) as Ay,
Week(Tarih) as Hafta,
WeekDay(Tarih) as Haftanın Günleri,
Day(Tarih) as Gün,
'Q' & Ceil(Month(Tarih) / 3) as Çeyrek,
Date(monthstart(Tarih), 'MM-YYYY') as AyYıl

Set analizi için hazırladığım ifadeler şimdilik bu şekilde ilerleyen derslerde de script yazmaya devam edeceğiz.

Reklamlar

Qlik Sense Ders 4: KPI

Her zamanki gibi sipariş verisini kullanarak KPI grafik nasıl yapılıyor bakalım.

Örnek olarak bu senenin (maksimum yıl:) ve geçen senenin (maksimum yıl -1) satışlarını göstererek birbiri ile kıyaslayacağız. Bunu yaparken satışlar geçen yıla göre artmış ise yeşil oklar yukarıyı, azalmış ise kırmızı oklar aşağıyı gösterecektir.

Hadi başlayalım.

Sol taraftaki Grafikler bölümüne tıklayarak KPI’yı ekrana sürükleyip bırakalım.

Screenshot_119

Hesaplama olarak fx butonuna tıklayarak ifade düzenleyicisini açalım.

İfade düzenleyicisi’nin içerisine son yılın tutar bilgisi için aşağıdaki ifadeyi yazarak Uygula diyelim.

Sum({<[Sipariş Tarihi.autoCalendar.Year] = {“$(=Max(year([Sipariş Tarihi])))”} >} Tutar)

Veri bölümünden Birinci KPI’ın Etiket adını Şuanki Yıl olarak düzenleyelim.

Screenshot_120

İkinci KPI için Ekle butonuna tıklayalım ve İfade düzenleyicisi’nin içerisine önceki yılın tutar bilgisi için aşağıdaki ifadeyi yazarak Uygula diyelim.

Sum({<[Sipariş Tarihi.autoCalendar.Year] = {“$(=Max(year([Sipariş Tarihi]))-1)”} >} Tutar)

Not: Eğer elinizde hazır yıl sütunu var ise aşağıdaki formülü kullanabilirsiniz.

Sum({<Year= {$(=Max(Year)-1)} >} Tutar)

Veri bölümünden İkinci KPI’ın Etiketi adını Önceki Yıl olarak düzenleyelim.

Not: Görünüş bölümündeki Sunum kısmından yazıları hizzalayarabilir ve yazı boyutlarını değiştirebilirsiniz.

Ayrıca KPI’ın üzerine tıkladığınız zaman Sayfaya bağla özelliğini kullanarak belirttiğiniz sayfaya gitmesini sağlayabilir ve bu sayfayı yeni bir sekmede açabilirsiniz.

SSAFA

Görünüş bölümündeki Renk kısmına gelelim ve Kütüphane renkleri’nin yanındaki düğmeye kapatalım.

Birinci Hesaplama için Sınır ekleyelim. Fx ifade düzenleyicisinin içerisine aşağıdaki ifadeyi yazarak Uygula diyelim.

=Sum({<[Sipariş Tarihi.autoCalendar.Year] = {“$(=Max(year([Sipariş Tarihi]))-1)”} >} Tutar)

Screenshot_121

Değer bilgisi için önceki yılın satışı, şuanki yılın satışından fazla ise soldaki rengin üzerine tıklayarak aşağı ok ve kırmızı renk verelim.

Şuanki yılın satışı, önceki yılın satışından fazla aynı şekilde sağdaki rengin üzerine tıklayarak yukarı ok ve yeşil renk verelim.

İkinci KPI’yı renklendirmek için İkinci yazan kısma tıklayalım ve İkinci KPI için gri rengi seçelim.

Screenshot_122

Bitti diyerek raporun son halini görüntüleyebilirsiniz.

Screenshot_123

Qlik Sense Ders 3: Gauge Chart (Gösterge)

Gösterge grafik yapımına bakalım.

Konuyu anlatmak adına örnek bir sipariş verisi kullandım. Siz de kendi elinizdeki verilerle gösterge grafiği kolayca kullanabilirsiniz.

Başlayalım.

Sol taraftaki Grafikler bölümüne tıklayarak Gösterge’yi ekrana sürükleyip bırakalım.

Screenshot_1

Hesaplama olarak Maliyet bilgisini toplam şeklinde ekleyelim.

Veri bölümünden Maliyet bilgisine Maliyet olarak bir Etiket ismi verelim.

Screenshot_98

Görünüş
bölümündeki Sunum kısmına tıklayalım ve Maks’a =Sum(Tutar) ifadesini yazalım.

Screenshot_10

Açıklama

Aralık Sınırları grafiğin başlangıç ve bitiş noktalarını ifade eder. Bu kısma manuel değer de girebilirsiniz formül de yazabilirsiniz.

Burada minimum kısmına 0, maksimum kısmına sum(Tutar) yazarak grafiğin maksimum değerinin ciroyu, segmentin de maliyeti göstermesini istiyoruz.

Segmentleri kullan özelliğini, yanındaki düğmeye tıklayarak açıp Kitaplığı kullan özelliğini yine yanındaki düğmeye tıklayarak kapatalım.

Screenshot_11

Açıklama

Segmentleri kullan özelliği, grafikteki minimum ve maksimum veri noktaları arasının bir imleç ile gösterilmesini sağlar.

Kitaplığı kullan özelliğini kapatarak grafiğe limitler verebilir ve bu limitleri farklı renklerle ifade edebilirsiniz.

Sınır ekle diyerek bir sınır ekleyelim. İlk sınır için =Sum(Tutar)*0.3 ifadesini kullanalım ve baştaki renge tıklayarak açık mavi seçelim. Ardından Gradyan seçeneğini işaretleyerek rengin geçişli olmasını sağlayalım.

Tekrar bir sınır ekleyelim. İkinci sınır için =Sum(Tutar)*0.6 ifadesini kullanalım. Ortadaki renk için mavi ve en sondaki renk için koyu mavi seçelim. Ardından Gradyan seçeneğini işaretleyelim.

Bitti diyerek raporun son halini görüntüleyebiliriz.

Screenshot_99

Qlik Sense Desktop’ta grafikleri kendimiz oluşturmuyoruz. Dolayısıyla tasarım yapma gibi bir şansımız yok. Bu yüzden hazır grafikleri kullanmak ve grafik özelliklerini keşfetmek son derece kolay.

Grafik özellikleri yalnızca sağ taraftaki panelden ayarlanıyor.*

Ürünü Türkçe de kullanabildiğimiz için grafik özelliklerini deneyerek siz de keşfedebilirsiniz.

Bu nedenle Qlik için grafikleri tek tek anlatmayı düşünmüyorum. Ön yüz işin basit kısmı olduğu için Qlik anlatırken biraz daha kodlama tarafına gireceğiz.

Qlik Sense Ders 1: Tanıtım ve Başlangıç

Qlik, İsveç’te kurulan ve merkezi Pensilvanya ABD’de bulunan bir iş zekası yazılımıdır.

Youtube kanalımdaki Qlik Sense tanıtım videosuna buraya tıklayarak ulaşabilirsiniz.

Qlik’in ilk çıkardığı iş zekası aracı Qlik View‘in ardından firma ‘drag and drop’ denilen sürükle bırak teknolojisini içine katarak güncel iş zekası aracı olan Qlik Sense‘i piyasaya sürmüştür.

Qlik Sense, Gartner raporlarına göre en iyi üç iş zekası (Tableau, Power BI, Qlik Sense) aracından biridir.

Qlik Sense‘i buraya tıklayarak indirebilir ve ücretsiz olarak kullanabilirsiniz.

Türkçe kullanım kılavuzuna ulaşmak için buraya

Qlik Sense Demo Server için buraya

Qlik Sense’te yapılan sektörel dashboard‘lar için buraya tıklayabilirsiniz.

Qlik Sense veriyi sıkıştırarak veriye bellek içi (in memory) bağlanır.

Qlik’i iş zekası alanında öne çıkaran patentli ilişkisellik (association) teknolojisidir. İlişki, full (bidirectional) natural outer join sonucudur. Qlik’te veri çoklanması durumu pek mümkün olmaz. Böylece sıkıştırılarak saklanan veri modeliniz ile istediğiniz gibi oynayabilirsiniz.

Qlik Sense komut satırı ve script sintaksı, BNF (Backus Naur formalizm) notasyonuyla tanımlanır.

Qlik Sense ile ilgili dosyalar (resim, uzantı vb.) aşağıdaki dosya yolunda bulunur.

Documents\Qlik\Sense 

Qlik Sense’i hem masaüstünde hem de web üzerinden kullanabilirsiniz. Kurulumu yaptıktan sonra kullanıcı adı ve şifre ile giriş yaparak masaüstü uygulamasında raporlarınızı geliştirmeye başlayabilirsiniz. Masaüstünden giriş yaptıktan sonra ürünü web üzerinde kullanmak isterseniz lokalinizdeki Qlik Sense’e aşağıdaki adresten erişebilirsiniz.

http://localhost:4848/hub/my/work

Ürünü masaüstünde kullanıyorsanız uygulamanın dili, bilgisayarın diline göre; eğer web’te kullanıyorsanız browser’ın diline göre ayarlanır.

Qlik Sense’in geliştirmesi gereken yönü olarak görselleştirmeden bahsedebiliriz. Görselleştirmeye daha fazla müdahale etmek için Qlik NPrinting ürününü kullanmanız gerekir.

Qlik Sense’i açtığınızda sizi aşağıdaki arayüz karşılar.

ljhuıg7ıugjhgk.png

Uygulama yaratmak için Create new app diyerek uygulamaya bir isim veriyoruz. Ardından bağlanacağımız veriyi seçerek raporumuzu oluşturmaya başlıyoruz.

Veri bağlantısının nasıl yapıldığını öğrenmek için buraya tıklayabilirsiniz.