• مطالب آموزشی
    • تمام مطالب آموزشی
    • 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
ثبت نام / ورود

وبلاگ

تعریف و استفاده از متغیرها در DAX

در این بخش به تعریف و استفاده از متغیرها در  DAX می‌پردازیم؛ و تغییرات فروش را بین سال‌های مختلف محاسبه می‌کنیم. و همچنین با به‌دست آوردن مجموع فروش در هرسال، درصد تغییرات بین هرسال را مقایسه می‌کنیم.

 داده‌های ما  شبیه به جدول زیر می‌باشند:

Year Month Sales
۲۰۱۳ ۱ ۲۰
۲۰۱۳ ۲ ۲۵
۲۰۱۴ ۱ ۲۲
۲۰۱۴ ۲ ۲۳
۲۰۱۵ ۱ ۲۱
۲۰۱۵ ۲ ۳۱

  با استفاده از متغیرها می‌توان برخی مدل‌سازی داده‌ای خارق‌العاده را برای دریافت نتایج موردنظر اعمال کرد. در شکل زیر ما نتایج measure ها را در نمودارها می‌بینیم:

حال بیایید شروع کنیم:

Power BI را بازکنید و در نوار Home، بر روی Get data کلیک کرده و Blank Query را انتخاب کنید. Connect را بزنید تا پنجره Query Editor باز شود. در نوار View، بر روی دکمه Advanced Editor کلیک کرده و کد زیر را در پنجره ویرایشگر پیست کنید؛ و سپس با فشردن Done فرآیند بارگذاری داده را کامل کنید.

Let

Source = Excel.Workbook(Web.Contents(“https://powerbi.tips/wp-

content/uploads/2017/05/Clothing-Sales.xlsx”), null, true),

ClothingSales_Table = Source{[Item=”ClothingSales”,Kind=”Table”]}[Data],

#”Changed Type” = Table.TransformColumnTypes(ClothingSales_Table,{{“Date”, type

date}, {“Category”, type text}, {“Sales”, Int64.Type}}), #”Inserted Year” = Table.AddColumn(#”Changed Type”, “Year”, each

Date.Year([Date]), type number)

in

 #”Inserted Year”

داده‌های بارگذاری شده شما باید به شکل زیر باشد:

نام کوئری را به ClothingSales تغییر دهید و سپس Close&Apply را بزنید تا داده درون data model بارگذاری شود. حال ابتدا بر روی ستون Date موجود در قاب Fields و سپس بر روی Modeling کلیک کنید. در بخش Formatting فرمت آن را به Date Time تغییر دهید و فرمت M/d/yyyy را انتخاب کنید. مراحل بالا را برای ستون‌های زیر نیز انجام دهید.

