تابع TOPN در Power BI
تابع TOPN در Power BI (زبان DAX) برای استخراج n ردیف برتر از یک جدول بر اساس یک معیار مرتبسازی استفاده میشود. این تابع برای رتبهبندی، فیلتر کردن دادهها، و نمایش موارد برتر بسیار کاربردی است.
تعریف تابع TOPN
DAX
TOPN(<N_Value>, <Table>, <OrderBy_Expression>[, <Order>])
N_Value: تعداد ردیفهایی که میخواهید برگردانده شوند.Table: جدولی که میخواهید از آن دادهها را استخراج کنید.OrderBy_Expression: ستونی که بر اساس آن مرتبسازی انجام میشود.Order(اختیاری): جهت مرتبسازی (ASCبرای صعودی،DESCبرای نزولی). پیشفرضDESCاست.
✅ مثال ساده
فرض کنید میخواهید 5 محصول با بیشترین فروش را نمایش دهید:
DAX
Top5Products =
TOPN(
5,
Products,
Products[Sales],
DESC
)
این عبارت 5 ردیف از جدول Products را برمیگرداند که بیشترین مقدار در ستون Sales دارند.
کاربردهای رایج
- نمایش برترینها در کارت یا جدول (مثلاً 10 مشتری برتر)
- تحلیل رقابتی بین آیتمها
- فیلتر کردن دادهها برای visualهای خاص
- ترکیب با توابع دیگر مثل
SUMMARIZE,CALCULATE,FILTERبرای ساخت مدلهای پیچیده
مثال پیشرفته با SUMMARIZE و CALCULATE
DAX
TopCities =
VAR SummaryTable =
SUMMARIZE(
Sales,
Sales[City],
"TotalSales", SUM(Sales[Amount])
)
RETURN
TOPN(3, SummaryTable, [TotalSales], DESC)
در این مثال:
- ابتدا مجموع فروش برای هر شهر محاسبه میشود.
- سپس 3 شهر با بیشترین فروش انتخاب میشوند.
⚠️ نکات مهم
- اگر جدول مرتبسازی نشود، نتایج ممکن است غیرمنتظره باشند.
- اگر تعداد ردیفهای مساوی با مقدار
N_Valueوجود داشته باشد، ممکن است بیش ازNردیف بازگردانده شود. - میتوان از
TOPNدر ترکیب باCALCULATEبرای اعمال فیلترهای پویا استفاده کرد.
ملاحضات
- اگر در ردیف N جدول، در مقادیر Order_By، تساوی وجود داشته باشد، تمام ردیفهای تساوی برگردانده میشوند. سپس، وقتی در ردیف N تساوی وجود داشته باشد، تابع ممکن است بیش از n ردیف برگرداند.
- اگر N_Value برابر با 0 (صفر) یا کمتر باشد، TOPN یک جدول خالی برمیگرداند.
- TOPN هیچ ترتیب مرتبسازی برای نتایج را تضمین نمیکند.
- این تابع برای استفاده در حالت DirectQuery هنگام استفاده در ستونهای محاسبهشده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمیشود.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
