Web sitemizde size en iyi deneyimi sunmak için çerezleri kullanıyoruz. Hangi çerezleri kullandığımız hakkında daha fazla şey öğrenmek için Gizlilik
Onayla
Türker UZUNTürker UZUN
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Doğal Dil İşleme (NLP)
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Reading: Qlik Sense Cheat Sheet (2025)
Paylaş
Aa
Türker UZUNTürker UZUN
Aa
  • VERİ ANALİZİ
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Ara...
  • VERİ ANALİZİ
    • Veri Analiz Aşamaları
    • Pandas
    • CRM Analitiği
    • Doğal Dil İşleme (NLP)
    • Makine Öğrenmesi
    • Ölçümleme Problemleri
    • Özellik Mühendisliği
    • Tavsiye Sistemleri
    • BI Araçları
  • METODOLOJİ
  • PROGRAMLAMA
  • BLOG
  • DİZİ & FİLM
  • İLETİŞİM
Follow US
Türker UZUN > Blog > Veri Analizi > BI Araçları > Qlik Sense Cheat Sheet (2025)
BI AraçlarıVeri Analizi

Qlik Sense Cheat Sheet (2025)

11 Min Read
Paylaş
11 Min Read

Qlik Sense, güçlü veri görselleştirme ve analiz araçlarıyla iş zekâsı dünyasında öne çıkıyor. Ancak bu gücün arkasındaki en önemli yapı taşlarından biri: ifade dili (expression language) yani Qlik Sense’in “fx” fonksiyonları.

Contents
🔹 Temel Agregasyon Fonksiyonları🔹 Koşullu İfadeler (If-Else Mantığı)🔹 Set Analizi: Seçim Üzerinden Güçlü Kontroller🔹 Tarih & Zaman Fonksiyonları🔹 Metin ve String Fonksiyonları🔹 Matematiksel Fonksiyonlar🔹 Aggr() ve İleri Seviye İfadeler🔹 Arayüz için İfadeler (Renk, Dual vs.)🔹 Script Tarafı Örnekleri (Data Load Editor)🔹 Pratik Kullanım Senaryoları🎯 En Çok Satan İlk 5 Ürün + “Diğerleri” Toplamı📉 Aylık Satış Değişim Yüzdesi (MoM)📈 Geçen Yıl Aynı Dönemle Kıyaslama (YoY)🏆 Müşteri Başına Ortalama Satış (ve En Yüksek Müşteri)🧠 Dinamik KPI Kartı: Bugün, Bu Ay, Bu Yıl🛠️ Satışlar %20 Düşen Müşterileri Tespit Et🧾Kullanıcı Bazlı Veri Kısıtlaması (Row-level Security)🔢 Çeyrek Bazlı YTD (QTD) Hesaplama🧮 Kullanıcı Seçimine Göre Dinamik Hesap💼 Performansı Düşen Satıcılar📆 Haftalık Toplamlar (Pazar Günü Bitişli)📊 Mode (En Sık Tekrarlanan Değer)🪙 Medyan (Ortanca)🧮 Standart Sapma (Volatilite Tespiti)📉 Korelasyon Analizi (Varsa)🧠 Z-Skoru Hesaplama (Outlier Detection)🧮 Percentile (Yüzdelik Dilimler)🔀 Regression Trend Çizgisi (Scatter Plot İçin)📅 Moving Average (Hareketli Ortalama)🎯 Dinamik Benchmark Kıyaslaması🔬 Varyans (Farklılık Derecesi)🎚️ Çapraz Segmentasyon + Skorlamalı Etiketleme✅ Anomali Tespiti için Otomatik Skor ÜretimiMEASURE ÖRNEKLERİ🔹 Klasik KPI / Özet Measure’lar🔹 Zaman Bazlı Measure’lar🔹 Segment Bazlı Measure’lar🔹 İstatistiksel Measure’lar🔹 Müşteri Davranışı & Sadakat Measure’ları🔹 RFM / Davranışsal Measure’lar🔹 Anomali & Uç Değer Ölçümleri🔹 Performans, Hedef & Benchmark Measure’lar🔹 Zaman Serisi & Trend Göstergeleri

