• مطالب آموزشی
    • تمام مطالب آموزشی
    • Excel
    • Power BI
    • DAX
  • دوره های آموزشی
    • کلاس اکسل پیشرفته
    • کلاس داشبورد با Power BI
    • کلاس DAX و مدلسازی داده‎
    • Power BI Report Server
    • گالری تصاویر
  • پکیج های آموزشی
    • اکسل
    • Power BI
    • SQL
    • سبد خرید
  • معرفی
  • تماس
  • اینستاگرام
  ورود
گروه تحلیلگری
  • مطالب آموزشی
    • تمام مطالب آموزشی
    • Excel
    • Power BI
    • DAX
  • دوره های آموزشی
    • کلاس اکسل پیشرفته
    • کلاس داشبورد با Power BI
    • کلاس DAX و مدلسازی داده‎
    • Power BI Report Server
    • گالری تصاویر
  • پکیج های آموزشی
    • اکسل
    • Power BI
    • SQL
    • سبد خرید
  • معرفی
  • تماس
  • اینستاگرام
0
ثبت نام / ورود

وبلاگ

تابع REMOVEFILTERS در Power BI

اخیرا ماکروسافت تابع جدیدی به نام REMOVEFILTERS را به مجموعه توابع DAX در Power BI اضافه نموده است. تابع REMOVEFILTERS‌ که خوشبختانه نام مناسبی برای آن برگزیده شده و نام آن متناسب با کارکرد آن است. این تابع به عنوان پارامتر فیلتر در تابع CALCULATE به کار می رود. در این مطلب به معرفی تابع REMOVEFILETRS در Power BI و تفاوت های آن با ALL پرداخته شده است.

معرفی

ابتدا مقایسه ای بین ALL و REMOVEFILTERS داشته باشیم. به نظر می رسد این ۲ تابع مشابه هم عمل می کنند. حتما می دانید که تابع ALL برای صرف نظر از در نظر گرفتن فیلترهایی از سوی برخی ستون ها و جداول است.به طور مثال ALL(Categories) بدین معنی است که تمامی فیلترهای اعمال شده از سوی جدول Categories نادیده گرفته شود.

به مثال زیر توجه کنید. در این جدول ۳ Measure مورد استفاده قرار گرفته است.  اولی میزان فروش، دومی میزان فروش و نادیده گرفتن تمام فیلترهای جدول Categories با استفاده از تابع ALL و سومی با استفاده از تابع REMOVEFILTERS است.

مژر اول به صورت زیر نوشته شده است.

 

 

مژر دوم به صورت زیر نوشته شده است.

 

 

مژر سوم به صورت زیر نوشته شده است.

 

 

در نهایت نتایج این محاسبات در جدول زیر قابل مشاهده است.

تابع REMOVEFILTER در Power BI

همان طور که مشاهده می کنید اعداد برای دو ستون برابر شده است چرا که ما در فرمول خود خواسته ایم که تمامی فیلترهای مربوط به جدول Categories نادیده گرفته شوند.

نقش های ALL

ALL هم می تواند به عنوان Table Function ایفای نقش کند هم به عنوان اصلاح کننده (modifier) در CALCULATE. به مثال زیر توجه کنید. در این مثال ALL به عنوان یک Table Function ایفای نقش می کند.

فرض کنید می خواهیم تعداد مشتریان را به تفکیک عنوان شغلی محاسبه کنیم و در نهایت درصد هر شغل را محاسبه کنیم.

مژر ابتدایی تعداد مشتریان را به تفکیک عنوان شغلی محاسبه می کند

 تابع REMOVEFILTER در Power BI

 

در مژر دوم ALL در نقش Table Function ظاهر شده و کل مشتریان را محاسبه می کند.

تابع REMOVEFILTER در Power BI

 

 

مژر سوم حاصل تقسیم مژر اول بر مژر دوم است.

تابع REMOVEFILTER در Power BI

 

و در نهایت خروجی زیر حاصل می شود.

تابع REMOVEFILTER در Power BI

