آموزش DAX در Power Bi قسمت اول

در این مطلب قصد داریم به آموزش DAX در Power BI بپردازیم. در اولین گام قصد داریم به مرور مفاهیم پایه ای در زبان DAX بپردازیم. مفاهیم بسیار مهمی مثل Row Context و Filter Context.

قبل از مطالعه حتما به این مطلب سری بزنید تا مطمئن شوید می دانید DAX چیست؟

DAX مخفف عبارت Data Analysis Expression زبان مشترک بین نرم افزار های Power BI، همچنین Excel Power Pivot و SSAS Tabular است. زبان DAX مجموعه ای از توابع، اپراتور ها و محدودیت ها است که می تواند یک یا چند مقدار را به عنوان خروجی تولید کند و به شما کمک کند تا اطلاعات جدیدی از دل داده های خود استخراج کنید.

Context

در اکوسیستم زبان DAX دو نوع Context وجود دارد. این دو مفهوم بسیار مهم عبارتند از Row Context و Filter Context.

Row Context

این مفهوم بسیار مهم به ردیف جاری اشاره دارد. هنگامی که یک ستون محاسباتی ایجاد می کنید در واقع این مفهوم به میان می آید، چرا که ستون محاسباتی ردیف به ردیف محاسبه می شود.
فرض کنید می خواهیم در جدول فروش تعداد فروش را در قیمت ضرب کنیم. تصویر این عملیات را مشاهده می کنید.

what is dax 12 - آموزش DAX در Power Bi قسمت اول

در واقع محاسبات ردیف به ردیف صورت می گیرد. پس در هر لحظه یک ردیف جاری وجود دارد که محاسبه برای آن ردیف صورت می گیرد. ستون محاسباتی تنها جایی نیست که Row Context ایجاد می شود، اما یکی از مهم ترین موارد آن است.

حال فرض کنید همین فرمول را به عنوان یک مژر ایجاد کنیم. هر چه سعی می کنم UnitPrice را تایپ کنم، موفق به انجام آن نمی شوم. مگر این که یک Row Context ایجاد کنم. در واقع بدون ایجاد آن موتور نرم افزار نمی تواند تشخیص دهد این محاسبه برای کدام ردیف صورت پذیرد.

what is dax 15 - آموزش DAX در Power Bi قسمت اول

با استفاده از تابع SUMX این Row Context را ایجاد می کنیم. به SUMX می گویم برو در جدول Sales (آرگومان اول)، ردیف به ردیف تعداد را در قیمت ضرب کن (آرگومان دوم). پس ردیف به ردیف تعداد را در قیمت ضرب کرده و در نهایت آن را با هم جمع می کند.

what is dax 14 - آموزش DAX در Power Bi قسمت اول

Filter Context

محاسبات شما اصولا با توجه به Filter Context صورت می پذیرد. شما یک مژر را در یک Matrix استفاده می کنید و در سلول های مختلف آن با اعداد متفاوتی روبرو می شوید. به مثال زیر توجه کنید.

what is dax 17 - آموزش DAX در Power Bi قسمت اول

در Card هیچ اثری از Filter Context نیست. پس جمع کل محاسبه شده است (۱). در شماره ۲ در واقع Filter Context، سال ۲۰۱۱ و کانال Catalog است، پس محاسبه برای این دو مقدار صورت می پذیرد.

در شماره ۳ Filter Context تنها Reseller است، پس میزان فروش برای کانال Reseller محاسبه می شود. در شماره ۴ در واقع Filter Context سال ۲۰۱۲ است. در شماره ۵ هیچ گونه Filter Context اعمال نشده پس معادل جمع کل است.

پس وقتی گفته می شود خروجی مژر یک عدد است، منظور ما یک عدد به ازای هر Filter Context است. در واقع با ساخت مژر محاسبات در Filter Context مورد نظر شما انجام می شود. به همین دلیل است که با تغییر سر ستون ها به طور مثال از ChannelName به نام کالا باز هم محاسبات به درستی انجام می شوند.

دو مفهوم Row Context و Filter Context قدرت بی نظیری به شما اعطا می کند. شاید تا به حال اسمی از این مفاهیم به گوش شما نخورده باشد، اما هر لحظه در حال استفاده از آن ها هستید.

با سری مطالب آموزش زبان DAX در Power BI همراه باشید تا با هم سیری در دنیای زیبای زبان DAX داشته باشیم.



6b77990865d588b48d7f55a013cdd7ec?s=300&d=mm&r=g - آموزش DAX در Power Bi قسمت اول

حسین وثوقی

دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
1 1 رای
Article Rating
عضویت
به دوستتان خبر دهید.
guest
2 Comments
قدیمی ها
جدید ها بیشترین رای
Inline Feedbacks
View all comments
statis
statis
6 روز و گذشته

با سلام

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

2
0
عالی میشه اگر نظر بدید.x
()
x