Qlik

Qlik Sense Ders 29: İleri Set Analizi

Temel set analizi örneklerini buraya tıklayarak inceleyebilirsiniz.

İleri set analizi örneklerine otomatik set analizi ekleyerek başlayalım.

Filtreden seçimi yaptıktan sonra ifade düzenleyicisine gelerek Alan seçimleri yapıp Ekle butonuna tıkladığımızda ifade otomatik olarak yazılır.

Örneğin; birim fiyatı 400’den küçük olan satış değerlerinin toplamını görmek istiyorum ve filtreden seçiyorum. Bu durumda, KPI objesinin içine ifadeyi aşağıdaki şekilde yazdırabilirim.

3zkeBDuwAd

2015 dışındaki yıllarda satış yapılan müşteri sayısı

Count({<[Sipariş Tarihi.autoCalendar.Year]={*}-{'2015'}>} 
distinct [Cari Kod])

Satış Değeri 1000 TL’nin üzerinde olan müşteri sayısı

Count({<Tutar={">1000"} >}distinct [Cari Kod])

Toplam Satış Değeri 1000 TL’nin üzerinde müşteri sayısı

Count({<[Cari Kod] = {"=sum(Tutar)>1000"} >}distinct [Cari Kod])

Bebek Giysileri kategorisinden alışveriş yapan müşterilerden elde edilen toplam Satış

sum({<[Cari Kod]=P({<[Kategori Adı]={'Bebek Giysileri'}>} [Cari Kod])>}
Tutar)

Hiç Bebek Giysileri kategorisinden alışveriş yapmamış müşterilerden elde edilen toplam Satış

sum({<[Cari Kod]=E({< [Kategori Adı]={'Bebek Giysileri'}>} [Cari Kod])>} 
Tutar)

3Wzyh027UW

Yukarıdaki şekilde filtrelerden seçilen durumlar için;

2015 yılında Çocuk Giysilerinden alışveriş yapan müşterilerden elde edilen toplam Satış (Kesişim) (P fonksiyonu, possible)

sum({<[Cari Kod]=P({Durum1} [Cari Kod])*P({Durum2} [Cari Kod])>} Tutar)

2016 yılında alışveriş yapan ama İskandinavya bölgesinden alışveriş yapmayan müşterilerden elde edilen toplam Satış (Fark) (E fonksiyonu, excluded)

sum({<[Cari Kod]=P({Durum1} [Cari Kod])-P({Durum2} [Cari Kod])>} Tutar)

Not: Alternatif durumlarda tek yapılan, 2 tane alternatif durum oluşturduktan sonra birinci filtre bölmesine ilk alternatif durumu, ikinci filtre bölmesine de diğer alternatif durumu tanımlamaktır. Sayıların gösterildiği tabloda ifadenin dışında bir alternatif durum tanımlanmamıştır.

Kesişim durumuyla benzer

sum( {$<[Cari Kod] = P({1<[Kategori Adı]={'Bebek Giysileri'}>})>} Tutar)

Seçim imi (Bookmark) tanımlayalım. Örneğin; Avrupa ve İskandinavya bölgesini filtreye attıktan sonra bu iki bölge için seçim içi oluşturuyorum.

Avrupa bölgesi ile filtreden seçtiğimiz alanın kesişimi

sum({$*Avrupa} Tutar)

Avrupa bölgesi ile filtreden seçtiğimiz alanın birleşimi

sum({$+Avrupa} Tutar)

Seçim imi oluşturduğumuz için artık bu alanları direk set analizinin içine yazabiliriz.

Avrupa ve İskandinavya bölgelerindeki toplam Satış

sum({Avrupa+İskandinavya} Tutar)
Qlik

Qlik Sense Ders 20: Performans İyileştirmesi

Qlik Sense’te daha hızlı çalışmak için;

  1. Çok büyük veri setleriyle çalışılıyor ise bağlantı sayısının fazlalığı özellikle grafiksel hesaplamalarda performansı etkiler bu nedenle veriyi olabildiğince normalize tutun. Snowflake gibi (ürün ürün kategori vb.)
  2. Veri modelinde syntetic key ve circular reference oluşmamasına dikkat edin.
  3. Kullanılmayan alanları modelde tutmayın.
  4. Kompozit anahtar alan yaratırken string işlem değil autonumber() kullanın. Örneğin; bölge& ‘-‘ &yıl yerine autonumber(bölge,yıl) gibi.
  5. Çok büyük fact tablolarınız varsa başlık ve detay join‘i performansı arttıracaktır.
  6. Geçmiş yıl verileriniz değişmeyeceği için qvd‘ye basın. Mevcut yıl verilerinizi yine canlı veri kaynağınızdan alarak kullanabilirsiniz. Qvd dosyaları sıkıştırılmış olduğu için daha hızlı çalışacaktır.
  7. Arama performansını iyileştirmek için akıllı aramada (smart search) görmek istemediğiniz alanları belirtin.
  8. TimeStamp verinizi tarih ve saat olarak parçalayın. Gerek olmayan timestamp alanlarını kullanmayın.
  9. Qvd oluşma aşamasında fonksiyonlarınızı yazın. Qvd dosyalarını optimized load olarak kullanın.
  10. Ana öğeleri (master items) ve değişkenleri kullanın.
  11. Sayfa tasarımlarında çok fazla obje kullanmayın (10+).
  12. Set analizleri dahil string ifade karşılaştırmaları yapmamaya çalışın flag alanları kullanın.
  13. Tablolarda 15’ten fazla alan kullanacaksanız koşullu seçimlerle kurgulayın.
  14. Mümkün olduğunca set analizlerini kullanın. Konuyla ilgili yardım almak için buraya tıklayarak videolarımızdan yararlanabilirsiniz.
  15. Karışık hesaplamalarınızı yükleme sürecinde hazırlayın.
  16. Rapor tasarım ekranında hesaplanmış boyut oluşturmamaya ve aggr fonksiyonunu kullanmamaya çalışın.
  17. İç içe if hatta if kullanımını minimumda tutarak bunun yerine mapping tablolarını kullanın.
  18. Yavaş açılan bir rapor söz konusuyla seçim imini (bookmark) kullanarak raporun o filtreyle açılmasını sağlayabilir veya eklentiler bölümündeki veri işleme seçeneğinde istediğiniz koşulu belirterek raporu açabilirsiniz. Örneğin; veri işleme sekmesine getselectedcount(müşteriadı)>0 hesaplamasını yazıp görüntülenen mesajda “En az 1 müşteri seçimi yapmadan rapor görüntülenemez” yazısını gösterebilirsiniz. Böylece rapor 1 veya 1’den çok müşteri seçilerek çalışacak seçim yapılmadığında çalışmayacaktır.
  19. Son olarak uygulama üzerinde yapılan yüksek aktivitelerin RAM ve CPU kullanımına yansıyacağını unutmayın.