تابع RANKX
تابع RANKX از جمله توابع مهم در PowerBI میباشد. رتبه بندی تقریبا در تمامی داشبوردها و گزارشات ، از جمله عوامل مهمی است که حتما باید مورد ارزیابی قرار گیرد. اینکه چه محصولی بیشترین یا کمترین فروش را داشته ، کدام کمپین تبلیغاتی بیشترین سودآوری را برای ما داشته ، کدام مشتری جز مشتری های با خرید بالای ما هستند و … همگی از جمله کاربردهای رتبه بندی میباشد. در این قسمت از اموزش پاور بی ای، به بررسی این تابع میپردازیم :
فرض کنید دیتاستی مشابه با جدول زیر داریم :
در جدول ما ، یک سری محصول با مقادیر فروش آنها آورده شده است. حال میخواهیم فرمولی بنویسیم و میزان فروش را رتبه بندی کنیم. تابع RANKX شامل پارامترهای زیر میباشد:
RANKX(<table>, <expression>[, <value>[, <order>[, <ties>]]])
در پارامتر اول باید اسم جدول ، در پارامتر دوم باید فرمول مد نظر جهت رتبه بندی ، و در سه پارامتر بعدی که اختیاری میباشد به ترتیب مقداری که میخواهیم رتبه آن را بدانیم ، نحوه چینش رتبه بندی(نزولی یا صعودی) ، و بررسی پرش از اعداد مشابه را وارد کنیم. حال فرمول اصلی جهت رتبعه بندی را مینویسیم :
RANKX= RANKX(ALL(Sale),[total sale],,DESC,Skip)
در فرمول بالا، ما میخواهیم رتبه بندی را بر اساس مجموع فروش به دست آوریم. نکته مهم این است که حتما باید شما از قبل فرمولی بنویسید و مجموع فروش را محاسبه کنید. مثلا در فرمول بالا بجای نوشتن تابع
total sale = SUM(Sale[sale])
از اسم آن که total sale هست استفاده کردیم. نتیجه کار به شکل زیر است :
در این مثال ما نیازی به اضافه کردن مقدار value نداریم، بنابراین در فرمول اصلی جای آن رو خالی گذاشته ایم. نحوه چینش رتبه بندی به صورت Desc و مقدار tie را برابر با skip قراردادیم. اگر به جای skip از dense استفاده کنیم نتیجه به شکل زیر تغییر میکند :
نکات مهم :
- اگر بخواهید برای دو ستون مختلف (مثلا نام محصول و رنگ محصول) رتبه بندی بر اساس میزان فروش انجام دهید، در تابع all باید اسم دو ستون را بیاورید.
- در نکته اول باید به این موضوع توجه داشته باشید که ستون ها باید از یک جدول باشند. در غیر این صورت نرم افزار به شما ارور میدهد و باید از تابع cross join استفاده کنید.
دیدگاه ها
دیدگاه شما