تابع MAXX در Power BI
تابع MAXX در Power BI برای محاسبه بیشترین مقدار حاصل از ارزیابی یک عبارت در هر ردیف از یک جدول استفاده میشود. این تابع از نوع توابع تکرارشونده (Iterator) در زبان DAX است.
تعریف تابع MAXX
MAXX(<table>, <expression>)
<table>: جدولی که میخواهید روی آن تکرار انجام شود.<expression>: عبارتی که برای هر ردیف از جدول ارزیابی میشود و بیشترین مقدار آن محاسبه میشود.<variant>:(اختیاری) اگر درست باشد، و اگر انواع مقداری متغیر یا مختلط وجود داشته باشد، بالاترین مقدار بر اساس ORDER BY DESC بازگردانده میشود.
نحوه عملکرد
تابع MAXX ابتدا عبارت مشخصشده را برای هر ردیف از جدول ارزیابی میکند، سپس بیشترین مقدار حاصل را برمیگرداند. این تابع برای محاسباتی که نیاز به بررسی مقادیر محاسبهشده در هر ردیف دارند بسیار مفید است.
مثال 1
فرمول زیر از یک عبارت به عنوان آرگومان دوم برای محاسبه کل مبلغ مالیات و هزینه ارسال برای هر سفارش در جدول InternetSales استفاده میکند. نتیجه مورد انتظار ۳۷۵.۷۱۸۴ است.
= MAXX(InternetSales, InternetSales[TaxAmt]+ InternetSales[Freight])
مثال 2
فرمول زیر ابتدا جدول InternetSales را با استفاده از یک عبارت FILTER فیلتر میکند تا زیرمجموعهای از سفارشات را برای یک منطقه فروش خاص که به صورت [SalesTerritory] = 5 تعریف شده است، برگرداند. سپس تابع MAXX عبارتی را که به عنوان آرگومان دوم برای هر ردیف از جدول فیلتر شده استفاده میشود، ارزیابی میکند و بالاترین مقدار را برای مالیات و هزینه ارسال فقط برای آن سفارشات برمیگرداند. نتیجه مورد انتظار ۲۵۰.۳۷۲۴ است.
= MAXX(FILTER(InternetSales,[SalesTerritoryCode]="5"), InternetSales[TaxAmt]+ InternetSales[Freight])
مثال کاربردی
فرض کنید جدولی به نام Sales دارید که شامل ستونهای Quantity و UnitPrice است. اگر بخواهید بیشترین مقدار فروش (یعنی Quantity * UnitPrice) را پیدا کنید:
MaxSale := MAXX(Sales, Sales[Quantity] * Sales[UnitPrice])
در این مثال، برای هر ردیف مقدار فروش محاسبه میشود و سپس بیشترین مقدار آنها انتخاب میشود.
تفاوت با MAX و MAXA
| تابع | نوع داده ورودی | نحوه عملکرد |
|---|---|---|
| MAX | فقط عددی | بیشترین مقدار در یک ستون عددی |
| MAXA | عددی + منطقی + متنی | TRUE=1، FALSE=0، متن=0 |
| MAXX | جدول + عبارت | بیشترین مقدار حاصل از ارزیابی عبارت برای هر ردیف |
⚠️ نکات مهم
- اگر جدول فیلتر شده باشد،
MAXXفقط روی ردیفهای فیلترشده اعمال میشود. - اگر هیچ مقدار عددی وجود نداشته باشد، خروجی
BLANK()خواهد بود. - این تابع برای محاسبات سفارشی در گزارشهای پویا بسیار کاربردی است.
ملاحضات
- آرگومان جدول برای تابع MAXX میتواند نام جدول یا عبارتی باشد که به یک جدول ارزیابی میشود. آرگومان دوم، عبارتی را که برای هر ردیف جدول ارزیابی میشود، نشان میدهد.
- از بین مقادیری که باید ارزیابی شوند، فقط موارد زیر شمارش میشوند:
- اعداد
- متنها
- تاریخها
- مقادیر خالی نادیده گرفته میشوند. مقادیر TRUE/FALSE پشتیبانی نمیشوند.
- اگر عبارت دارای انواع مقادیر متغیر یا ترکیبی مانند متن و عدد باشد، MAXX به طور پیشفرض فقط اعداد را در نظر میگیرد. اگر <variant> = TRUE“ باشد، حداکثر مقدار بازگردانده میشود.
- این تابع برای استفاده در حالت DirectQuery هنگام استفاده در ستونهای محاسبهشده یا قوانین امنیتی سطح ردیف (RLS) پشتیبانی نمیشود.
برای خرید لایسنس نرم افزار Power BI ، میتوانید از خدمات ما استفاده نموده و درخواست خود را از طریق فرم زیر ثبت نمایید.
میتوانید پاور بی آی دسکتاپ رایگان را دانلود کنید : Power BI desktop download
