Power Pivot #8 – Date & Time funksiyaları (DAX)

Power Analytics

DAX formul dilində tarix və saat cinsindən funksiyalar 2 fundamental kateqoriyaya bölünür:

  1. Date & Time funksiyaları
  2. Time Intelligence funksiyaları

Bu yazımızda Date & Time funksiyalarından bəhs edəcəyik.

Date & Time funksiyaları

Bu kateqoriyaya daxil olan funksiyaların əksəriyyəti Excel-dən bizə tanışdır:

  • DAY
  • MONTH
  • YEAR
  • WEEKNUM
  • HOUR
  • EOMONTH
  • DATE
  • NOW
  • TODAY
  • WEEKDAY
  • TIMEVALUE
  • DATEDIFF

Hər birinin işləyiş məntiqi Excel-dəki ilə birəbir eynidir, yəni bu funksiyaları öyrənmək üçün xüsusi əmək sərf etməyəcəksiniz. Tək bilməli olduğumuz – bütün bu funksiyaların xanalara yox, bütöv sütunlara şamil edilməli olmalarıdır (ROW context).

Qeyd: Excel-də bütün tarixlər Date, DAX-da isə Datetime formatındadır.

Məsələn, tarixlər olan bir sütundan, həmin tarixlərə aid gün, ay, il, həftənin günü, fərqli tarix formatı vermək istəsək, yuxarıdakı funksiyaların bir çoxundan istifadə edəcəyik.

Picture1.png

Fərz etsək ki, 01/01/2016-cı il tarixdən, 30/12/2018-ci il tarixə qədər olan hər günü bir sütuna əlavə edirik, o zaman bu data üzərində, bizə lazım olan bütün manipulyasiya apara bilərik. Bir başqa deyişlə, hər tarixə aid günü, ayı, ili, həftənin gününü və s. DAX funksiyaları ilə hesablaya bilərik. Cədvəlimizin adının Calendar olduğunu fərz edirəm:

Picture3.png

Eyni Excel-də olduğu kimi, DAY, MONTHYEAR funksiyaları ilə müvafiq cədvəldəki sütuna (Calendar[Date]) istinad verərək bizə lazım olan bütün məlumatları gətirdik.

Gün üçün: =DAY (Calendar[Date])

Ay üçün: =MONTH (Calendar[Date])

İl üçün: =YEAR (Calendar[Date])

Bu, işin manual tərəfi. Digər yandan, Power Pivot-un daxilində, bütün bu əməliyyatları tək addımda həyata keçirən bir funksionallıq var.

Picture5.png

Design >> Date Table >> New seçdiyiniz anda, Power Pivot Calendar adlı yeni bir cədvəl əlavə edəcək. Bu cədvəldə bizə lazım olan bütün məlumatlar var və işin ən gözəl tərəfi, hər şey tək addımda və lazımi formullarla təchiz edilmiş vəziyyətdə gəlir.

Picture6.png

Biz heç bir DAX formulu yazmadan, Power Pivot bizə lazım olan bütün məlumatları hesabladı. Bizə, sırasıyla – il, ay, söz ilə ay, ay-il, həftənin günü rəqəm və yazı ilə gətirdi. Bunları edərkən, skrindən də gördüyümüz kimi, FORMAT funksiyasından istifadə etdi. Bu funksiya Excel-də mövcud deyil, onun yerinə hamının yaxşı bələb olduğu TEXT funksiyası var. Hər iki funksiya, biri orda, digəri burda, tamamilə eyni funksionallığı daşıyır: mövcud dəyəri istədiyimiz formata dönüşdürmək.

Sonda isə, yeni qurduğumuz Təqvim Cədvəlimizi (Calendar Table) digər mövcud cədvəllər ilə əlaqələndirməliyik. Səbəbini daha sonra Time Intelligence funksiyalarını müzakirə edərkən görəcəyik. Ümumiyyətlə, zaman ötdükcə, Microsoft zaman faktoruna dayalı analitikada ciddi addımlar atdı və kateqoriyaya daxil olan DAX funksiyalarını müzakirə edəcəyimiz zaman, bir-birindən fərqli və son dərəcə faydalı analiz vasitələri ilə qarşılaşacaqsınız.

Picture7.png

Hər zamankı kimi, cədvəllərarası əlaqə qurarkən, əlaqə yaradacağımız 2 sütunu drag&drop edirik (Daha ətraflı – Power Pivot #5 – Cədvəllərarası əlaqələrin qurulması). Beləliklə, bir-birinə bağlı 4 cədvəlimiz oldu. Tarixə bağlı analizlər aparacağımız zaman, bu əlaqə bizə çox kömək olacaqdır.

Növbəti mövzumuz – formullara istənilən elastikliyi verən və DAX-ın ən önəmli 2 prinsipindən biri olan FILTER context əsasında davranış göstərən CALCULATE funksiyası olacaqdır – Power Pivot #9 – CALCULATE funksiyası (DAX) ilə hesabatlarda sərhədsiz imkanlar.