Bu yazıda, hem yeni başlayanlar hem de ileri düzey kullanıcılar için en kritik Qlik fx fonksiyonlarını ve kullanım örneklerini tek bir yerde topladım. Bu cheat sheet ile:

  • Daha hızlı analiz yapabilir,
  • Karmaşık hesaplamaları sadeleştirebilir,
  • Set analizleriyle veri segmentasyonunu uçurabilirsin.

🔹 Temel Agregasyon Fonksiyonları

FonksiyonAçıklamaÖrnek
Sum()Toplam almaSum(Sales)
Avg()OrtalamaAvg(Profit)
Count()SayımCount(CustomerID)
Min() / Max()En küçük / en büyükMin(Date) / Max(Sales)

🔹 Koşullu İfadeler (If-Else Mantığı)

FonksiyonAçıklamaÖrnek
If()Koşul kontrolüIf(Sales > 1000, 'High', 'Low')
Pick(Match(...))Çoklu eşleşme yapısıPick(Match(Status, 'New', 'Open', 'Closed'), 'Yeni', 'Açık', 'Kapalı')
Alt()Boşsa yedeği alAlt(Name, 'Bilinmiyor')

🔹 Set Analizi: Seçim Üzerinden Güçlü Kontroller

Set İfadesiAçıklamaÖrnek
{<Field=Value>}Filtre uygulanmış seçimSum({<Region={'West'}>} Sales)
{1}Tüm seçimleri iptal ederSum({1} Sales)
$Mevcut kullanıcı seçimiSum({$} Sales)
Field-={'x'}Hariç bırakmaSum({<Region-={'East'}>} Sales)
Field={'*'}Null olmayan değerlerCount({<Customer={'*'}>} Customer)

🔹 Tarih & Zaman Fonksiyonları

FonksiyonAçıklamaÖrnek
Year(Date)Yılı alırYear(OrderDate)
MonthName(Date)Ay + yıl formatıMonthName(Date)
Today()Bugünün tarihiToday()
InYearToDate()YTD hesaplamaSum({<Date={"=InYearToDate(Date, Today(), 0)"}>} Sales)
AddMonths(Date, -1)Ay kaydırmaAddMonths(Today(), -1)

🔹 Metin ve String Fonksiyonları

FonksiyonAçıklamaÖrnek
Len()Karakter uzunluğuLen(Name)
Left(), Right()Soldan/sağdan kırpLeft(ID, 3)
SubField()ParçalamaSubField(Email, '@', 1)
Concat()Alanları birleştirConcat(Name, ', ')
Upper() / Lower()Büyük / küçük harfUpper(City)

🔹 Matematiksel Fonksiyonlar

FonksiyonAçıklamaÖrnek
Round(x, y)YuvarlamaRound(Price, 0.1)
Ceil(), Floor()Yukarı / aşağı yuvarlamaCeil(Total)
Rand()Rastgele sayı üretirRand()
Mod()Mod almaMod(ID, 2)

🔹 Aggr() ve İleri Seviye İfadeler

FonksiyonAçıklamaÖrnek
Aggr(Expression, Dimension)Küme içinde hesaplamaAggr(Sum(Sales), Customer)
Rank()SıralamaRank(Sum(Sales))
FirstSortedValue()Sıralanmış ilk değerFirstSortedValue(Customer, -Sales)
RangeSum()Toplam hesaplamaRangeSum(Col1, Col2)
Above() / Below()Önceki / sonraki satırAbove(Sum(Sales))

🔹 Arayüz için İfadeler (Renk, Dual vs.)

FonksiyonAçıklamaÖrnek
ColorMix1()Renk skalasıColorMix1(Rank(Sum(Sales)), Red(), Green())
Dual()Sayı ve metni birleştirDual('High', 3)
If() + Color()Koşullu boyamaIf(Sales > 1000, Red())

🔹 Script Tarafı Örnekleri (Data Load Editor)

FonksiyonAçıklamaÖrnek
LOAD, RESIDENTVeri yüklemeLOAD * RESIDENT TempTable;
LET, SETDeğişken tanımıLET vToday = Today();
ApplyMap()Mapping işlemiApplyMap('RegionMap', Country, 'Other')
Peek()Önceki satırı alırPeek('Price', -1)
AutoNumber()Otomatik ID üretimiAutoNumber(CustomerID)

