Power Pivot #3 – Calculated Column vs. Measure

Power Pivot mövzusunun dərinliklərinə girmədən öncə, ənənəvi Excel strukturu haqqında olan anlayışları bir qədər kənara qoymaqda fayda var. Power Pivot-ı Excel bilikləri üzərindən öyrənmək – prosesi çətinləşdirəcək, digər tərəfdən,  Excel-i bilməmiz bir növ üstünlük də verəcəkdir.

Elə isə, başlayaq.

İstənilən datanı Power Pivot platformuna atmaq üçün, üzərinə gəlib, menudan Power Pivot >> Add to Data Model seçilməlidir:

Снимок.PNG

Yeni platformumuzun interfeysi aşağıdakı kimi olacaqdır:

Снимок1

Cədvəlimizin eynisi bura transfer olmuş oldu. Power Query mövzusundan xatırlayacağımız kimi, hər bir sütuna aid Data Type müəyyən edirik, yəni mətndir, yoxsa rəqəm, yoxsa faiz və s. Amma bu dəfə, Home >> Formatting >> Data Type ünvanından.

Power Pivot-da 2 növ hesablama mümkündür – Calculated ColumnMeasure (köhnə adı ilə Calculated Field).

Calculated Column nədir?

Adından da anlayacağımız kimi, sütun üzərində aparılan hesablamadır. DAX dilinin ən önəmli 2 prinsipindən biri ROW context-dir. Bu o deməkdir ki, istənilən sütunda yazılan tək bir formul, bütün sətirlərə aid olacaqdır. Formulu kopyalayıb yapışdırmağa ehtiyac yoxdur. Bunu, həmişəki Table formatından da anlaya bilərsiniz. Tək sətirə yazılan formul, avtomatik bütün sətirlərə “sistem” tərəfindən tətbiq edilir.

Lakin, ənənəvi Table-larda individual sətirlərdəki formulları dəyişmək mümkündürsə də, Power Pivot-un ROW context-i buna icazə verməyəcəkdir. Bir sütuna bir formul yazıldısa, bütün sətirlərə aid ediləcəkdir. Məsələn, aşağıdakı cədvəlimizdə [Units sold] * [Sales price] əməliyyatını həyata keçirsək (yeni [Sales Revenue] sütunu altında), formulu yazıb Enter düyməsinə basdığımız anda, o sütuna aid bütün sətirlərə eyni formul tətbiq olunacaqdır (ROW context).

Снимок2

Formulun sintaksına da diqqət edin. Excel-dəki kimi istinad – xanalara yox (A1, B3, C3:C7 kimi), sütunlara ([Sales price]) verilir. Yuxarıdakı formul çubuğundakı formulun açıqlaması belədir:

SalesData cədvəlindəki Units Sold sütunu ilə SalesData cədvəlindəki Sales Price sütununu bir-birinə vur

Bu səbəblə, Power Pivot-a atılan istənilən cədvəlin öz adı olmalıdır. Daha sonra nəyi-nəyə vurduğumuzu anlayaq, əks halda, hər yerdə Table1, Table25, Table33 kimi anlamsız cədvəl adları ilə qarşılaşacağıq.

 

Measure nədir?

Yuxarıda Sales Revenue sütununda hesabladığımız hər bir individual gəlir dəyərlərinin ümumi cəmini hesablamaq istəsək, Excel-dəki kimi ən alta gəlib SUM funksiyası yaza bilmərik. Power Pivot-da belə bir mexanizm yoxdur. Onun əvəzinə, Measure adlandırılan əsas formulların yazıldığı şablon hesablamalar mövcuddur. Və onları, cədvəlimizin altındakı “qaranlıq zona”da yazırıq.

Снимок3.PNG

Öncə Calculated Column, daha sonra Measure hesablayaq:

PP - gif.gif

Gördüyümüz kimi, sintaksı Excel-dəki cədvəl formatı ilə tamamilə eynidir:

Total Revenue := SUM (SalesData[SalesRevenue])

 

Vacib məqamlar:

  1. Measure yazarkən = işarəsi əvəzinə := işarəsindən istifadə edilməlidir (Power BI-da isə ancaq = işarəsi kifayətdir).
  2. Hər bir Measure məna ifadə edəcək bir ad daşımalıdır. Bizim misalımızda bu, Total Revenue-dur.
  3. Sütun adları hər zaman düzbucaqlı mötərizə arasında olmalıdır.
  4. Yazdığımız Measure-ı bir dəfə formatlamağımız kifayət edəcəkdir ki, istifadə edildiyi bütün Pivot cədvəllərdə eyni formatda olsun.
  5. Table və Sütun adlarını hər zaman anlam ifadə edəcək şəkildə yazmalıyıq.

 

Bu Measure ilə Pivot cədvəl hazırlamaq istəsək, Power Pivot pəncərəsindən Pivot Table seçməyimiz kifayətdir.

Снимок4.PNG

Measure-ın qarşısında duran Fx simvolundan, bunun Measure olduğunu anlayacağıq.

Снимо5.PNG

Növbəti yazıda, Power Pivotun motorunu təşkil edən DAX (Data Analysis Expressions) formul dili ilə tanış olacağıq – Power Pivot #4 – Sistemin motoru – DAX

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s