اگر میخواهید در Power BI حرفه ای شوید و گزارشات تاثیرگزار و مفیدی برای مدیر یا کارفرما طراحی کنید باید زبان DAX را یاد بگیرید
در Power BI امکانات خوبی برای نمایش گزارشات با ویژوال متفاوت وجود دارد که میتوانید از آنها برای نمایش هرچه بهتر اطلاعات استفاده کنید. اما برای اینکه گزارشها موثرتر باشد و تحلیل بهتر و پیچیده تری بر روی اطلاعات داشته باشید بایستی از زبان DAX استفاده کنید.
اگر از زبان dax استفاده نکنید گزارشهای خیلی سادهای مثل جمع فروش به تفکیک ماه , سال , گروه کالا و … خواهید داشت.
اما با کمک DAX میتوانید رشد ماهانه و سالانه فروش به تفکیک ماه و سال را حساب کنید و یا نسبت مرجوعی به فروش یا میانگین مدت وصول بدهی و خیلی از شاخص های مهم کسب و کار یا همان KPI ها را پیاده سازی کنید
در واقع هدف اصلی ما از راه اندازی سیستم BI و داشبوردهای مدیریتی نمایش این شاخص ها میباشد تا بدانیم وضعیت مان چگونه است و نمایش گزارشات ساده هیچگاه نمیتواند تاثیرگزار باشد. پس اگر میخواهید در Power BI حرفه ای شوید و گزارشات تاثیرگزار و مفیدی برای کارفرما طراحی کنید باید زبان DAX را یاد بگیرید
DAX مخفف عبارت Data Analysis Expressions است .DAX هم زبان کوئری نویسی و هم زبانی تابعی هست . برای نخستین بار به صورت یک Add In به Microsoft Excel 2010 اضافه شد .
مهمترین هدف DAX کمک به سازماندهی اطلاعات ، تجزیه و تحلیل،درک بهتر اطلاعات برای تجزیه, تحلیل و ارائه گزارشات مطلوب تر است .
زبان DAX را علاوه بر PowerBI میتوانید در Excel Power Pivot و SSAS Tabular هم استفاده کنید.
فقط به یک نکته مهم توجه کنید که ماکروسافت گاهی در نسخه های جدید Power BI Desktop که منتشر میکند توابع جدیدی را برای زبان DAX معرفی میکند اما باید حواستان باشد که این توابع جدید در Excel Power Pivot و SSAS Tabular ناشناخته هستند و در آن محیط ها نمیتوانید از این توابع جدید استفاده کنید.
اشتباه نکنید , زبان DAX یک زبان برنامه نویسی نیست یعنی شما نمیتوانید با زبان DAX اپلیکیشن و یا وبسایت طراحی کنید .
DAX برای بهبود مدل سازی داده ها ، افزایش قدرت تحلیل و گزارش گیری داده ها طراحی شده است .این زبان، دائما در حال بروزرسانی و توسعه است
DAX is a functional language, which means the full executed code is contained inside a function.
DAX زبانی است که برای رسیدن به نتیجه باید از توابع آن استفاده کرد, بنابراین یک زبان مبتنی بر فراخوانی توابع یا Functional Language است که در ادامه با انواع توابع در این زبان آشنا خواهید شد .
توابع را میتوانید بصورت تو در تو فراخوانی کنید و از نتیجه اجرای یک تابع بعنوان ورودی یک تابع دیگر استفاده کنید.
در زبان DAX فقط میتوانید از توابع موجود استفاده کنید و برخلاف زبانهای برنامه نویسی مثل سی شارپ نمیتوانید خودتان تابعی را تعریف و فراخوانی کنید
انواع توابع در زبان DAX :
ریاضیات (math trig)
زمان (Date Time)
فیلتر(Filter)
آماری(statistical)
اطلاعاتی (Info)
متنی (Text)
منطقی (Logical)
پدر فرزندی (Parent Child)
اگر یادتان باشد قبلا هم گفته بودم که در هیچ یک از بخش های Power BI نمیتوانید تغییری در منبع اصلی اطلاعات Data Source اعمال کنید . مثل اگر شما اطلاعات را از فایل اکسل یا یک بانک اطلاعاتی میخوانید , نمیتوانید سطر و ستونهای آن فایل اکسل یا جداول بانک اطلاعاتی را حذف و ویرایش و … کنید و فقط میتوانید بعد از اینکه اطلاعات را داخل Power bi به روش import وارد کردید , داخل Data model آنها را دستکاری کنید که باز هم تغییری به منبع اطلاعات اعمال نمی شود
برخلاف T-SQL در زبان DAX مفاهیمی مثل insert , delete , update برای دستکاری اطلاعات وجود ندارد. پس ما در زبان DAX فقط میتوانیم اطلاعات را بخوانیم , تحلیل کنیم و نتیجه را برگردانیم.
فرض کنید که در زبان DAX فقط میتوانیم Select انجام دهیم.
در SSAS Tabular و Excel Power Pivot هم روال کار به همین گونه است و شما نمیتوانید اطلاعات موجود در منبع اصلی اطلاعات Data Source را تغییر دهید و دستکاری کنید
قبل شروع به کار و نوشتن فرمولها با DAX باید مطمئن شویم که یک مدل دادهایی (Data Model) درست و استاندارد داریم. اگر Data Model را اشتباه طراحی کنید , نمایش اطلاعات بر روی ویژوالها و همچنین نتیجه فرمولهای DAX اشتباه خواهد بود. پس بسیار مهم هست که قبل از هر کاری در Power BI ابتدا دیتا مدل را بدرستی طراحی کنیم .
در درس بعدی به بررسی Data model میپردازیم