Qlik Sense Ders 64: Tabloda Toplam Gösterimi

Qlik Sense, bazı durumlarda tablodaki otomatik toplamı null veya 0 getirebilir. İşte bu durum ile karşılaştıysanız aşağıdaki şekilde istediğiniz toplama fonksiyonunu seçerek tablonuzda göstebilirsiniz.

Edit mode -> Tabloya tıklayın -> Data -> Sütununuzu seçin -> Totals function ->Auto veya Sum gibi ihtiyaç duyduğunuz fonksiyonu belirleyin.

Eğer toplam bölümü tablonuzda otomatik olarak görünmüyorsa Presentation bölümünden Totals butonuna tıklayarak tablonuza getirebilirsiniz.

Buradan istenilen aggregate fonksiyonu seçerek hesaplama yapabilirsiniz.

Not: Alanlarınızın yanına Representation kısmından Indicator‘ı seçtikten sonra limit ekleyerek belirtilen değerin altında veya üstünde ise işaret koyabilirsiniz.

Qlik Sense Ders 63: Mobil Dashboard Tasarımı

Yukarıda hazırladığım dashboard’u ele alarak Qlik Sense’teki mobil tasarım mantığına birlikte bakalım.

Edit modtayken sayfada boş bir alana veya başlık kısmına tıkladığımızda sağ tarafta Sheet properties bölümü açılır. Burada mobil için List view ve Grid view olarak iki seçeneğimiz vardır.

List view‘i seçtiğimizde uygulama responsive davrandığı için telefondan veya tabletten bakarken ekrandaki objelerin soldan sağa doğru alt alta dizildiğiniz görebiliriz.

Grid view‘i seçtiğimiz takdirde dashboard’u bilgisayar ekranında olduğu şekliyle görüntüleriz. Raporu tam bir şekilde görebilmek için tableti veya telefonu yatay tutarak kullanabiliriz.

Eğer bir obje tam olarak görünmüyorsa sağ üst köşeye tıklayarak objeyi büyütebiliriz.

Dashboard Tasarımında Önemli İpuçları

Ekran Tasarımı

Yapılan göz izleme çalışmalarına göre insanların çoğu, içgüdüsel olarak dashboard ekranını sol üst köşeden incelemeye başlıyor. Sol üst köşenin çevresine baktıktan sonra sayfanın orta kısmına gelerek incelemeye devam ediyor. Bu nedenle, en değerli verimizi sol üst köşede göstermek büyük önem taşıyor.

Dashboard ekranında en son bakılan yer ise sağ alt köşe olarak karşımıza çıkıyor. Dolayısıyla, sağ alt köşe verilmek istenen mesaj için uygun görünüyor.

Grafik Seçimi

Raporumuzu dizayn ederken dikkat etmemiz gereken bir diğer önemli nokta ise veri görselleştirmesinde tercih ettiğimiz grafiklerdir.

Göstermek istediğimiz veriyi gözümüze güzel gelen rastgele bir grafikle resmetmek doğru değildir. Önemli olan grafiğin kolay anlaşılabilir ve okunabilir olmasıdır. Örneğin; zaman serisi analizleri için en uygun grafikler, line ve area chart dediğimiz çizgi ve alan grafikleridir. Line ve area chart, zamana göre değişim ve dalgalanmayı hızlı şekilde fark ederek yorumlamamızı sağlar. Eğer oran göstermek istiyorsak gauge chart yani gösterge grafiği tercih edebiliriz.

Qlik Sense Ders 62: Çizgi Grafikte Null Değerleri Gizleme

Line chart kullandığımızda yazdığımız tarih hesaplamasına göre bazen Include null values seçeneği görünmeyebilir. Böyle bir durumda tarih eksenini continuous (sürekli)‘tan discrete (parçalı/ayrık)’e çevirerek null değerlerden kurtulabilirsiniz.

Appearence (Görünüm) -> X-axis: Tarih -> Continuous‘u kapatarak Use continuous scale‘de onay kutusundaki işareti kaldıralım.

Tarih eksenini aşağıdaki şekilde discrete ölçekle kullandığımızda tarih alanın altındaki Include null values seçeneği açılacak ve buradaki onay işaretini kaldırdığımızda null değerler grafikten uçmuş olacaktır. ✨

