Power BI Dersleri - 13: DATEADD ve SAMEPERIODLASTYEAR Fonksiyonları

kusha · 02 Ağustos 2026 · 5 dk okuma

Satışların geçen yıla veya geçen aya göre nasıl değiştiğini görmek, iş zekası raporlarının en sık istenen özelliklerinden biridir. DAX'ta bunun için iki tamamlayıcı fonksiyon vardır.

SAMEPERIODLASTYEAR: Geçen Yılın Aynı Dönemi

Gecen Yil Satis = CALCULATE(SUM(Transactions[Quantity]), SAMEPERIODLASTYEAR(Tarih[Tarih]))

SAMEPERIODLASTYEAR, filtre bağlamındaki tarihleri tam olarak bir yıl geriye kaydırır. Eğer geçerli yılda (ör. 2018) o tarihe ait veri yoksa, ölçü boş döner — bu normaldir, ilk yılın karşılaştıracağı bir önceki yıl yoktur.

Fark ve Yüzdesel Değişimi Hesaplamak

Yillik Fark = SUM(Transactions[Quantity]) - [Gecen Yil Satis]

Yillik Degisim Yuzde =
DIVIDE(
    SUM(Transactions[Quantity]) - [Gecen Yil Satis],
    [Gecen Yil Satis]
)

DIVIDE fonksiyonu, normal / operatörü yerine tercih edilmelidir — çünkü paydası sıfır veya boş olduğunda hata (Infinity/#DIV/0!) yerine otomatik olarak boş değer döndürür, ekstra bir IF kontrolüne gerek kalmaz.

DATEADD: Herhangi Bir Periyodu Kaydırmak

SAMEPERIODLASTYEAR özel olarak "bir yıl önce" için tasarlanmıştır. Daha esnek bir kaydırma (ör. bir ay önce, bir çeyrek önce) için DATEADD kullanılır:

Gecen Ay Satis =
CALCULATE(
    SUM(Transactions[Quantity]),
    DATEADD(Tarih[Tarih], -1, MONTH)
)

Üçüncü parametre, kaydırma birimini belirler: DAY, MONTH, QUARTER veya YEAR. İkinci parametredeki sayı negatifse geriye (geçmişe), pozitifse ileriye (geleceğe) kaydırır.

SAMEPERIODLASTYEAR ile DATEADD İlişkisi

Aslında SAMEPERIODLASTYEAR(Tarih[Tarih]), DATEADD(Tarih[Tarih], -1, YEAR) ile birebir aynı sonucu verir — SAMEPERIODLASTYEAR, yıllık karşılaştırma bu kadar yaygın olduğu için DAX'a ayrıca kısayol olarak eklenmiş bir fonksiyondur.

Sırada Ne Var?

Sırada, bir tabloyu DAX içinde özetleyip yeni bir tablo üreten SUMMARIZE fonksiyonunu göreceğiz.