🔹 Pratik Kullanım Senaryoları

Top N + Diğerleri:

If(Rank(Sum(Sales)) <= 5, Customer, 'Others')

Bir önceki yıl ile karşılaştırma:

Sum({$<Year={$(=Max(Year)-1)}>} Sales)

Belirli filtreyi hariç tutmak:

Sum({$<Region=>} Sales)

Yılbaşı itibariyle bugüne kadar toplam satış:

Sum({<Date={"=InYearToDate(Date, Today(), 0)"}>} Sales)

🎯 En Çok Satan İlk 5 Ürün + “Diğerleri” Toplamı

Problem: Grafikte sadece en çok satan 5 ürünü görmek, geri kalanları “Diğer” altında toplamak istiyorum.
Çözüm: Rank() ve If() ile gruplama yap.

=If(Rank(Sum(Sales)) <= 5, ProductName, 'Diğerleri')

📉 Aylık Satış Değişim Yüzdesi (MoM)

Problem: Her ayın satış toplamını bir önceki ayla kıyaslayarak yüzde değişimi görmek istiyorum.
Çözüm: Above() ile önceki ayı al, yüzde hesapla.

=(Sum(Sales) - Above(Sum(Sales)))/Above(Sum(Sales))

📈 Geçen Yıl Aynı Dönemle Kıyaslama (YoY)

Problem: Bu yılki satışları geçen yılın aynı dönemiyle karşılaştırmak istiyorum.
Çözüm: Set Analysis ile yıl bazında filtreleme yap.

Sum({$<Year={$(=Max(Year)-1)}>} Sales)

🏆 Müşteri Başına Ortalama Satış (ve En Yüksek Müşteri)

Problem: Her müşterinin ortalama satışını görmek, en yüksek satış yapan müşteriyi işaretlemek istiyorum.
Çözüm: Aggr() ile müşteri bazlı ortalama hesapla.

Aggr(Avg(Sales), CustomerID)

Not: En yüksek müşteriyi renkli göstermek için:

If(Rank(Aggr(Sum(Sales), CustomerID)) = 1, Red())

🧠 Dinamik KPI Kartı: Bugün, Bu Ay, Bu Yıl

Problem: Seçime göre (bugün, bu ay, bu yıl) değişen bir gösterge oluşturmak istiyorum.
Çözüm: If() + InMonthToDate() + InYearToDate()

If(vPeriod = 'Today',
Sum({<Date={"=$(=Date(Today()))"}>} Sales),
If(vPeriod = 'ThisMonth',
Sum({<Date={"=InMonthToDate(Date, Today(), 0)"}>} Sales),
If(vPeriod = 'ThisYear',
Sum({<Date={"=InYearToDate(Date, Today(), 0)"}>} Sales))))

🛠️ Satışlar %20 Düşen Müşterileri Tespit Et

Problem: Geçen yıla göre %20’den fazla düşüş yaşayan müşterileri bulmak istiyorum.
Çözüm: Aggr() + Set Analysis + If()

Aggr(
If(
(Sum({<Year={$(=Max(Year))}>} Sales) - Sum({<Year={$(=Max(Year)-1)}>} Sales)) /
Sum({<Year={$(=Max(Year)-1)}>} Sales) <= -0.2,
CustomerID
),
CustomerID
)

🧾Kullanıcı Bazlı Veri Kısıtlaması (Row-level Security)

Problem: Kullanıcının sadece kendi bölgesindeki verileri görmesini istiyorum.
Çözüm: Section Access + OSUser() / GetCurrentSelections() ile eşleştirme.

Region = GetFieldSelections(UserRegion)

🔢 Çeyrek Bazlı YTD (QTD) Hesaplama

Problem: Çeyrek başından bugüne kadar olan toplamı hesaplamak istiyorum.
Çözüm: InQuarterToDate() fonksiyonu.

Sum({<Date={"=InQuarterToDate(Date, Today(), 0)"}>} Sales)