Eksen ölçeğini değiştirdiğimizde grafiğinizde çizgi gösteriminde veya verilerde değişiklik olmaz. Yalnızca tarih ekseninin gösterimi aşağıdaki şekilde değişir.

Continuous tarih ekseni:

Discrete tarih ekseni:

Not: Tableau’da bu iki kavramı sıkça kullanıyor ve kavramlar arasında rahatlıkla geçiş yapabiliyoruz. Qlik Sense için bu iki kavram, henüz yalnızca belli grafik tipleri için kullanılabilmektedir.

Qlik Sense Ders 61: Başlıkta Filtre Seçimini Gösterme

Başlığında filtre ismini göstermek istediğimiz grafiği seçerek Genel -> Başlık bölümüne filtredeki alan adını ve ardından & ‘Görünen Başlık Adı’nı aşağıdaki yazıyoruz.

Böylece filtreden bölge seçimi yaptığımızda seçilen bölge ismini grafik başlığına yazdırmış oluyoruz.

Qlik Sense Ders 60: Negatif Değerlerin Sıfır Olarak Gösterimi

Eğer hesaplamanız negatif değerler içeriyorsa ve siz bu negatif değerlerin grafikte sıfır olarak görünmesini istiyorsanız ifadenizi aşağıdaki şekilde düzenleyebilirsiniz.

  • 1. Yöntem
    Rangemax(sum(Value),0)
  • 2. Yöntem
    if(sum(Value)>0, sum(Value),0)

Tutar bilgisi üzerinden örneklediğimizde sonuç aşağıdaki şekilde görüntülenir.

Qlik Sense Ders 59: Master Calender

Master Calendar oluşturarak verinizdeki başlangıç ve bitiş tarihi arasında kalan eksik günleri tamamlayabilirsiniz.

Aşağıdaki Master Calendar kodlarını, verinizdeki tarih adıyla değiştirerek kullanabilirsiniz.

Kodları kolayca kopyalayabilmeniz için aşağıya bırakıyorum.

MinMax:
Load min(Tarih) as MinTarih, //Buraya Tarih yerine kendi verinizdeki tarih alanının ismini yazın
max(Tarih) as MaxTarih
Resident Sipariş; //Sipariş tablosu yerine kendi tablonuzun ismini yazın

let vMinDate=peek('MinTarih',0,'MinMax');
let vMaxDate=peek('MaxTarih',0,'MinMax');

// peek komutu bir kolonun n. sıradaki değerini döndürür.
// 0 ilk satır, 1 ikinci satır, -1 son satır
// peek('KolonAdı', SatırSayısı,'TabloAdı')

drop table MinMax;

TempTakvim:
load Date($(vMinDate)+IterNo()-1) as Tarih
AutoGenerate(1) while $(vMinDate)+IterNo()-1 <= $(vMaxDate);

MasterCalendar:
Load
Tarih as "Sipariş Tarihi",
Year(Tarih) as Tarih.Yıl,
'Q'&ceil(month(Tarih)/3) as Tarih.Çeyrek,
Week(Tarih) as Tarih.Hafta,
Month(Tarih) as Tarih.Ay,
Day(Tarih) as Tarih.Gün,
Date(monthstart(Tarih), 'MMM YYYY') as Tarih.AyYıl,
WeekDay(Tarih) as Tarih.Günİsim
Resident TempTakvim
Order By Tarih ASC;

Drop Table TempTakvim;
//Verideki ilk tarihten başlayarak aradaki boş tarihleri günlük olarak doldurur.

Qlik Sense Ders 58: Mapping

Mapping, alan değerlerini veya adlarını değiştirmek için kullanılan eşleme tablosunu oluşturmak için vardır.

Mapping tabloları;

  • Çok hızlı çalışır.
  • Script çalıştıktan sonra otomatik olarak silinir.
  • İki adet kolon ile yazılır.
  • Main tablosunun altında Applymap fonksiyonundan önce kullanılır. Sonradan farklı bir bölüme eklendiyseişareti ile main tablosunun altına sürükleyip bırakabilirsiniz.

