Genel · Qlik · Tableau

Tableau vs Qlik Sense

Veriye dayalı stratejiler izleyerek öne geçmek isteyen şirketler, doğru belirlenmiş iş zekası ve raporlama teknolojilerine ihtiyaç duyarlar. Tableau ve Qlik Sense gibi çok sayıda bulunan iş zekası yazılımlarından doğru olanı seçmek başarı için kritik bir noktadır. Gereksinimler ve öncelikler göz önüne alınarak değerlendirildiğinde iş zekası yazılımlarının birbirinden nasıl farklılaştığı ortaya çıkar.

İş zekası alanının iki popüler aracı olan Tableau ve Qlik Sense her ne kadar aynı amaca hizmet ediyor gibi görünse de aralarında ciddi farklılıklar barındırır. İkisi de self servis raporlamayı hedef alırken Tableau veri görselleştirmesine, Qlik Sense ise veri yönetimine daha çok ağırlık vermiştir. Son kullanıcı, veri noktaları arasındaki ilişki keşfine odaklanırken beklentisini de göz önünde bulundurarak iki yazılımı da rahatlıkla kullanabilir.

Peki Tableau ve Qlik Sense arasındaki belirgin farklılar nelerdir?

  • Tableau, veriye hem canlı hem de bellek içi bağlanabilir. Qlik Sense ise yalnızca bellek içi bağlanır.
  • Qlik Sense’in associative engine sayesinde ortaya daha esnek bir yapı koymasına karşılık Tableau sorgu tabanlı (query-based) bir yaklaşım izler. Her iki yaklaşımında doğru olmasıyla beraber aslında ikisi de birbirinden oldukça farklıdır. Qlik Sense’in özellikle veri yönetimi konusunda sunduğu esneklik, performans konusunda bir adım önde olmasını sağlar.
  • Tableau’da grafikler, son kullanıcı tarafından sürükle bırak ile yapılırken Qlik Sense bu grafikleri hazır olarak sunar. Böylece Qlik Sense’te son kullanıcının sıfırdan grafik oluşturmasına gerek yoktur. Tabii bu durum grafik konusunda ciddi bir sınırlama getirir.
  • Tableau’nun genel olarak tüm ürünlerinin arayüzü oldukça anlaşılır ve öğrenmesi kolaydır. Qlik Sense’te yeni özellikler arttıkça tasarım sıkışmaya başlar. Ayrıca Qlik Sense’in server yönetimi Tableau’ya göre daha karmaşıktır.
  • Belirli analizleri yapmak için Qlik Sense’te script yazmak gerekirken Tableau’da bir çok analiz ve hesaplama hazır olarak bulunur.
  • Qlik Sense’in içerisinde veriyi düzenlemek mümkündür. Tableau’da bunu yapmak için Tableau Prep adında ayrı bir araç kullanılması gerekir.
  • Qlik Sense’te bulunan ilişkisellik modeli Tableau’da yoktur.
  • Alternate States ile Qlik Sense’te kolaylıkla boyutlar arası karşılaştırma yapılabilir. Aynı karşılaştırmayı Tableau’da yapabilmek için hesaplama yazmak gerekir.
  • Tableau’da, Qlik Sense’teki gelişmiş arama özelliği gibi kapsamlı bir arama bulunmaz.
  • Tableau’da formatlama sınırsızken, Qlik Sense’de oldukça sınırlıdır. Detaylara müdahale edebilmek için farklı bir program kullanmak gerekir.
  • Tableau’da tooltip’ler düzenlenebilir; hatta içerisine birbirinden farklı grafikler eklenebilir. Ancak Qlik Sense’te tooltip’ler otomatiktir ve düzenlenemez.
  • Qlik Sense’te script yazılarak her noktaya müdahale edilebilirken Tableau kullanıcılara sunduğu arayüz dışında müdahaleye izin vermez.
  • Qlik Sense’te bulunan pivot tablo yapısı Tableau’da bulunmaz.
  • Bir dashboard’un mobildeki veya tabletteki tasarımı, Tableau’da aynı uygulama içinde otomatik düzenleme dahil her noktasına müdahele edilerek yapılabilir. Ancak Qlik Sense grafikleri kullanılan ekrana göre otomatik dizerek sürükle bırak ile ayrı bir tasarım yapılmasına izin vermez.
  • Tableau’nun içinde herhangi bir uzantıya gerek olmadan web sayfaları kolaylıkla çalıştırılabilir. Qlik Sense’in temelinde böyle bir özellik mevcut değildir.
  • Tableau’da hem grafikler hem de panolar arasında kapsamlı bir aksiyon kullanımı bulunur. Qlik Sense’te aksiyon kullanımı “tıkla ve filtrele” ile sınırlıdır.
  • R ve Python entegrasyonu, Tableau’da oldukça kolay ve optimize çalışır. Bu entegrasyonlar, Qlik Sense’te oldukça meşakkatli yapılmaktadır.
  • Tableau Desktop’taki tüm özellikler Tableau Server’da bulunmaz. Qlik Sense Server’da ise kapsamlı bir şekilde rapor tasarlanabilir.
  • Her iki ürünün de destek kısmı oldukça gelişmiştir. Buna ek olarak Qlik’in Türkçe destek bölümü vardır.
  • Tableau’nun ürünlerinde Türkçe dil desteği şuanda mevcut değildir. Qlik Sense Türkçe olarak kullanılabilir.

