استفاده از تابع CALCULATE در پاور بی آی
یک عبارت را در زمینه فیلتر اصلاح شده ارزیابی می کند.
توجه داشته باشید
همچنین عملکرد CALCULATE TABLE وجود دارد. این عملکرد دقیقاً مشابه را انجام می دهد ، با این تفاوت که زمینه فیلتر اعمال شده روی عبارتی را که یک شی جدول را برمی گرداند ، تغییر می دهد.
Syntax
Parameters
عبارتی که به عنوان اولین پارامتر استفاده می شود در اصل همان اندازه گیری است.
فیلترها می توانند عبارتند از:
- عبارات فیلتر Boolean
- عبارات فیلتر جدول
- توابع اصلاح فیلتر
هنگامی که چندین فیلتر وجود دارد ، می توان آنها را با استفاده از عملگر منطقی AND (&&) ارزیابی کرد ، بدین معنی که همه شرایط باید TRUE باشند ، یا توسط عملگر منطقی OR (||) ، به این معنی که هر یک از شرایط می تواند درست باشد.
عبارات فیلتر Boolean
فیلتر بیان بولی عبارتی است که به TRUE یا FALSE ارزیابی می شود. چندین قانون وجود دارد که آنها باید رعایت کنند:
- آنها می توانند ستون های یک جدول را ارجاع دهند.
- نمی توانند به اقدامات اشاره کنند.
- آنها نمی توانند از تابع CALCULATE تو در تو استفاده کنند.
- نمی توانند از توابع اسکن یا بازگشت جدول ، از جمله توابع تجمیع استفاده کنند.
بیان فیلتر جدول
فیلتر عبارت جدول یک شی جدول را به عنوان فیلتر اعمال می کند. این می تواند مرجعی برای یک جدول مدل باشد ، اما به احتمال زیاد این یک تابع است که یک شی جدول را برمی گرداند.
می توانید از تابع FILTER برای اعمال شرایط پیچیده فیلتر ، از جمله شرایطی که با عبارت فیلتر بولی تعریف نمی شوند ، استفاده کنید.
توابع اصلاح فیلتر
عملکردهای اصلاح فیلتر به شما امکان می دهد کارهایی بیش از افزودن فیلترها انجام دهید. هنگام تغییر زمینه فیلتر ، آنها کنترل اضافی را در اختیار شما قرار می دهند.
تابع ALL و انواع آن هم به عنوان اصلاح کننده فیلتر و هم به عنوان توابعی که اشیاء جدول را برمی گردانند ، رفتار می کنند.
اگر عملکرد REMOVEFILTERS توسط ابزار شما پشتیبانی می شود ، بهتر است از آن برای حذف فیلترها استفاده کنید.
مقدار بازگشتی
مقدار حاصل از عبارت است.
ملاحظات
وقتی عبارات فیلتر ارائه می شود ، تابع CALCULATE زمینه فیلتر را برای ارزیابی عبارت تغییر می دهد. برای هر عبارت فیلتر ، دو نتیجه استاندارد احتمالی وجود دارد که عبارت فیلتر در تابع KEEPFILTERS پیچیده نشده باشد:
- اگر ستون ها (یا جداول) در زمینه فیلتر نباشند ، فیلترهای جدیدی برای ارزیابی عبارت به زمینه فیلتر اضافه می شوند.
- اگر ستونها (یا جداول) از قبل در زمینه فیلتر قرار داشته باشند ، فیلترهای موجود برای ارزیابی عبارت CALCULATE توسط فیلترهای جدید رونویسی می شوند.
عملکرد CALCULATE که بدون فیلتر مورد استفاده قرار می گیرد ، نیاز خاصی را برآورده می کند.
این زمینه ردیف را به فیلتر زمینه منتقل می کند. زمانی لازم است که یک عبارت (و نه مدل اندازه گیری) که داده های مدل را خلاصه می کند در زمینه ردیف ارزیابی شود.
این سناریو می تواند در یک فرمول ستون محاسبه شده یا هنگامی که یک عبارت در یک تابع تکرار کننده ارزیابی می شود اتفاق بیفتد.
توجه داشته باشید که وقتی از یک مدل اندازه گیری در زمینه ردیف استفاده می شود ، انتقال زمینه به صورت خودکار انجام می شود.
هنگامی که در ستون های محاسبه شده یا قوانین امنیت سطح (RLS) استفاده می شود ، این عملکرد برای استفاده در حالت DirectQuery پشتیبانی نمی شود.
مثال ها
جدول اندازه گیری جدول فروش زیر نتیجه درآمد ایجاد می کند ، اما فقط برای محصولاتی که رنگ آبی دارند.
تابع CALCULATE مجموع ستون میزان فروش جدول فروش را در زمینه فیلتر اصلاح شده ارزیابی می کند.
یک فیلتر جدید به ستون رنگ جدول محصول اضافه می شود – یا فیلتر هر فیلتری را که قبلاً روی ستون اعمال شده است رونویسی می کند.
جدول اندازه گیری فروش زیر ، نسبت فروش به فروش را برای همه کانال های فروش ایجاد می کند.
تابع DIVIDE عبارتی را که مقدار ستون میزان فروش جدول فروش را (در زمینه فیلتر) با همان عبارت در زمینه فیلتر اصلاح شده جمع می کند، تقسیم می کند.
این تابع CALCULATE است که با استفاده از تابع REMOVEFILTERS ، که یک تابع اصلاح کننده فیلتر است ، زمینه فیلتر را تغییر می دهد. این فیلترها را از ستون جدول سفارش فروش حذف می کند.
جدول ستون محاسبه شده در جدول زیر مشتریان را در یک طبقه وفاداری طبقه بندی می کند.
این یک سناریوی بسیار ساده است: هنگامی که درآمد تولید شده توسط مشتری کمتر از 2500 دلار باشد ، آنها به عنوان کم طبقه بندی می شوند. وگرنه آنها بالا هستند.
در این مثال ، زمینه سطر به زمینه فیلتر تبدیل می شود. به عنوان انتقال زمینه شناخته می شود. تابع ALLEXCEPT فیلترها را از همه ستون های جدول مشتری به جز ستون CustomerKey حذف می کند.
سپاسگذاریم برای خواندن این مقاله
برای خرید لایسنس نرم افزار Power BI کلیک کنید.
برای دانلود آموزش نرم افزار Power BI کلیک کنید.
دیدگاهتان را بنویسید