برای فرمت ستون Sales، ابتدا Currency  و سپس گزینه (English (United States$ را بزنید.

برای فرمت year نیز Whole number را انتخاب کنید.

بعد از تغییر فرمت داده‌های مذکور حال شرایط فراهم است تا یک نمودار میله‌ای ساده بسازیم. تصویر زیر مربوط به تنظیمات نمودار میله‌ای می‌باشد.

برای شروع ما می‌خواهیم به محاسبه مجموع فروش‌ها بپردازیم. در تب Home بر روی New measure کلیک کنید و کد زیر را در آن بنویسید.

Total Selected Sales = SUM(ClothingSales[Sales])

از قسمت visualization یک Card را انتخاب کنید و سپس measure را در قسمت Fields قرار دهید.

روی Card کلیک کنید و سپس وارد قسمت Paint Roller شوید و تنظیمات Display unite را در Data label از حالت Auto به None تبدیل کنید تا مانند تصویر زیر عدد به‌صورت کامل نمایش داده شود.

حال می‌خواهیم باکمی تغییر در Card فرمت دلار را نیز نشان دهیم.

بر روی نوار Modeling کلیک کنید و فرمت آن را به Currency تغییر دهید سپس (English (United States$ را انتخاب کنید. فرمت نهایی Card باید به‌صورت تصویر زیر باشد.

حال ما می‌خواهیم گام‌های قبلی را برای measure های جدیدمان تکرار کنیم.

۱-measure را بسازید.

۲-فرمت Card را تغییر دهید.

۳-فرمت measure را تغییر دهید.

Measure بعدی مجموع کل فروش سال گذشته را محاسبه می‌کند.

Prior Year Sales =

VAR

selectedYear = if( HASONEVALUE(ClothingSales[Year]),

        FIRSTNONBLANK(ClothingSales[Year],ClothingSales[Year]),

        BLANK() )-1

Return

       CALCULATE(

                   SUM(ClothingSales[Sales]),

                   ALL(ClothingSales),

                   ClothingSales[Year] = selectedYear)

حال توضیح خواهیم داد که در این measure چه اتفاقی می‌افتد.

 اول، ما با استفاده از VAR یک متغیر میسازیم و نام آن را SelectedYear می‌گذاریم که اگر چند سال باهم انتخاب شوند، این متغیر مقدار خالی را برمی‌گرداند که این شرط با استفاده از عبارت if و فرمول ()HASONEVALUE انجام می‌شود.

و Return این اجازه را به ما می‌دهد تا مقداری را بتوانیم به‌عنوان خروجی داشته باشیم. در این مثال ما از ()CALCULATE برای محاسبه مجموع فروش‌ها استفاده می‌کنیم و در این فرمول از ۲ فیلتر استفاده می‌کنیم.

  اولین فیلتر تمام جدول را با استفاده از ()All انتخاب می‌کند و سپس فیلتر را از متغیر پیشنهادی قبلی با نام SelectedYear اعمال می‌کنیم.

 

همان مراحل قالب‌بندی ۲و ۳ را که قبلاً ذکر شد اعمال کنید. اکنون ما می‌توانیم یکی از سال‌ها را در نمودار میله‌ای انتخاب کنیم. انجام این کار باعث می‌شود تا دو measure ایجاد شود که یکی برای فروش کل سال انتخاب‌شده و دیگری برای سال قبل از فروش هست.

ما سال ۲۰۱۴ را انتخاب کردیم که فروش آن ۱۱۰۰۰ دلار است. ماوس را بر روی بخشی از نمودار که مربوط به سال ۲۰۱۳ است قرار دهید همان‌طور که می‌بینید نوک ابزار به‌طورکلی فروش ۱۰۰۰۰ دلار را نشان می‌دهد.

حال ما می‌خواهیم درصد تغییرات را محاسبه کنیم، برای این کار مانند زیر عمل کرده و یک measure می‌سازیم:

Percent Change = DIVIDE([Total Selected Sales],[Prior Year Sales],1)-1

روی نوار Modeling کلیک کنید و فرمت measure را به درصد تغییر دهید. حال یک measure نهایی مانند آنچه در زیر می‌بینید برای نشان دادن میزان تغییرات تعریف می‌کنیم:

Prior Year Delta = [Total Selected Sales] – if( [Prior Year Sales] = BLANK(),
[Total Selected Sales],[Prior Year Sales])

این measure، تغییرات کل را در میان دو سال انتخاب‌شده محاسبه می‌کند. دستور if در انتهای معادله، حالتی را بررسی می‌کند که اگر شما سال خاصی را انتخاب نکرده باشید سال پیشین را بطور پیش‌فرض صفر درنظر بگیرد.

درباره مبینا چزانی

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

نوشته های بیشتر از مبینا چزانی
در تلگرام
کانال ما را دنبال کنید!
در اینستاگرام
ما را دنبال کنید!
مطالب زیر را حتما بخوانید
  • کاربرد پارامتر در پاوربی آی
    کاربرد پارامتر و تحلیل حساسیت در پاور بی آی

    2.23k بازدید

  • استفاده از متغیر و تابع EARLIER در زبان DAX

    1.41k بازدید

  • پانزده تابع DAX که باید حتما یاد بگیرید

    2.23k بازدید

  • تابع IF و SWITCH در زبان DAX

    1.12k بازدید

  • رنگ بندی شرطی با زبان DAX
    رنگ بندی شرطی با زبان DAX

    676 بازدید

  • مفهوم Context و انواع آن در زبان DAX
    مفهوم Context و انواع آن در زبان DAX

    942 بازدید

guest
تعداد ماههای سال به عدد
guest
0 نظر
Inline Feedbacks
View all comments
جستجو
جستجو برای:
دسته بندی ها
  • Charts
  • DAX
  • Excel
  • Power BI
  • Power Query
  • هوش تجاری
بسته های آموزشی
  • Excel
  • Power BI
  • SQL
درباره گروه تحلیلگری

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

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

ورود

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

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