🧮 Kullanıcı Seçimine Göre Dinamik Hesap

Problem: Seçime göre farklı hesaplama yapmak istiyorum.
Çözüm: Pick() + Match() kombinasyonu.

Pick(Match(vMetric, 'Sales', 'Profit', 'Margin'),
Sum(Sales),
Sum(Profit),
Sum(Profit)/Sum(Sales))

💼 Performansı Düşen Satıcılar

Problem: Son 3 ayın ortalamasına göre bu ay satışları düşen satıcıları listelemek.
Çözüm: RangeAvg(), Above(), If() kombinasyonu.

If(
Sum(Sales) < RangeAvg(Above(Sum(Sales), 1, 3)),
'Performans Düşüşü', 'Stabil'
)

📆 Haftalık Toplamlar (Pazar Günü Bitişli)

Problem: Her hafta Pazar günü biten haftalık toplama ihtiyacım var.
Çözüm: WeekEnd() fonksiyonu.

Sum({<Date={"=WeekEnd(Date)=WeekEnd(Today())"}>} Sales)

📊 Mode (En Sık Tekrarlanan Değer)

Problem: Bir ürün kategorisinde en çok tekrarlanan ürün ya da müşteri şehri gibi bilgileri bulmak istiyorum.
Çözüm: Qlik’te doğrudan Mode() fonksiyonu yok, ancak Aggr() + FirstSortedValue() ile çözümleyebiliriz.

FirstSortedValue(
DISTINCT [ProductName],
-Aggr(Count([ProductName]), [ProductName])
)

🪙 Medyan (Ortanca)

Problem: Aykırı değerlerden etkilenmeyen bir ortalama türü olan medyanı görmek istiyorum.
Çözüm: Median() fonksiyonu doğrudan kullanılabilir.

Median(Sales)

Alternatif: Her müşteri için ayrı ayrı satış medyanı hesaplamak:

Aggr(Median(Sales), CustomerID)

🧮 Standart Sapma (Volatilite Tespiti)

Problem: Satış performansındaki oynaklığı ölçmek istiyorum.
Çözüm: Stdev() fonksiyonu ile varyansın karekökü hesaplanır.

Stdev(Sales)

Senaryo: Belirli bir standardın üzerindeki oynaklığa sahip satışçılar:

If(Stdev(Aggr(Sales, SalesRep)) > 1000, 'Volatil', 'Stabil')

📉 Korelasyon Analizi (Varsa)

Not: Qlik Sense’de doğrudan Corr() gibi korelasyon fonksiyonu script tarafında yapılmalıdır.

Script Tarafı Örnek:

LOAD
Sales,
MarketingSpend,
(Sales - AvgSales)*(MarketingSpend - AvgMarketingSpend) as CrossProduct,
(Sales - AvgSales)^2 as SalesDev,
(MarketingSpend - AvgMarketingSpend)^2 as MarketDev
RESIDENT Data;

Corr =
Sum(CrossProduct) /
Sqrt(Sum(SalesDev)*Sum(MarketDev));

Bu işlem, Scatter plot + trend çizgisi ile daha sezgisel gösterilebilir.


🧠 Z-Skoru Hesaplama (Outlier Detection)

Problem: Normalden sapmış satışları bulmak istiyorum.
Çözüm: Z-score = (X – μ) / σ

Sum(Sales) - Avg(TOTAL Sales)) / Stdev(TOTAL Sales)

Eğer Z-skora göre satış z > 2 ise aykırı kabul edilebilir.

🧮 Percentile (Yüzdelik Dilimler)

Problem: Ürünleri satışlarına göre ilk %10, %25, %50 gibi dilimlere ayırmak istiyorum.
Çözüm:

Fractile(Sales, 0.1)   // İlk %10 eşiği  
Fractile(Sales, 0.5) // Medyan
Fractile(Sales, 0.9) // İlk %90 eşiği

Segmentasyon için:

If(Sales > Fractile(Sales, 0.9), 'En İyi %10',
If(Sales > Fractile(Sales, 0.75), 'İyi',
If(Sales > Fractile(Sales, 0.5), 'Orta', 'Düşük')))

🔀 Regression Trend Çizgisi (Scatter Plot İçin)

