خانه / آموزش Power BI بابازاده / درس هفتاد و پنجم – دوره ای بر Filter Context

درس هفتاد و پنجم – دوره ای بر Filter Context

در جلسات قبل آموختیم که :

ستون محاسباتی بعد از تولید شدن داخل Data Model قرار می گیرد و حجمی از دیتا مدل اشغال می کند. بعد از هر Refresh منابع داده ای ، ستون های محاسباتی، از اول مجدد حساب می شوند.
در نتیجه تعداد ستون های محاسباتی با زمان Refresh و Load در ارتباط است و بهتر است Calculated Column ها را در سمت منابع داده ای پیاده سازی کنیم.
(مثلا در فایل اکسل یا در سمت دیتابیس به وسیله SQL Command خودمان آن ها را تولید کنیم.)

در عمل موردی که خودم تجربه کردم و در شرکتهای مختلف دیدم این هست که اگر منبع داده , یک بانک اطلاعاتی مثل اس کیو ال سرور یا اوراکل هست , بهترین کار این هست که در کوئری view یا sp ایجاد ستون محاسباتی را انجام بدید.
متاسفانه برخی دوستان بدلیل دانش فنی پایین , ایجاد ستون محاسباتی را در پاور بی آی انجام میدن که باعث کند شدن فرآیند بروزرسانی پاور بی ای خواهد شد.

Filter Context :

در پاور بی آی مفهومی به نام Filter Context (Layers of Filters) یا لایه هایی از فیلترهای مختلف داریم.
اگر این مفهوم رو خوب درک کنید واقعا ۸۰ درصد از DAX را یاد گرفته اید. خیلی خیلی مبحث مهم و پایه ای هست.
شما با درک این مفهوم نحوه تاثیرگذاری فیلترها بر روی محاسبات را به خوبی درک خواهید کرد و دیگر دکس یک زبان پیچیده نخواهد بود.

Filter Context  مجموعه ای از فیلترها است که بر روی محاسبات دکس اعمال میشود.
Filter Context شامل فیلترهای  از  Slicer ها ، Filter Pane Bar ، فیلتر داخل کد Dax و فیلتری که در خود Visual اعمال می شود (محور ویژوالها یا سطر و ستونها).

به فیلتری که داخل کد Dax نوشته میشود ، Explicit Filter و به سایر فیلتر ها که از خارج کد دکس مانند اسلایسر میان ، Implicit Filter یا فیلتر ضمنی گفته می شود.
مثلا در این کد زیر   DimProduct[Color] =Red یک فیلتر صریح یا Explicit Filter  هست که در مژر Sale_RedProduct نوشته شده است اما سال ۲۰۱۲ که در اسلایسر انتخاب شده است یک فیلتر ضمنی یا Implicit Filter  محسوب میشود.

به یک نکته خیلی مهم توجه کنید :

قسمت های Total در ویژوال های Table و Matrix در Power BI همانند اکسل محاسبه نمی شوند که بیاید و SUM مقادیر سلولهای یک ستون را محاسبه  و به ما نشان دهد.
بلکه در پاور بی ای مقدار Total در ویژوال Table و Matrix  هر ستون با حذف  Filter Context تمام ردیفها ، مجددا محاسبه می شود یا اگر بخواهد Total  را در هر ردیف نشان دهد ، Column Filter را برایمان حذف می کند.
در محاسبه Grand Total هم Column Filter  و هم Row Filter  با هم حذف می شوند و فقط از Explicit Filter ، Filter Pane Bar و اسلایسر تاثیر می گیرد.

پس یادتان باشد که گاهی مقدار Total در Power BI با خروجی اکسل این ویژوال ها متفاوت خواهد بود.

درباره‌ی علیرضا حسن نژاد

همچنین ببینید

درس هفتاد و هشتم – AllSelected

تابع AllSelected : از ستونی که در AllSelected قرار داده ایم ، همه Item ها …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

معادله امنیتی (فقط عدد بنویسید) *