تابع REMOVEFILTERS نمی تواند در نقش Table Function به جای ALL مورد استفاده قرار گیرد. همان طور که مشاهده می کنید در صورتی که از این تابع در نقش Table Function استفاده کنیم با خطا مواجه خواهیم شد.

تابع REMOVEFILTER در Power BI

 

 

حال به نقش ALL به عنوان modifier بپردازیم. فرض کنید می خواهیم همان محاسبات را با استفاده از تابع CALCULATE انجام دهیم.

مژر اول به صورت زیر تعداد مشتریان را به تفکیک شغل نشان می دهد.

تابع REMOVEFILTER در Power BI

 

 

مژر دوم تعداد کل مشتریان را محاسبه می کند و در این جا ALL به عنوان modifier ایفای نقش می کند.

تابع REMOVEFILTER در Power BI

 

 

مژر سوم از حاصل تقسیم دو مژر بر یکدیگر به دست می آید.

تابع REMOVEFILTER در Power BI

 

 

در نهایت خروجی به صورت زیر قابل مشاهده است.

تابع REMOVEFILTER در Power BI

در اینجا تابع REMOVEFILTERS می تواند به عنوان جانشین ALL و به عنوان یک Modifier ایفای نقش کند. شما می توانید این تابع را جایگزین ALL کنید.  به کد زیر توجه کنید.

تابع REMOVEFILTER در Power BI

 

 

و در نهایت خروجی عینا تکرار می شود.

تابع REMOVEFILTER در Power BI

شما می توانید بسته به نتیجه مورد نیاز خود از یک جدول، یک یا چند ستون به عنوان آرگومان REMOVEFILTERS استفاده کنید یا آن را بدون آرگومان به کار ببرید.

جمع بندی

تابع REMOVEFILTERS کاری مشابه با ALL انجام می دهد. حتی می توان گفت ALL در موارد بیشتری کاربرد دارد. ضمن اینکه ALL توابع هم خانواده ی بسیاری مانند ALLSELECTED و ALLEXCEPT دارد که این توابع هنوز برای REMOVEFILTERS ارائه نشده اند. لذا توصیه می شود از تابع REMOVEFILTERS به عنوان Modifier به عنوان جایگزین ALL استفاده نمایید و در موارد دیگر از ALL استفاده کنید.

ضمنا به این نکته توجه نمایید که تابع REMOVEFILTERS در Power BI ارائه شده است و در Excel Power pivot قابل استفاده نمی باشد.

درباره حسین وثوقی

دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...

نوشته های بیشتر از حسین وثوقی
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • کاربرد پارامتر در پاوربی آی
    کاربرد پارامتر و تحلیل حساسیت در پاور بی آی

    2.23k بازدید

  • استفاده از متغیر و تابع EARLIER در زبان DAX

    1.41k بازدید

  • پانزده تابع DAX که باید حتما یاد بگیرید

    2.23k بازدید

  • تابع IF و SWITCH در زبان DAX

    1.12k بازدید

  • رنگ بندی شرطی با زبان DAX
    رنگ بندی شرطی با زبان DAX

    676 بازدید

  • مفهوم Context و انواع آن در زبان DAX
    مفهوم Context و انواع آن در زبان DAX

    942 بازدید

guest
تعداد ماههای سال به عدد
guest
0 نظر
Inline Feedbacks
View all comments
جستجو
جستجو برای:
دسته بندی ها
  • Charts
  • DAX
  • Excel
  • Power BI
  • Power Query
  • هوش تجاری
بسته های آموزشی
  • Excel
  • Power BI
  • SQL
درباره گروه تحلیلگری

معتقدیم آموزش شروع یک تعهد بلند مدت است. این را از مشتریان ما سوال کنید.

اطلاعات تماس
  • تهران، خیابان مطهری، ابتدای خیابان سنایی، کوچه بیست و یکم
  • 543 30 910 - 021
پیوندها
  • آموزش Power BI
  • آموزش SQL
  • آموزش اکسل
دسته بندی محصولات
Excel Power BI SQL
نماد الکترونیک
wpDiscuz

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت