• مطالب آموزشی
    • تمام مطالب آموزشی
    • Excel
    • Power BI
    • DAX
  • دوره های آموزشی
    • کلاس اکسل پیشرفته
    • کلاس داشبورد با Power BI
    • کلاس DAX و مدلسازی داده‎
    • Power BI Report Server
    • گالری تصاویر
  • پکیج های آموزشی
    • اکسل
    • Power BI
    • SQL
    • سبد خرید
  • معرفی
  • تماس
  • اینستاگرام
  ورود
گروه تحلیلگری
  • مطالب آموزشی
    • تمام مطالب آموزشی
    • Excel
    • Power BI
    • DAX
  • دوره های آموزشی
    • کلاس اکسل پیشرفته
    • کلاس داشبورد با Power BI
    • کلاس DAX و مدلسازی داده‎
    • Power BI Report Server
    • گالری تصاویر
  • پکیج های آموزشی
    • اکسل
    • Power BI
    • SQL
    • سبد خرید
  • معرفی
  • تماس
  • اینستاگرام
0
ثبت نام / ورود

وبلاگ

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

در ادامه آموزش سریالی Power BI، در قسمت ششم سریال به بررسی کاربردهای زبان DAX می پردازیم. اگر قسمت های قبلی سریال را مطالعه نکرده اید حتما مطالب زیر را بررسی کنید.

مطالعه کنید.

قسمت اول آموزش Power BI

قسمت دوم آموزش Power BI

قسمت سوم آموزش Power BI

قسمت چهارم آموزش Power BI

قسمت پنجم آموزش Power BI

معرفی DAX

DAX، زبان مشترک در ابزارهای Power BI، SSAS Tabular و همچنین Excel Power Pivot است. در واقع DAX، قلب تپنده این ۳ ابزار است. بدون یادگیری زبان DAX، کارایی شما به عنوان کاربر این ابزارها به نصف و حتی پایین تر تقلیل می یابد.

ممکن است در ابتدا بدون دانش DAX، بتوانید داشبوردهای ابتدایی را توسعه دهید، اما به محض ایجاد نیازمندی های جدید با چالش های عدیده ای روبرو خواهید شد.

DAX، یک زبان Functional است که با دیگر زبان های برنامه نویسی تفاوت های بسیاری دارد. اگر از یک برنامه نویس سوال کنیم که چه طور می توان از یک زبان برنامه نویسی به زبان برنامه نویسی دیگر مهاجرت کرد با این پاسخ مواجه شویم که مهاجرت به زبان برنامه نویسی دیگر تنها نیازمند یادگیری Syntax های زبان جدید است.

اما DAX، بر خلاف زبان های برنامه نویسی قوانین، مفاهیم و اصول پایه ای خود را دارد که برای ایجاد داشبوردهای تحلیلی و کاربردی به تسلط بر آن ها نیاز خواهید داشت. ممکن است با سعی و خطا یا جست و جو در صفحات اینترنتی بتوایند به مقصد خود دست یابید، اما با فراگیری مفاهیم و پایه های DAX می توانید خود را به عنوان یک فرد حرفه ای در ابزارهای ذکر شده معرفی کنید.

همان طور که می دانید با دانش ابتدایی Power BI می توانید داشبوردهای ابتدایی را ایجاد کنید اما اگر قصد حرفه ای شدن در این زمینه را دارید باید فراگیری DAX را در اولویت قرار دهید. در واقع بدون یادگیری اصولی DAX، تنها قدرت شما به عنوان توسعه دهنده داشبورد Darg & Drop است. ما در این مطلب سعی می کنیم شما را در مسیر یادگیری DAX، قرار دهیم. پس اگر کاربر یکی از ۳ ابزار Power BI یا SSAS Tabular یا Excel Power Pivot هستید این مطالب را از دست ندهید.

DAX مخفف Data Analysis Expression، زبانی مخصوص تحلیل و ساخت داشبوردهای تحلیلی است. قبلا در مورد تفاوت های DAX و M مطلب گفته شده که می توانید برای مطالعه بیشتر به لینک زیر مراجعه کنید.

مطالعه نمایید!
DAX یا M؟ مساله این است!

