۱۹ تیر

آموزش توابع DAX – تابع RANKX

تابع RANKX از جمله توابع مهم در PowerBI میباشد. رتبه بندی تقریبا در تمامی داشبوردها و گزارشات ، از جمله عوامل مهمی است که حتما باید مورد ارزیابی قرار گیرد. اینکه چه محصولی بیشترین یا کمترین فروش را داشته ، کدام کمپین تبلیغاتی بیشترین سودآوری را برای ما داشته ، کدام مشتری جز مشتری های با خرید بالای ما هستند و … همگی از جمله کاربردهای رتبه بندی میباشد. در این قسمت از اموزش پاور بی ای، به بررسی این تابع میپردازیم :

فرض کنید دیتاستی مشابه با جدول زیر داریم :

در جدول ما ، یک سری محصول با مقادیر فروش آنها آورده شده است. حال میخواهیم فرمولی بنویسیم و میزان فروش را رتبه بندی کنیم. تابع RANKX شامل پارامترهای زیر میباشد:

RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])

در پارامتر اول باید اسم جدول ، در پارامتر دوم باید فرمول مد نظر جهت رتبه بندی ، و در سه پارامتر بعدی که اختیاری میباشد به ترتیب مقداری که میخواهیم رتبه آن را بدانیم ، نحوه چینش رتبه بندی(نزولی یا صعودی) ، و بررسی پرش از اعداد مشابه را وارد کنیم. حال فرمول اصلی جهت رتبعه بندی را مینویسیم :

RANKX= RANKX(ALL(Sale[product]),[total sale],,DESC,Skip)

در فرمول بالا، ما میخواهیم رتبه بندی را بر اساس مجموع فروش به دست آوریم. نکته مهم این است که حتما باید شما از قبل فرمولی بنویسید و مجموع فروش را محاسبه کنید. مثلا در فرمول بالا بجای نوشتن تابع

total sale = SUM(Sale[sale])

از اسم آن که total sale هست استفاده کردیم. نتیجه کار به شکل زیر است :

در این مثال ما نیازی به اضافه کردن مقدار value نداریم، بنابراین در فرمول اصلی جای آن رو خالی گذاشته ایم. نحوه چینش رتبه بندی به صورت Desc و مقدار tie را برابر با skip قراردادیم. اگر به جای skip از dense استفاده کنیم نتیجه به شکل زیر تغییر میکند :

نکات مهم :

  1. اگر بخواهید برای دو ستون مختلف (مثلا نام محصول و رنگ محصول) رتبه بندی بر اساس میزان فروش انجام دهید، در تابع all باید اسم دو ستون را بیاورید.
  2. در نکته اول باید به این موضوع توجه داشته باشید که ستون ها باید از یک جدول باشند. در غیر این صورت نرم افزار به شما ارور میدهد و باید از تابع cross join استفاده کنید.

دیدگاه ها


  • توضیحاتتون عالی و جامع بود
    مرسی

  • واقعا ممنونم. در هیچ سایتی ندیده بودم اینو. سپاس بیکران

  • خیلییییی خوب بوددددد. چفد دنبالش گشتم.مرسی واقعا

دیدگاه شما

نشانی ایمیل شما منتشر نخواهد شد.

یک × چهار =