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.

Reklamlar

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.

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 Sense Ders 17: E-Posta Atma

Herhangi bir veri alanını rapor üzerinden tek tıkla ilgili isime nasıl mail atarız?

Çok basit bir tablo oluşturuyorum.

trhhwrh.png

Buradaki Müşteri E-Posta alanını ifade yazarak oluşturacağız.

İfadenin içerisine mailto diyerek kime mail atacağımızı [Cari E-posta] ve ?subject=  diyerek hangi konuyu [Stok Adı] mail atmak istediğimizi belirtiyoruz.

='mailto:' & [Cari E-posta] & '?subject=' & [Stok Adı]

Etiket ismini düzenledikten sonra Sunum‘u, URL seçerek URL etiketine, e-posta listesini içeren veri alanını yazıyoruz [Cari E-posta].

wtqwry.png

Böylece ilgili müşterinin mail adresinin üzerine tıkladığımızda -mail alt yapısını seçtikten sonra (outlook, google vs)- belirtilen konu ile birlikte mail atacağımız bir sayfa açılıyor.

wrqg.png

Bu şekilde belirttiğiniz konuyu, rapora tıklayarak direk mail gönderebilirsiniz.

Qlik Sense Ders 16: Tabbed Container Kullanımı

TybaJ3Qij5.gif

Öncelikle sekmeler içerisinde kullanmak üzere örnek olarak iki adet grafik hazırlayalım.

Ardından hazırladığımız bu grafikleri teker teker Ana öğeler -> Görselleştirmeler bölümüne sürükleyip bir isim verelim.

ewttw35y.png

Görselleştirmeler, oluşturduğumuz grafikleri istediğimiz sayfada hazır olarak kullanmamıza olanak tanır.

Tabbed container bundle’ını eklemek için Özel nesneler -> Qlik Dashboard Bundle -> Tabbed Container‘ı ekrana sürükleyip bırakalım.

gewrge.png

Tabbed container’ın üzerine tıklayarak sağ tarafta açılan bölmeden kaç sekme eklemek istiyorsak Number of Tabs kısmında belirtelim.

54qywjhyrj.png

Tab 1 kısmındaki Label ile sekmelerimize isim vererek o sekmede hangi grafiğin açılacağını Master Object ile seçelim.

İlgili grafiğin verilerini excel formatında dışa aktarmak istersek Enable export onay kutusuna tik atabiliriz. Böylece grafiğin üzerinde bir indirme butonu oluşur.

Qlik Sense Ders 14: Alternatif Durumlar

qIQsSk3u5f.gif

Ana öğeler -> Alternatif Durumlar diyerek Yeni Oluştur butonuna tıklayalım. Grup 1 ve Grup 2 olarak iki tane alternatif durum oluşturalım.

eqt

Ana öğeler -> Hesaplamalar diyerek Grup 1 Tutar isimli bir hesaplama ekleyelim.

trrtjryj

Aynı şekilde formülde Grup 1 yazan kısmı Grup 2 ile değiştirerek Grup 2 Tutar isimli bir hesaplama daha yaratalım.

Sutün grafiği ekrana alarak boyut olarak ülkeyi, hesaplama olarak Grup 1 ve Grup 2‘yi seçelim.

wruytru

Görünüş bölümündeki Sunum kısmından sutün grafik özelliklerini Gruplandırılmış ve Dikey olarak ayarlayalım.

etqw

Metin ve resmi Grup 1 Seçimleri ve Grup 2 Seçimleri başlıkları ile olmak üzere iki kere ekrana ekleyelim.

Grup 1 seçimlerinin içerisine aşağıdaki ifadeyi yazalım.

=GetFieldSelections( [Kategori Tanımı], ', ', 10, 'Grup1')&','&
GetFieldSelections( [Stok Adı], ', ', 10, 'Grup1')

GetFieldSelections() fonksiyonu, alandaki geçerli seçimi döndürür.

Burada kullanılan 10 sayısı, 10 tane seçime kadar ekrana yaz 11. seçim dahil olmak üzere sonraki seçimlerde 11 of 75 şeklinde göster anlamına gelir.

Aynı şekilde Grup 2 seçimleri için Grup 1 yerine Grup 2 yazalım.

=GetFieldSelections( [Kategori Tanımı], ', ', 10, 'Grup2')&','&
GetFieldSelections( [Stok Adı], ', ', 10, 'Grup2')

Görünüş bölümündeki Alternatif durumlara gelerek aşağıdaki Grup 1 seçimleri için Grup 1‘i, Grup 2 seçimleri için Grup 2‘yi seçelim.

wefwq.png

Aşağıdaki şekilde raporu dizayn edebilirsiniz.

taajhrh.png

Sutün grafik ortada kalacak şekilde iki yanına seçimlerimizin görüneceği metin ve resmi; raporun kalan kısmınına da kıyaslayacağımız kategori  ve stok adlarını ekleyelim.

dfhae.png

Yukarıdaki ekran görüntüsünde görüldüğü gibi seçtiğimiz kategori ve stokların satışlarını belirlediğimiz grafik üzerinden rahatlıkla karşılaştırabiliriz.

Qlik Sense Ders 11: Değişken ile Top N Seçimi

Vu9NO0E1Gu.gif

Özel nesneler -> Uzantılar -> Variable

gnj

Değişkenler işaretine tıklayarak ilk isminde bir değişken yaratalım ve başlangıç değeri olarak bir sayı verelim.

df

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 ilk diyerek 5, 10 ve 15 değerlerini ekleyelim.

hfsrhr

Aşağıdaki şekilde Value ve Label bölümlerini dolduralım.

awrgaweg

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

Ekrana örnek olarak iki tane pasta grafik atıyorum ve Görünüş bölümündeki Sunum kısmından halka grafiğe çeviriyorum.

İlk grafikte Top n müşteri satışlarını, ikinci grafikte de top n müşteri karlılığını gösteriyorum.

Böylece aşağıdaki işlemleri iki halka grafikte de uyguluyoruz.

Boş değerleri dahil etmemek adına Null değerleri dahil et onay kutusundaki tiki kaldırabiliriz.

Top müşterileri göstermek istediğimiz için Sınırlama bölümünden Sabit sayıyı seçerek Üst dedikten sonra değişken ismini buraya $(ilk) şeklinde yazalım.

asfgeg

Son olarak grafiklerin başlığının dinamik olarak değişmesi için Genel bölümünden Başlık ekleyebiliriz.

='İlk ' & $(ilk) &' Cari Satış'

fsa

Bitti diyerek en çok satışın ve karlılığın gerçekleştiği 5, 10 ve 15 müşteriyi görüntüleyebiliriz.

rehhreh.png