میانگین کوتاه‌شده معیار قوی‌تری از میانگین را با حذف درصد مشخصی از کوچک‌ترین و بزرگ‌ترین مقادیر از محاسبه ارائه می‌دهد. Modern Powerمیانگین کوتاه‌شده معیار قوی‌تری از میانگین را با حذف درصد مشخصی از کوچک‌ترین و بزرگ‌ترین مقادیر از محاسبه ارائه می‌دهد. Modern Power

محاسبه میانگین برش‌خورده پویا در Power BI با استفاده از DAX: راهنمای سریع

2026/01/11 04:00
مدت مطالعه: 4 دقیقه
برای ارائه بازخورد یا طرح هرگونه نگرانی درباره این محتوا، لطفاً با ما از طریق crypto.news@mexc.com تماس بگیرید.

چرا به میانگین برش خورده نیاز دارید

در تحلیل داده، تابع استاندارد AVERAGE یک ابزار کاری است، اما یک ضعف قابل توجه دارد: به شدت مستعد اعوجاج از موارد پرت است. یک مقدار شدید واحد، چه بالا چه پایین، می‌تواند کل نتیجه را منحرف کند و گرایش مرکزی واقعی داده را نادرست نشان دهد.

اینجا جایی است که میانگین برش خورده ضروری می‌شود. این روش یک معیار قوی‌تر از میانگین را با حذف یک درصد مشخص از کوچکترین و بزرگترین مقادیر از محاسبه ارائه می‌دهد.

در حالی که مدل‌های مدرن Power BI یک تابع داخلی TRIMMEAN دارند، این تابع اغلب هنگام استفاده از Live Connection به یک مدل قدیمی‌تر Analysis Services (SSAS) در دسترس نیست. این مقاله یک الگوی DAX دستی و قوی ارائه می‌دهد که این عملکرد را تکرار می‌کند و کاملاً پویا باقی می‌ماند و به تمام برش‌دهنده‌ها و فیلترها در گزارش شما پاسخ می‌دهد.

راه حل DAX برای میانگین برش خورده پویا

این معیار یک میانگین برش خورده 20 درصدی را با حذف 10 درصد پایین و 10 درصد بالای مقادیر قبل از میانگین‌گیری 80 درصد باقیمانده محاسبه می‌کند.

می‌توانید این کد را مستقیماً در نوار فرمول "New Measure" قرار دهید.

Trimmed Mean (20%) = VAR TargetTable = 'FactTable' VAR TargetColumn = 'FactTable'[MeasureColumn] VAR LowerPercentile = 0.10 // Defines the bottom 10% to trim VAR UpperPercentile = 0.90 // Defines the top 10% to trim (1.0 - 0.10) // 1. Find the value at the 10th percentile VAR MinThreshold = PERCENTILEX.INC( FILTER( TargetTable, NOT( ISBLANK( TargetColumn ) ) ), TargetColumn, LowerPercentile ) // 2. Find the value at the 90th percentile VAR MaxThreshold = PERCENTILEX.INC( FILTER( TargetTable, NOT( ISBLANK( TargetColumn ) ) ), TargetColumn, UpperPercentile ) // 3. Calculate the average, including only values between the thresholds RETURN CALCULATE( AVERAGEX( FILTER( TargetTable, TargetColumn >= MinThreshold && TargetColumn <= MaxThreshold ), TargetColumn ) )

تجزیه منطق DAX

این فرمول در سه مرحله مجزا کار می‌کند که همگی در زمینه فیلتر فعلی اجرا می‌شوند (مثلاً هر برش‌دهنده‌ای که کاربر انتخاب کرده است).

  1. تعریف متغیرهای کلیدی
  • TargetTable و TargetColumn: ما نام جدول و ستون را به متغیرها برای کد تمیز و قابل استفاده مجدد اختصاص می‌دهیم. شما باید 'FactTable'[MeasureColumn] را برای تطابق با مدل داده‌تان تغییر دهید.
  • LowerPercentile / UpperPercentile: ما مرزها را تعریف می‌کنیم. 0.10 و 0.90 به این معنی است که ما 10 درصد پایین و 10 درصد بالا را برش می‌دهیم. برای برش 5 درصد از هر انتها (مجموع 10 درصد برش)، باید از 0.05 و 0.95 استفاده کنید.