اما به طور کلی DAX زبان بهینه برای تحلیل و ساخت گزارشات تحلیلی است و از سوی دیگر M زبان بهینه برای پاکسازی و تبدیل داده است. شاید خیلی از اعمالی که در Power Query و با زبان M، قابل انجام است در DAX نیز قابل انجام باشد اما تا جای ممکن تمام اعمال مربوط به دستکاری، تمیز کاری و تبدیل داده ار در Power Query انجام دهید و انجام آن ها را به DAX، محول نکنید. برعکس سعی کنید تمام اعمال تحلیلی خود را به DAX بسپارید زیرا این زبان قدرتمند خاص تحلیل است.

فرمول های DAX مجموعه ای از توابع، اپراتورها و محدودیت ها هستند که به منظور تحلیل مجموعه ای از داده ها به کار می روند. نتیجه این فرمول ها می تواند یک مقدار یا یک جدول باشد. نتایج این فرمول ها در ساخت داشبورد و ایجاد بینش از کسب و کار بسیار مفید خواهد بود. فرمول های DAX می توانند شامل توابع تو در تو باشند که این شروع اجرای این کدها از داخلی ترین تابع به سمت بیرونی ترین تابع ادامه می یابد.

برای درک این موضوع به مثال زیر توجه کنید. فرض کنید می خواهیم ماه مربوط به هر تاریخ را استخراج کنیم. برای این منظور باید یک ستون محاسباتی (Calculated Column) ایجاد نمایید. همان طور که مشاهده می کنید ابتدا تابع درونی اجرا می شود.

LEFT(‘Date'[Date],7)، ابتدا ۷ کاراکتر از سمت چپ استخراج می کند (به طور مثال برای ردیف اول ۱۳۹۸/۰۱ استخراج می شود) سپس تابع بیرونی از سمت راست ۲ کاراکتر استخراج می کند (۰۱ برای ردیف اول). بدین ترتیب عدد ۰۱ که نشان دهنده ماه فروردین است استخراج می شود.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

موارد کاربرد DAX

ایجاد Measure، ستون محاسباتی (Calculated Columns) و جداول محاسباتی (Calculated Tables) 3 مورد از کاربردهای زبان DAX است.

ستون محاسباتی

یکی از کاربردهای زبان DAX ایجاد ستون محاسباتی است. ستون محاسباتی، ستونی جدید با استفاده از زبان DAX در جدول شما ایجاد می کند. برای ایجاد ستون محاسباتی کافیست از تب Modeling، گزینه New Column را انتخاب کنید. همچنین با راست کلیک کردن بر روی جدول، گزینه New Column در اختیار شما خواهد بود.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

توجه کنید که ستون محاسباتی حتما و حتما باید در جدول مورد نظر شما ایجاد شود، چرا که این ستون به صورت فیزیکی به ستونی از جدول شما تبدیل می شود. بعد از انتخاب New Column، مطابق تصویر باکسی برای نوشتن فرمول باز خواهد شد.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

قبل از علامت مساوی نام مورد نظر برای ستون را تایپ کنید. بعد از علامت مساوی فرمول مد نظر خود را تایپ کنید. به مثال زیر توجه نمایید. فرض کنید قصد ما استخراج سال از تاریخ است. پس نام مورد نظر خود یعنی Year را به عنوان نام در نظر گرفته و بعد از علامت مساوی شروع به نوشتن فرمول خود می کنیم. با استفاده از تابع LEFT، تعداد ۴ کاراکتر از سمت چپ تاریخ جدا می کنیم.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

توجه کنید که ستون های محاسباتی ردیف به ردیف اجرا می شوند. در واقع برای هر به صورت مجزا محاسبه می شود، بنابرین اجباری به استفاده از توابع تجمیعی وجود ندارد.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

همان طور که مشاهده می کنید در هر ردیف به صورت مجزا محاسبه صورت پذیرفته و محاسبه برای ردیف بعدی آغاز می شود.

Measure

یکی از مهمترین کاربردهای زبان DAX ایحاد Measure است. برای ایجاد مژر از تب Modeling، گزینه New Measure را انتخاب نمایید. در باکس باز شده نام مورد نظر را تایپ نموده و بعد از مساوی کد مورد نظر خود را تایپ نمایید. فرض کنید جدولی مطابق تصویر داریم.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

حال می خواهیم یک Measure ایجاد کنیم و جمع تعداد فروش را به دست آوریم. مطابق تصویر عمل می کنیم. همان طور که مشاهده می نمایید Measure ایجاد شده با آیکنی متفاوت در مدل ایجاد شده است. بر خلاف ستون محاسباتی شما نمی توانید نتیجه واحدی از Measure مشاهده نمایید!آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

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

اما برای ایجاد Measure اهمیتی ندارد که در کدام جدول ایجاد شود. به طور مثال ممکن است پس از ایجاد Measure، آن را در مشخصات جدول مشتریان ببینیم که اهمیتی ندارد و هر جایی می توانیم از آن استفاده کنیم. Measure به صورت فیزیکی فضایی در مدل اشغال نمی کند.

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

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

همان طور که مشاهده می نمایید در Visual سمت راست که از نوع Card است، Context خاصی وجود ندارد و جمع کل ستون Quantiry محاسبه شده است. اما در Visual سمت چپ که از نوع table است نتایج متفاوت است. در واقع در هر ردیف Context متفاوتی در نظر گرفته شده است. در ردیف اول Context، مشتری به نام آرمین قاسمی راد است پس محاسبه فقط برای این فرد صورت پذیرفته است. در ردیف Total، همان طور که مشاهده می نمایید Context خاصی وجود ندارد و جمع کل محاسبه شده است. توجه کنید که در هر دو Visual از یک Measure استفاده شده است و تفاوت تنها در Context است.

حتما و حتما مطلب تفاوت های Measure و Calculated Column را مطالعه نمایید.

مطالعه نمایید!
Calculated Column یا Measure؟ مساله این است!

Calculated Table

گاهی اوقات می توانید از Table Functions استفاده نمایید که خروجی آن ها یک جدول است. برای این منظور از تب Modeling، گزینه New Table را انتخاب نمایید. بعد از نوشتن کد جدولی به مدل شما اضافه می شود. به مثال زیر توجه کنید. فرض کنید جدولی به صورت زیر در اختیار دارید.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

قصد دارید جدول شما تنها حاوی اطلاعات سال ۹۸ باشد. پس باید یک جدول جدید ایجاد کنید. برای ایجاد این جدول از تابع FILTER استفاده نموده ایم که خروجی این تابع یک جدول است. در واقع با این کد جدولی جدید به مدل شما اضافه می شود که تنها اطلاعات سال ۹۸ را در خود خواهد داشت.

آموزش Power BI صفر تا سکو : قسمت ششم (کاربردهای زبان DAX)

در این قسمت به کاربردهای زبان DAX پرداختیم. مروری بر نحوه ایجاد و تفاوت های Calculated Column و Measure و همچنین Calculated Table پرداختیم. این مطالب و همچنین لینک های ارائه شده در مطلب را مطالعه نمایید و در ادامه سریال با ما همراه باشید.

برچسب ها: Power BI صفر تا سکو
درباره حسین وثوقی

دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...

نوشته های بیشتر از حسین وثوقی
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • پروژه مدیریت مواد اولیه و تولید با Power BI

    3.58k بازدید

  • کاربرد پارامتر در پاوربی آی
    کاربرد پارامتر و تحلیل حساسیت در پاور بی آی

    2.23k بازدید

  • پیاده سازی Navigation شرطی در Power BI

    1.7k بازدید

  • امنیت در سطح Object در Power BI

    1.11k بازدید

  • پروژه Power BI خانم یاسمن طاهری

    2.91k بازدید

  • پروژه Power BI آقای محمد آذر

    2.3k بازدید

guest
تعداد ماههای سال به عدد
guest
2 نظر
قدیمی ها
جدید ها بیشترین رای
Inline Feedbacks
View all comments
trackback
بررسی خطاهای رایج در زبان DAX - هوش تجاری تکنیک

[…] آموزش Power BI صفر تا سک&#16… […]

0
پاسخ
trackback
سوالات متداول در مصاحبه های شغلی پاور بی آی (قسمت سوم) - هوش تجاری تکنیک

[…] کاربرد های زبان DAX […]

0
پاسخ
جستجو
جستجو برای:
دسته بندی ها
  • Charts
  • DAX
  • Excel
  • Power BI
  • Power Query
  • هوش تجاری
بسته های آموزشی
  • Excel
  • Power BI
  • SQL
درباره گروه تحلیلگری

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

اطلاعات تماس
  • تهران، خیابان مطهری، ابتدای خیابان سنایی، کوچه بیست و یکم
  • 543 30 910 - 021
پیوندها
  • آموزش Power BI
  • آموزش SQL
  • آموزش اکسل
دسته بندی محصولات
Excel Power BI SQL
نماد الکترونیک
wpDiscuz

ورود

رمز عبور را فراموش کرده اید؟

هنوز عضو نشده اید؟ عضویت در سایت