Power Pivot #12 – Keçən ayın satışlarının hesablanması – PREVIOUSMONTH (DAX)

Power Analytics

Bir əvvəlki mövzuda, bu ayın satışları ilə keçən il eyni ayın satışlarını hesablayıb, ikisi arasındakı fərqləri analiz etmişdik (Daha ətraflıPower Pivot #11 – SAMEPERIODLASTYEAR (DAX)). Bu dəfə isə, bu ayın satışları ilə keçən ayın satışları arasındakı fərqləri analiz edəcəyik. Aşağıdakı kimi bir hesabat əldə etmək istəyirik:

Picture1.png

Bunun üçün, alışıq olduğumuz CALCULATE funksiyası ilə Time Intelligence funksiyalarından olan PREVIOUSMONTH funksiyasının kombinasiyasından istifadə etməliyik.

Picture3.png

Sintaksından da gördüyümüz kimi, funksiyanın tək bir parametri var: tarixlər olan sütun. Bizim misalımızda, bu sütun Calendar cədvəlindəki [Date] sütunu olacaq. Keçən aydakı satışları hesablamaq üçün, aşağıdakı kimi bir DAX formuluna ehtiyacımız var:

Picture4.png

Formulun mənası:

  1. Last Month Revenue – Yeni measure-ımızın adı.
  2. CALCULATE – Hesablamanı aparacaq əsas funksiya.
  3. [Total Revenue] – Filterlənəcək measure.
  4. PREVIOUSMONTH(‘Calendar’[Date]) – Filterləyəcək kriteriya.

Xatırlayırsınızsa, DAX haqqında danışarkən, DAX-ın fundamental xüsusiyyətlərindən birinin, hesablamalara ən içəridəki funksiyadan (innermost function) başladığı olduğunu demişdik. Bir başqa deyişlə, hesablama ən içəridən başlayıb, “kənarlara” doğru hərəkət edir. O səbəblə, yuxarıdakı DAX formulumuzda öncə PREVIOUSMONTH funksiyası işə düşür və təyin olunacaq filter konteksti daxilindəki aydan öncəki ayın hər bir gününü tək sütun halında arxa planda hazırlayır. Daha sonra CALCULATE funksiyası, arxa plandakı bu tarixlərin hər birinə aid satış məbləğlərini müəyyən edərək, hər birinin cəmini hesablayıb əməliyyatı bitirir. Bütün hesablama filter konteksti daxilində baş verdiyindən, formul hər zaman dinamik xarakter daşıyacaq və pivot cədvəlimizə bağlı slicer-da hansı ayı seçəcəyiksə, hesablama həmin aya uyğun olaraq formalaşacaqdır.

Picture5.png

Görürük ki, formulumuz düzgün hesablama aparıb, əlavə olaraq mövcud ayla keçən ay arasındakı fərqi DIVIDE funksiyası ilə hesablayaraq, analizimizi yekunlaşdırırıq.

Picture6.png

Növbəti yazımızda, indiyə qədər öyrəndiyimiz funksiyaların kombinasiyasından istifadə etməklə, 2 və ya 3 mərhələdə yazılan formulları tək mərhələdə yazmağı öyrənəcək, köhnə biliklərimizi yeniləyəcəyik.