2. یافتن آستانه‌های صدک

  • MinThreshold و MaxThreshold: این متغیرها مقادیر واقعی را که با مرزهای صدک ما مطابقت دارند، ذخیره می‌کنند.
  • PERCENTILEX.INC: ما از این تابع "تکرارگر" استفاده می‌کنیم زیرا به ما اجازه می‌دهد ابتدا جدول را FILTER کنیم.
  • `FILTER(…, NOT(ISBLANK(…))): این یک مرحله حیاتی است. ما صدک‌ها را فقط برای سطرهایی محاسبه می‌کنیم که ستون هدف ما خالی نیست. این از انحراف محاسبه صدک توسط مقادیر BLANK() جلوگیری می‌کند.
  • نتیجه این است که MinThreshold مقدار صدک دهم (مثلاً 4.5) و MaxThreshold مقدار صدک نودم (مثلاً 88.2) را برای داده‌های قابل مشاهده فعلی نگه می‌دارد.

3. محاسبه میانگین نهایی

  • RETURN CALCULATE(...): تابع CALCULATE کلید تبدیل معیار به پویا است. این تضمین می‌کند که کل محاسبه به فیلترهای اعمال شده توسط هر برش‌دهنده یا بصری در گزارش احترام می‌گذارد.
  • AVERAGEX(FILTER(...)): هسته محاسبه. ما از AVERAGEX برای تکرار روی جدول استفاده می‌کنیم.
  • FILTER(...): ما TargetTable خود را یک بار آخر فیلتر می‌کنیم. این فیلتر "برش" است. فقط سطرهایی را نگه می‌دارد که مقدار در TargetColumn:
  • بزرگتر یا مساوی MinThreshold ما باشد
  • و
  • کوچکتر یا مساوی MaxThreshold ما باشد
  • AVERAGEX(..., TargetColumn): AVERAGEX سپس میانگین ساده TargetColumn را فقط برای سطرهایی که فیلتر را پاس کرده‌اند محاسبه می‌کند.

نتیجه‌گیری

با پیاده‌سازی این الگوی DAX، یک KPI قوی، پویا و مقاوم در برابر موارد پرت ایجاد می‌کنید. این معیار تصویری دقیق‌تر از گرایش مرکزی داده‌های شما ارائه می‌دهد و به درستی در حین تعامل کاربران با گزارش Power BI شما دوباره محاسبه می‌شود.


از اینکه وقت گذاشتید و بینش‌های مرتبط با داده را با من کاوش کردید، متشکرم. از تعامل شما قدردانی می‌کنم. اگر این اطلاعات مفید است، دعوت می‌کنم مرا دنبال کنید یا در LinkedIn یا X(@Luca_DataTeam) با من ارتباط برقرار کنید. کاوش خوشایندی داشته باشید!👋

فرصت‌ های بازار
لوگو Power Protocol
Power Protocol قیمت لحظه ای(POWER)
$0,17531
$0,17531$0,17531
-75,01%
USD
نمودار قیمت لحظه ای Power Protocol (POWER)
سلب مسئولیت: مطالب بازنشرشده در این وب‌ سایت از منابع عمومی گردآوری شده‌ اند و صرفاً به‌ منظور اطلاع‌ رسانی ارائه می‌ شوند. این مطالب لزوماً بازتاب‌ دهنده دیدگاه‌ ها یا مواضع MEXC نیستند. کلیه حقوق مادی و معنوی آثار متعلق به نویسندگان اصلی است. در صورت مشاهده هرگونه محتوای ناقض حقوق اشخاص ثالث، لطفاً از طریق آدرس ایمیل crypto.news@mexc.com با ما تماس بگیرید تا مورد بررسی و حذف قرار گیرد.MEXC هیچ‌ گونه تضمینی نسبت به دقت، جامعیت یا به‌ روزبودن اطلاعات ارائه‌ شده ندارد و مسئولیتی در قبال هرگونه اقدام یا تصمیم‌ گیری مبتنی بر این اطلاعات نمی‌ پذیرد. همچنین، محتوای منتشرشده نباید به‌عنوان توصیه مالی، حقوقی یا حرفه‌ ای تلقی شود و به منزله پیشنهاد یا تأیید رسمی از سوی MEXC نیست.

محتوای پیشنهادی