Mapping tablosuyla birlikte kullanılan Applymap fonksiyonu, ifadeyi önceden yüklenmiş eşleme tablosu ile eşleştirmek için kullanılır.

Örneğin, Id ve Personel Adı bilgisine sahip Personel adında bir inline tablo yaratalım ve oluşturacağımız tabloda Id bilgisi yer almazken Personel Adı ve sorumlu oldukları Şehir bilgisini gösterelim.

Map:
mapping LOAD *
Inline [
Id, Şehir
1, İstanbul
2, İzmir
3, Ankara ];
Personel:
LOAD *,
ApplyMap('Map', Id,'Diğer') As Şehir
//ApplyMap(Mapping tablosunun adı, eşleştirilen alan adı, eşleşmeyen şehir adlarının yerine görünecek kelime)
Inline [
Id, Personel Adı
1, Ali
2, Emel
3, Alya
4, Peri
5, Melissa
6, Doruk
7, Derya ];

Drop Field Id;

Burada Id’leri eşlemek için Applymap fonksiyonunu kullanırırız. Ardından Id’nin görünmesini istemediğimiz için Id bilgisini silebiliriz.

Mapping tablosu, script çalıştıktan sonra otomatik olarak silineceği için veri modelinde sadece Personel tablosunu görünür.

Kullanılan iki tabloda da 1, 2 ve 3 numaralı Id bilgileri ortak olduğundan tabloda Id ile eşleşen şehir adları görünürken kalan Id bilgilerine ait personellerin sorumlu olduğu şehir adları ‘Diğer’ olarak görünecektir.

Qlik Sense Ders 57: Join

Kod düzenleyici üzerinden tablolar alt alta yazıldığında aynı alan adları üzerinden ilişki kurulur ve tablolar arasında full natural outer join yapısı simüle edilir. Right, left, inner gibi join türünü belirtmek istersek join yapmak istediğimiz tabloların arasına giderek join ifadesini yazarız.

Örneğin, iki tabloyu inner join ile birleştirmek istediğimizde bu iki tablonun arasına yalnızca “join” yazmak yeterlidir. Eğer right veya left join yapmak istersek join ifadesini birleştirmek istediğimiz kod bloğunun üzerine yazdıktan sonra birleştirilecek tablo adını parantez içinde join’de belirtiriz.

Aşağıda verilen örnekte Sipariş tablosuna, SipToplam tablosu left join ile bağlanmıştır.

Böylece, Sipariş ve SipToplam tek bir tablo olmuş ve Sipariş_Detay tablosuyla arasında ilişki kurulmuştur.

Not: Preceding Load (öncelikli yükleme), diğer yüklemeden önce gerçekleşir. Yukarıdaki örnekte görüldüğü gibi işlemleri preceding load‘ta hesaplatırsanız kodunuz daha hızlı çalışacaktır.

Hatırlatma: Kod düzenleyicideki bölümler yukarıdan aşağı, bölümlerin içerisindeki script ise aşağıdan yukarı çalışır.

Qlik Sense Ders 56: Exists Fonksiyonu

Exists fonksiyonu, bir alan değerinin kod dosyasında yüklü olup olmadığını belirler. Sonucu, true veya false döner. Where ile birlikte where Exists (Sipariş); olarak kullanılabilir. Tersi, where not Exists (Sipariş); şeklindedir.

Aşağıdaki örnekte Müşteri ve Personel olmak üzere iki tablo oluşturulmuş olup Exists fonksiyonu kullanılarak Müşteri tablosundaki CariKod ile Personel tablosundaki Sicil karşılaştırılacak ve ortak alanlar üzerinden Sicil ve Şehir bilgisi gösterilecektir. Ardından Müşteri tablosuna ihtiyaç olmadığı için bu tablo silinebilir.

Müşteri:
Load * inline [
CariKod, Bölge, Ülke
1, Avrupa, İtalya
2, Güney Amerika, Brezilya
3, İskandinavya, Danimarka ];  

Personel:
Load * inline [
Sicil, Şehir
1, Sicilya
2, Sao Paulo]
where Exists("CariKod","Sicil");

Drop table Müşteri;

Çıktı olarak sicil numarası 1 ve 2 olan personel için şehir bilgisine ulaşırız.

%d blogcu bunu beğendi: