تابع RANKX در زبان DAX
تابع RANKX یکی از مهم ترین توابع موجود در زبان DAX به شمار می رود. از این تابع برای رتبه بندی نتایج و داده ها استفاده می کنیم.
به عنوان مثال فرض می کنیم که درمحیط POWER BI جدولی داریم شامل میزان فروش به تفکیک شعب که می خواهیم آنها را بر اساس میزان فروششان رتبه بندی کنیم. به این منظور از تابع RANKX استفاده می کنیم.
مثال :
جدول فروش به تفکیک شعب همانند شکل زیر داریم.
می خواهیم شعب را بر اساس میزان فروش رتبه بندی کنیم.
ابتدا یک Measure ایجاد می کنیم و فرمول زیر را در آن وارد می کنیم.
با این کار در واقع همان مقادیر ستون میزان فروش را در Measure محاسبه کردیم. اگر ستونی مانند تعداد هم داشته باشیم که فرضا باید تعداد در میزان فروش ضرب شود، در همین Measure ایجاد شده این کار را انجام می دهیم.
سپس Measure دیگری ایجاد می کنیم که در آن فرمول زیر را استفاده می کنیم.
نکته :حتما باید از تابع ALL استفاده شود.
نکته : اگر در پارامتر آخر عبارت DESC را بنویسیم به این معنی است که میزان فروش بیشتر رتبه اول می شود و کمترین فروش رتبه آخر و اگر عبارت ASC را بنویسم بر عکس حالت DESC می شود.
خروجی دومین Measure به شکل زیر می باشد که در واقع رتبه بندی میزان فروش به تفکیک شعب است.
نکته : به عنوان مثال اگر میزان فروش دو شعبه با هم برابر بود، رتبه هر دو آنها با هم یکی می شود.
نکته : اگر میزان فروش یک شعبه خالی باشد و فاقد مقدار، به صورت پیشفرض مقدار آن صفر در نظر گرفته می شود.