Power Pivot & DAX #21 – Dəyişkənlər (Variables)

Power Pivot & DAX #21 – Dəyişkənlər (Variables)
Power Analytics

Variables (Dəyişkənlər) dedikdə, uzun formulların, sadə adlarla adlandırıldığı, formulu oxuyan/audit və debug edən, xəta baş verəcəyi zaman, nəyin harada səhv olduğunu anlamağı dəfələrlə asanlaşdıran bir imkandan bəhs edirik. Məsələn, aşağıdakı DAX formulu, sadə olmasına baxmayaraq, çox uzun və audit edilməsi çətin bir uzunluqdadır (bundan dəfələrlə qəliz DAX formulları olduğunu da unutmayaq):

Bu cür uzun formulları hissələrə bölüb, o hissələrin hər birini məntiqli şəkildə adlandırmaqla, həm formulun oxunmasını asanlaşdıra, həm də audit edilməsini yüngülləşdirə bilərik. Bu, bir az da Excel-dəki Adlandırılmış Diapazonlara (Named Ranges) oxşayır.


VARIABLES (Dəyişkənlər)

Bunu etmədə bizə DAX-dakı Dəyişkənlər kömək edəcəkdir. Tək etməli olduğumuz, istənilən formula məntiqli bir ad tapmaqdır.

Fərz edək ki, məhsulların mənfəətini hesablamaq istəyirik. Öncə, həmin məhsula aid gəlir məbləğini, daha sonra isə maya dəyərini ayrı-ayrılıqda hesablamalıyıq (SUMX funksiyası haqqında daha ətraflı Power Pivot #7 – SUMX funksiyası):

DAX formulu 2: Ümumi gəlirin hesablanması

Formul nəyi hesablayır?

SalesData cədvəlindəki hər bir sətrə aid satılan məhsul sayını (Units sold), məhsulun satış dəyəri (Sales price per unit) ilə vurur və əldə etdiyi bütün nəticələri sətirbəsətir cəmləyir.


Eyni məntiqlə, məhsulların maya dəyərlərini aşağıdakı DAX formulu ilə yazırıq:

DAX formulu 3: Maya dəyərinin hesablanması

Formul nəyi hesablayır?

SalesData cədvəlindəki hər bir sətrə aid satılan məhsul sayını (Units sold), məhsulun maya dəyəri (Cost per unit) ilə vurur və əldə etdiyi bütün nəticələri sətirbəsətir cəmləyir.


Nəticə etibarilə, Total Sales – Total COGS formulu yazdıqda isə, mənfəəti hesablamış oluruq.

Bu 3 addımda etdiyimizi, gəlin, bu dəfə Variables vasitəsilə yazaq:

DAX formulu 4: Variables vasitəsilə 3 addımlıq əməliyyatın sadələşdirilməsi


Variables yazmanın qaydaları

  1. Variables hər zaman Measure adından sonra VAR sözü ilə başladıqdan sonra, həmin dəyişkənə aid formul müəyyən edilir. Fikir verirsinizsə, biz 2 yeni variable təyin etdik – TotalSalesTotaCOGS. Hər birinin düsturu, daha yuxarıdakı DAX formulları ilə birəbir eynidir.
  2. Variables hər zaman RETURN komandası ilə yekunlaşır.

Bu o deməkdir ki, VAR olaraq müəyyən etdiyimiz hər bir uzun formula qısa adlar verilir, məsələn DAX-ın TotalCOGS olaraq anlayacağı komanda əslində = SUMX(SalesData, [Units sold] * [Cost per unit]) formuludur. VAR ilə bu iki dəyər bərabərləşdikdən sonra, DAX üçün hər ikisi tamamilə eyni mənaya gələcək və uzun formul əvəzinə, çox qısa lakin anlaşılan dəyər olan TotalCOGS istifadə edəcəyik.


Yuxarıda misal olaraq verdiyimiz hesablamaların çox daha qəliz və uzunlarını DAX praktikasında sıxlıqla görürük. Bütün uzun formulları müəyyən komponentlərinə ayırıb dəyişkən olaraq adlandırdıqdan sonra, onları formullarımızda istifadə edə bilərik.

Uğurlar!