سناریوهای DAX به طور کلی شامل ایجاد محاسبات و اندازهگیریهای جدید بر روی دادههای موجود در مدل دادهای پاور بیآی است. این میتواند شامل محاسبات سادهای مانند مجموع، میانگین، تفریق، ضرب و درصد باشد، یا محاسبات پیچیدهتر که شامل فیلتر کردن دادهها، گروه بندی دادهها، استفاده از توابع محاسباتی پیشرفته و ایجاد روابط بین جدولهای مختلف باشد.
به عنوان مثال، میتوان سناریویی را در نظر گرفت که در آن نیاز به محاسبه مجموع فروش برای هر منطقه جغرافیایی در یک دوره زمانی خاص داشته باشیم، یا سناریویی که نیاز به محاسبه درصد رشد فروش نسبت به دوره قبل باشد. در هر سناریو، استفاده از توابع DAX مناسب، مانند SUM
, CALCULATE
, FILTER
, ALL
, و DATESBETWEEN
برای دستیابی به نتیجه مورد نظر ضروری است.
در ادامه 5 تا از سناریو های مهم dax محاسبات ریاضی در پاور بی آی را بررسی میکنیم.
محاسبه مجموع فروش:سناریو DAX
فرض کنید جدولی دارید با ستونهایی مانند “فروشنده” و “مبلغ فروش”. میخواهید مجموع فروش هر فروشنده را محاسبه کنید.سناریو DAX
فرض کنید جدول شما Sales
نام دارد و ستونهای آن Salesperson
(فروشنده) و SalesAmount
(مبلغ فروش) هستند. برای محاسبه مجموع فروش هر فروشنده، از تابع SUMX
استفاده میکنیم:
این فرمول به صورت زیر عمل میکند:
SUMX
: این تابع برای جمع زدن مقادیر در یک جدول استفاده میشود.Sales
: این نشان دهنده جدولSales
است.Sales[SalesAmount]
: این نشان دهنده ستونSalesAmount
در جدولSales
است.
این فرمول برای هر ردیف در جدول Sales
مبلغ فروش را در ستون SalesAmount
برمیگرداند و سپس این مقادیر را برای هر فروشنده جمع میکند. نتیجه این فرمول در یک ستون جدید با نام Total Sales Per Salesperson
در جدول Sales
نمایش داده میشود و مجموع فروش هر فروشنده را نشان میدهد.
اگر جدول شما نام دیگری دارد یا ستونها نامهای متفاوتی دارند، باید نامهای مربوطه را در فرمول جایگزین کنید.سناریو DAX
محاسبه میانگین قیمت:
فرض کنید جدولی دارید با ستون “محصول” و “قیمت”. میخواهید میانگین قیمت محصولات را محاسبه کنید.
فرض کنید جدول شما Products
نام دارد و ستونهای آن ProductName
(نام محصول) و Price
(قیمت) هستند. برای محاسبه میانگین قیمت محصولات، از تابع AVERAGE
استفاده میکنیم:سناریو DAX
این فرمول بسیار ساده است. AVERAGE
به طور مستقیم میانگین مقادیر در ستون Price
جدول Products
را محاسبه میکند. نتیجه این محاسبه در یک اندازه گیری (Measure) با نام Average Price
ذخیره میشود و در گزارشهای پاور بیآی قابل استفاده است. اگر نام جدول یا ستون شما متفاوت است، باید آن را در فرمول جایگزین کنید.
محاسبه درصد افزایش فروش:سناریو DAX
فرض کنید دو ستون دارید، یکی “فروش سال گذشته” و دیگری “فروش امسال”. میخواهید درصد افزایش فروش را محاسبه کنید.
برای محاسبه درصد افزایش فروش، به دو ستون نیاز داریم: یکی برای فروش سال گذشته و دیگری برای فروش امسال. فرض میکنیم جدول شما Sales
نام دارد و ستونهای آن LastYearSales
(فروش سال گذشته) و ThisYearSales
(فروش امسال) هستند. چند روش برای محاسبه درصد افزایش فروش وجود دارد:
روش اول (با استفاده از IF برای جلوگیری از خطا):سناریو DAX
این روش از تابع IF
استفاده میکند تا در صورت صفر بودن فروش سال گذشته، از خطای تقسیم بر صفر جلوگیری کند. در این صورت، مقدار BLANK()
(مقدار خالی) برمیگردد. در غیر این صورت، تفاوت فروش امسال و سال گذشته تقسیم بر فروش سال گذشته میشود و نتیجه درصد افزایش را میدهد.
روش دوم (بدون IF، با استفاده از DIVIDE):
این روش سادهتر است اما در صورتی که فروش سال گذشته صفر باشد، خطای تقسیم بر صفر را نشان میدهد. پاور بیآی به طور خودکار این خطا را با مقدار خالی (BLANK) نمایش میدهد.سناریو DAX
توجه: هر دو فرمول بالا یک اندازهگیری (Measure) در DAX ایجاد میکنند. این اندازه گیری درصد افزایش فروش را محاسبه میکند. حتما نام ستونهای خود را در فرمول جایگزین کنید اگر نام آنها متفاوت است. همچنین، میتوانید نتیجه را در قالب درصد نمایش دهید با قالببندی ستون در پاور بیآی.
محاسبه تخفیف:
فرض کنید جدولی با ستونهایی مانند “قیمت اصلی” و “درصد تخفیف” دارید. میخواهید قیمت نهایی با احتساب تخفیف را محاسبه کنید.
فرض کنید جدول شما Products
نام دارد و ستونهای آن OriginalPrice
(قیمت اصلی) و DiscountPercentage
(درصد تخفیف) هستند. برای محاسبه قیمت نهایی با احتساب تخفیف، از فرمول زیر استفاده میکنیم:سناریو DAX
این فرمول ابتدا درصد تخفیف را از 1 کم میکند تا به ضریب باقیمانده (1- درصد تخفیف) برسد. سپس این ضریب را در قیمت اصلی ضرب میکند تا قیمت نهایی را به دست آورد. مثلا اگر قیمت اصلی 100 و درصد تخفیف 10% باشد، فرمول به صورت زیر محاسبه میشود:
100 * (1 - 0.1) = 90
توجه: در این فرمول فرض شده است که
DiscountPercentage
به صورت اعشاری (مثلاً 0.1 برای 10%) است. اگر ستونDiscountPercentage
به صورت درصدی (مثلاً 10 برای 10%) باشد، باید فرمول را اصلاح کرد:
این فرمول اصلاح شده، قبل از کم کردن از 1، مقدار درصد تخفیف را بر 100 تقسیم میکند تا به مقدار اعشاری تبدیل شود. این فرمول نیز یک اندازه گیری (Measure) در DAX ایجاد میکند. حتماً نام ستونهای خود را در فرمول جایگزین کنید اگر نام آنها متفاوت است.سناریو DAX
محاسبه سود:
فرض کنید ستونهای “فروش” و “هزینه” را دارید. میخواهید سود را محاسبه کنید (فروش – هزینه).
فرض کنید جدولی با نام SalesData
دارید که دارای ستونهای Sales
(فروش) و Cost
(هزینه) است. محاسبه سود (فروش منهای هزینه) به سادگی با فرمول زیر در DAX انجام میشود:
این فرمول یک اندازهگیری (Measure) در DAX ایجاد میکند که اختلاف بین ستونهای Sales
و Cost
را محاسبه میکند. نتیجه این فرمول سود (یا زیان اگر هزینه بیشتر از فروش باشد) را نشان میدهد. اگر نام ستونهای شما متفاوت است، باید آنها را در فرمول جایگزین کنید.
بدون دیدگاه