Problem: Satış ve harcama arasındaki ilişkiyi tahmin çizgisi ile göstermek istiyorum.
Çözüm: Scatter chart üzerinde “Trendline: Linear” seçeneğini aç.
Alternatif olarak:

Line slope: 
Sum(X*Y) - Count(X)*Avg(X)*Avg(Y) / (Sum(X^2) - Count(X)*Avg(X)^2)

Intercept:
Avg(Y) - slope*Avg(X)

Ancak bu işlemler genelde ETL veya script tarafına uygundur. Qlik içinde R veya Python entegrasyonu varsa bu işlemler doğrudan yapılabilir.


📅 Moving Average (Hareketli Ortalama)

Problem: Günlük ya da haftalık değerlerde oynaklığı azaltmak istiyorum.
Çözüm:

RangeAvg(
Above(Sum(Sales), 0, 3)
)

Son 3 periyodun ortalaması alınır (bu, 3’lük hareketli ortalamadır).


🎯 Dinamik Benchmark Kıyaslaması

Problem: Aylık ortalamanın altındaki günleri veya mağazaları göstermek.
Çözüm:

If(Sum(Sales) < Avg(TOTAL <Month> Sales), 'Hedef Altı', 'Üzeri')

🔬 Varyans (Farklılık Derecesi)

Problem: Satışlardaki çeşitlilik veya dengesizlik oranını görmek istiyorum.
Çözüm:

Var(Sales)  // Standart sapmanın karesi

🎚️ Çapraz Segmentasyon + Skorlamalı Etiketleme

Problem: Satış ve müşteri sayısı yüksek olanları “Yüksek Değerli”, ikisi de düşük olanları “Düşük Potansiyel” olarak sınıflamak.
Çözüm:

If(Sum(Sales) > Avg(TOTAL Sales) and Count(CustomerID) > Avg(TOTAL <Product> Count(CustomerID)),
'Yüksek Değerli',
'Diğer')

✅ Anomali Tespiti için Otomatik Skor Üretimi

Yöntem 1: Z-Skoru ile Anomali Tespiti (Script)

LOAD
*,
(Sales - Avg(Sales)) / Stdev(Sales) as ZScore,
If(Abs((Sales - Avg(Sales)) / Stdev(Sales)) > 2, 'Anomali', 'Normal') as AnomalyFlag
RESIDENT SalesTable;

Yöntem 2: IQR (Interquartile Range) ile Anomali

// Qlik'te doğrudan Fractile hesaplama
Fractile(Sales, 0.75) - Fractile(Sales, 0.25) as IQR

Script kısmında manuel IQR bandı (Q3 + 1.5*IQR) belirlenip flag atanabilir.

MEASURE ÖRNEKLERİ

🔹 Klasik KPI / Özet Measure’lar

  1. Sum(Sales)
  2. Avg(Sales)
  3. Count(Distinct CustomerID)
  4. Max(Sales)
  5. Min(Sales)
  6. Sum(Profit) / Sum(Sales) → Kar marjı (%)
  7. Avg(OrderValue)
  8. Sum(Quantity)
  9. Count(OrderID)
  10. Sum(Sales) / Count(Distinct OrderID) → Sipariş başı satış

🔹 Zaman Bazlı Measure’lar

  1. Sum({<Year={'$(=max(Year))'}>} Sales) → Son yıl satış
  2. Sum(Sales) - Above(Sum(Sales)) → Aylık değişim
  3. RangeAvg(Above(Sum(Sales), 0, 3)) → Son 3 ay ortalama
  4. Sum(Sales) / Sum(TOTAL Sales) → Pazar payı (%)
  5. Sum({<Month={'Jan'}>} Sales) → Ocak ayı satışları

🔹 Segment Bazlı Measure’lar

  1. Sum({<CustomerSegment={'Premium'}>} Sales)
  2. Count({<Churned={'Yes'}>} CustomerID)
  3. Sum({<Region={'EMEA'}>} Sales)
  4. Avg({<CustomerSatisfactionScore={">=8"}>} NPS)
  5. Count({<RiskFlag={'High'}>} CustomerID)