Sonuç olarak her iki yazılım içinde iş zekası dünyasında büyük bir potansiyele sahip olduğunu söylemek adil olacaktır.

Qlik

Qlik Sense Ders 30: Boyut ve Hesaplama Renklendirme

Boyut Renklendirme

Ana öğeler -> Boyutlar -> Yeni Oluştur diyerek bir boyut oluşturalım.

Tüm boyut alanlarının tek bir renkte görünmesini istiyorsak aşağıdaki şekilde Boyut rengi belirleyebiliriz.

rlişwjieşgj

Eğer her boyut alanı için farklı bir renk vermek istiyorsak aşağıdaki şekilde oluşturduğumuz boyutun üzerine sağ tıklayarak Düzenle diyelim ve Değer renkleri sekmesine tıklayalım.

ilkişlqkk

Boyut alanlarının karşısındaki renk kutucuklarına tıklayarak buradan istediğimiz renkleri boyuta atayabiliriz.

Hesaplama Renklendirme

Ana öğeler -> Hesaplamalar -> Yeni Oluştur diyerek bir hesaplama oluşturalım.

Hesaplama alanının tek bir renkte görünmesini istiyorsak aşağıdaki şekilde Hesaplama rengi belirleyebiliriz.

lklk

Eğer hesaplamadaki boyutları, hesaplama aralığına göre renklendirmek istiyorsak Segment renkleri sekmesine tıklayalım.

Buradan bir şablon düzeni seçtikten sonra renk skalasındaki renklerin üzerine tıklayarak istediğimiz ayarlamaları yapalım.

ilkişk

Ayrıca renkler arasına sınır ekleyebilir veya eklediğimiz sınırları kaldırabiliriz. Sınır belirlemek için renklerin altındaki yuvarlak işaretlerin üzerine tıklayarak oradaki kutucuğa istediğimiz sınır değerlerini yazabiliriz.

Verdiğimiz renkleri Görünüş bölümündeki Renkler ve gösterge kısmından Hesaplamaya göre diyerek kullanabiliriz.

lkjiljşl

Diyelim ki hem tek bir hesaplama rengi hem de segment renkleri tanımladık.

şykş5w4ky

Bu durumda hesaplama, boyutlarla kullanılırken verilen renk skalasıyla; tek başına kullanılırken de tanımladığımız renk ile gösterilecektir.

şkşlkaşlkrei

Qlik Sense üzerinden boyutlar ve hesaplamalar için otomatik renklendirmeleri bu şekilde rahatlıkla tanımlayabiliriz.

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.
Qlik

Qlik Server Ders 1: Uygulamayı İçeri/Dışarı Aktarma

Bir .qvf (qlik uygulama dosya uzantısı) dosyasını Qlik Server‘a yüklemek için QMC (Qlik Management Console) ekranına gelerek sol taraftaki menüden Manage Content‘in altındaki Apps‘i seçelim.

shjytjtjek.png

Açılan ekrandan Import butonuna tıklayalım.

wrqqwgw.png

Server’a eklemek istediğimiz uygulamayı seçerek bir isim verelim.

rwttwet.png

Eklediğiniz uygulamayı, var olan bir uygulamayla değiştirmek için Replace existing app diyebilirsiniz.

Burada bilmemiz gereken sarı uyarıda da görüldüğü gibi mevcut veri bağlantısının adı ile içeri aktarılan uygulamadaki veri bağlantısının adı aynı ise içe aktarım olmaz.

