Power Pivot #19 – Zamanda səyahət funksiyası – DATEADD (DAX)

Power Analytics

Daha öncəki bir çox yazıda, zamana dayalı Time Intelligence funksiyalarının bir hissəsini öyrənmişdik. Lakin, onlardan heç biri DATEADD funksiyası qədər universal deyildir. Bu funksiya ilə həm “gələcəyə”, həm də “keçmişə” getmək mümkündür. 4 fərqli interval üzrə (gün, ay, kvartal, il) istənilən sayda addımlaya biləcəyik. DATEADD – eyni anda həm cədvəl, həm də filterləmə funksiyasıdır.

Sintaks

Formulun cəmi 3 komponenti var:

  • Dates: Tarixlər olan sütun və ya tək sütun əmələ gətirən cədvəl funksiyası.
  • Number of intervals: Neçə gün/ay/il hərəkət edəcəyimizi müəyyən edəcək ədəd. Daxil etdiyimiz dəyər müsbət isə – gələcəyə, mənfi isə – keçmişə hərəkət edəcəyik.
  • Interval: Hazır siyahı olaraq qarşımıza DAY, MONTH, QUARTERYEAR olaraq gələcək.

Misalımız üzərindən funksiyanı daha da yaxşı tanıyaq. Daha öncəki Power Pivot dərslərindən bu cədvəllər ilə tanışıq:


3 il əvvəlki məlumatların hesablanması

Hər zaman olduğu kimi, bu dəfə də CALCULATE funksiyası köməyimizə çatacaqdır.

Matrix cədvəlimizə əlavə edib, hesablamanın prinsipinə baxa bilərik.

Mövcud filter konteksti daxilində, 2019-cu ildəki sətirdəki 3YearsBack adlı measure-mız 3 il əvvəlki dövrə gedib, 2016-ci ilin satış rəqəmlərini hesablamış oldu.


2 ay sonrakı məlumatların hesablanması

Tamamilə eyni məntiqlə, bu dəfə də mövcud filter konteksti daxilində, özündən 2 ay sonrakı dövrün məlumatlarını hesablayaq. Bunun üçün, formulumuz aşağıdakı kimi olmalıdır:

Görürük ki, sintaks baxımından 3 il əvvəl ilə 2 ay sonra arasında heç bir fərq yoxdur, tək etməli olduğumuz mənfi/müsbət sayı müəyyən edib, YEAR/MONTH seçməkdir.

Total Sales sütununun yanındakı sütunda hər zaman 2 ay sonranın satış rəqəmləri durduğunu müşahidə edirik.

Beləliklə, DATEADD ilə istədiyimiz kimi irəli/geri gedərək, istənilən dövrdən məlumatı rahatlıqla gətirmək imkanına sahibik.

Düşünürəm ki, = SAMEPERIODLASTYEAR( [Dates] ) funksiyası ilə = DATEADD( [Dates], -1, YEAR) funksiyalarının eyni nəticə verdiyini deməyə ehtiyac yoxdur.



Uğurlar!