🔹 İstatistiksel Measure’lar

  1. Mode(Sales) → En sık görülen satış değeri
  2. Median(Sales)
  3. Stdev(Sales)
  4. Fractile(Sales, 0.9) → 90. percentile
  5. ZTest(Sales) (SSE ile dışarıdan yapılmalı)
  6. Correlation(Sales, MarketingSpend) (SSE ile)

🔹 Müşteri Davranışı & Sadakat Measure’ları

  1. Avg(OrdersPerCustomer)
  2. Count({<RepeatCustomer={'Yes'}>} CustomerID)
  3. Sum({<IsNewCustomer={'Yes'}>} Sales)
  4. Avg(DaysSinceLastPurchase)
  5. Sum(Revenue) / Count(Distinct CustomerID) → Customer Lifetime Value

🔹 RFM / Davranışsal Measure’lar

  1. Max(PurchaseDate) - Today() → Recency (gün)
  2. Count(OrderID) → Frequency
  3. Sum(Sales) → Monetary
  4. If(Recency <= 30 and Frequency >= 5, 'Loyal', 'At-Risk') → Segment sınıflaması

🔹 Anomali & Uç Değer Ölçümleri

  1. If(Sales > 2*Stdev(TOTAL Sales), 'Anomaly', 'Normal')
  2. ZScore = (Sales - Avg(Sales)) / Stdev(Sales)
  3. Count({<AnomalyFlag={'Yes'}>} OrderID)
  4. If(Sales < Fractile(Sales, 0.05), 'Low Outlier')
  5. If(Sales > Fractile(Sales, 0.95), 'High Outlier')

🔹 Performans, Hedef & Benchmark Measure’lar

  1. Sum(Sales) / Sum(TargetSales) → Performans oranı (%)
  2. If(Sales >= Target, 'Target Met', 'Underperforming')
  3. Rank(Sum(Sales))
  4. Avg(Sales) - Avg(PeerSales)
  5. Sum(ConversionCount) / Sum(Traffic) → Conversion rate

🔹 Zaman Serisi & Trend Göstergeleri

  1. Slope(Above(Sum(Sales), 0, 12)) → 12 aylık eğilim
  2. MovingAvg = RangeAvg(Above(Sum(Sales), 0, 3))
  3. YoY = Sum({<Year={"$(=Max(Year))"}>} Sales) - Sum({<Year={"$(=Max(Year)-1)"}>} Sales)
  4. GrowthRate = (Sum(CurrentSales) - Sum(PreviousSales)) / Sum(PreviousSales)
  5. SeasonalIndex = Sum(MonthSales) / Avg(Sum(MonthSales))

ETİKETLER: Cheat Sheet, Qlik Sense
Algorizm Mayıs 21, 2025
Paylaş
Whatsapp Whatsapp LinkedIn Email Copy Link

Son Yazılar

  • 🤖 Chatbot’larda Anlaşılmak Neden Bu Kadar Zor Olabiliyor?
  • Qlik Sense Measure Örnekleri
  • Qlik Sense İleri Seviye Fonksiyon Cheat Sheet & Kullanım Senaryoları
  • Qlik Sense – 100 Temel Fonksiyon
  • Qlik Sense Cheat Sheet (2025)

Takip Et

Sponsor Linkler

İlginizi Çekebilir

RAG Chatbot, RAG Başarısını Artıran Yöntemler, Soru Katmanı
Büyük Dil Modelleri (LLM)YAPAY ZEKA

🤖 Chatbot’larda Anlaşılmak Neden Bu Kadar Zor Olabiliyor?

BI AraçlarıVeri Analizi

Qlik Sense Measure Örnekleri

BI AraçlarıVeri Analizi

Qlik Sense İleri Seviye Fonksiyon Cheat Sheet & Kullanım Senaryoları

BI AraçlarıVeri Analizi

Qlik Sense – 100 Temel Fonksiyon

Türker UZUNTürker UZUN
Takip Et

Veri Analizi, ETL Süreçleri, Makine Öğrenimi, Doğal Dil İşleme Projeleri, Python Dersleri, Python Blog, Teknoloji Yazarı, AI Agents

Removed from reading list

Undo