در جلسات قبل آموختیم که :
ستون محاسباتی بعد از تولید شدن داخل 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 اعمال می شود (محور ویژوالها یا سطر و ستونها).
مثلا در این کد زیر 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 با خروجی اکسل این ویژوال ها متفاوت خواهد بود.