Aynı şekilde bir uygulamayı dışarı aktarmak için Apps-> More Actions -> Export diyoruz.

kljljijijişl.png

Dışarı aktarmak istediğimiz uygulamayı ister içerisindeki veri ile isterseniz Export app with data seçeneğini işaretlemeyerek verisi olmadan dışarı aktarabilirsiniz.

lkşKş.png

Ongoing transports bölümünde işlem sonucunu ve süresini görebilirsiniz.

Qlik

Qlik Sense Ders 18: Web’te Arama

Raporda üzerine tıkladığımız veri bilgisini web üzerinde nasıl kullanırız?

Örnek; Google.

Çok basit bir tablo oluşturuyorum.

yqryy

Buradaki Bilgi alanını aşağıdaki ifadeyi yazarak oluşturuyoruz.

='https://www.google.com.tr/#q='&[Ülke]

Parametre alan istediğimiz bir linki kullanarak istediğimiz veriyi browser’dan aratabiliriz.

rgwgqg.png

Etiket ismini düzenledikten sonra Sunum‘u, URL seçerek URL etiketine, google’da aratmak istediğimiz alan ismini yazıyoruz.

Böylece raporun üzerinde oluşturduğumuz alana tıkladığımızda ülke isimleri google’da aratılacaktır.

Qlik

Qlik Sense Ders 12: Değişken ile Hesaplama Seçimi

HuzW90EDHu.gif

Özel nesneler -> Uzantılar -> Variable

gnj

Değişkenler işaretine tıklayarak Tip isminde bir değişken yaratalım ve başlangıç değeri olarak sum(Satış) diyelim.

adfbse

Kalem işaretine tıklayarak değişkeni kaydettikten sonra devam edelim.

Variable’ı ekrana sürükleyip bırakalım ve aşağıdaki şekilde ismine Tip diyerek Toplam Satış ve Kümülatif Toplam Satış alanlarını ekleyelim.

y5323y3.png

Toplam Satış:

sum(Tutar)

Kümülatif Toplam Satış:

RangeSum(Above(total Sum([Tutar]),0,RowNo()))

Variable kısmı bu kadar artık veriyi görselleştirmek için bir grafik seçerek variable’ı içerisinde kullanabiliriz.

Örnek olarak yıllık, çeyreklik, aylık ve günlük satışları göstermek için çizgi grafik ekliyorum.

Variable’ı grafiğe bağlamamız için tek yapmamız gereken hesaplama olarak $(Tip) değişkenini vermek.

31gt4t

Bitti diyerek hesaplama seçimlerinize göre verilerinize göz atabilirsiniz.

5yqy.png

Qlik

Qlik Sense Ders 9: Stored Prosedure Tetikleme

SQL’de hazırladığımız prosedürü tetiklemek için -yarattığımız değişkenleri- kullanabiliriz.

Diyelim ki elimizde YIL ve YUZDE olarak iki parametreden beslenen bir prosedür var.

Bu parametreleri kendi değişkenlerimizle tetiklemek için VYIL ve VYUZDE diye iki değişken oluşturmamız gerekir.

Not: Değişkenler, prosedürün orjinal parametreleriyle aynı isimde olmak zorunda değildir.

(Load Editor’den bağlantıyı sağladıktan sonra aşağıdaki şekilde değişkenler oluşturulur ve veri yüklenir)

LIB CONNECT TO ‘localhost’;
let VYIL= ‘$(VYIL)’;
let VYUZDE=’$(VYUZDE)’;
sql exec [STOK] ‘$(VYIL)’,’$(VYUZDE)’;

Arka tarafı yapılandırdıktan sonra ön yüze geçerek Variable uzantısını kullanabiliriz.

Variable‘ı, yıl için combo box (select); yüzde için  field olarak render ediyoruz.

ef2-e1560173424615.png

Burada amaç, toplam stoğun yıllara göre yüzdelik dilimlerinin dağılımı göstermektir.

wvr

2012 (değişken) yılında stok satışının %5’ini (değişken) hangi stokların oluşturduğunu değişkenleri değiştirerek reload butona bastığımızda görebiliriz.

Gönderdiğimiz değişkenler ile prosedür canlı veriye gider ve veriyi çeker.

Not: Reload button buraya tıklayarak github’tan indirebileceğiniz bir uzantıdır.

Qlik

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.