Qlik Sense Ders 66: Alan Adını Değiştirme

Load ekranında (veri yükleme düzenleyicisi) mevcut alan isimlerini rename field kullanarak değiştirebiliriz.

Örnek:

Sipariş:
Load * Inline
[ 
Tarih, Kategori, 101, 105, 107
2021-05, Ofis, 50, 40, 10 
];

// Yukarıdaki tabloda sayı kodları ile isimlendirilmiş alan adlarını aşağıdaki şekilde değiştiriyoruz.
Field_Map:
Mapping load * Inline
[
field_from, field_to
101, Satis
105, Kar
107, Maliyet
];
Rename Fields using  Field_Map;

Qlik Sense Ders 65: Çoklu Dilde Dashboard

Çoklu dilde dashboard oluşturmak için yapmamız gereken dashboard’u kullanmak istediğimiz dillere göre veriyi hazırlarken sütunları o diller için ayrı ayrı oluşturmaktır.

Aşağıdaki örnekte dashboard hem İngilizce hem de Türkçe olarak kullanılmaktadır. Bu örnek üzerinden multiple languages dahboard yani çoklu dilde dashboard‘un nasıl yapıldığını inceleyelim.

Öncelikle, dil için hazırladığımız excelleri veri modeline aşağıdaki gibi Qlik’e özgü şekilde bağlayarak kullanabiliriz.

Script tarafında girdiğimiz tabloların hemen altına exceldeki tabloları koyduğumuzda tablolar birbiriyle konuşmaya başlar.

Dil butonlarını oluşturmak için sırasıyla Türkçe ve İngilizce olarak butonlara Select values in a field action tanımlayalım. Field olarak içerisinde English ve Turkish şeklinde iki alan tutan Language‘i boyutunu kullanalım.

Türkçe butonu için Value‘unun içerisine Turkish, English butonu için de English yazalım.

Butonlara tıkladıkça başlık veya boyut & hesaplama isim dilinin değişmesi için objelerin başlığına aşağıdaki şekilde bir if ifadesi yazalım.

=if('$(=GetFieldSelections(Language))'='English','All Sectors','Tüm Sektörler')

+ Grafiklerde yer alan boyut veya hesaplama isimini dil butonlarıyla değiştirmek için Index, Türkçe ve İngilizce isimlerin tutulduğu bir tablodan da yararlanabiliriz.

Burada Index numarasını belirterek dili değiştirebiliriz. vDataLanguage, butonlarda kullandığımız Language alanını tutar.

=Only({10} $(=vDataLanguage))

Boyut bilgisine aşağıdaki ifadeyi yazarak Türkçe butonuna tıklayınca datadaki Sector_Turkish alanını, English butonuna tıklayınca da Sector_English alanını getirmesini sağlayalım.

=if('$(=GetFieldSelections(Language))' = 'English',Sector_English,Sector_Turkish)

Bu şekilde sheet başlıklarını ve obje içeriklerini hazırlayarak eski dostumuz QlikView’de ve yeni gözdemiz Qlik Sense’te birden fazla dil seçeneğine sahip dashboard’lar üretebiliriz.

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.

%d blogcu bunu beğendi: