آموزش Power BI: قسمت یازدهم (تابع CALCULATE در زبان DAX)
در ادامه آموزش سریالی Power BI صفر تا سکو به بررسی یکی از مهمترین توابع در زبان DAX می پردازیم.
در این مطلب به بررسی تابع CALCULATE در زبان DAX که یکی از مهمترین توابع این زمان به شمار می رود، می پردازیم. بعید می دانم کسی با Power BI یا Power Pivot کار کرده باشد و از این تابع استفاده نکرده باشد.
برای بررسی این تابع از مجموعه داده ای استفاده نمودیم که به صورت Snowflake مدل شده است و در تصویر زیر قابل مشاهده است.
تابع CALCULATE
برای استفاده از تابع CALCULATE در زبان DAX به طریق زیر عمل می کنیم.
همان طور که مشاهده می کنید این تابع از یک Expression و چندین آرگومان فیلتر بهره می گیرد. در آرگومان اول می گویید چه چیزی محاسبه شود و در آرگومان های بعدی فیلترهای خود را اعمال می کنید.
فیلتر در تابع CALCUALTE
به طور مثال فرض کنید می خواهیم میزان فروش کالاهای قرمز رنگ را برای هر برند مشاهده کنید. ابتدا مژری ایجاد می کنیم که میزان فروش را محاسبه کند.
حال با استفاده از تابع CALCUALTE به طریق زیر میزان فروش کالاهای قرمز رنگ را محاسبه می کنیم. در واقع در آرگومان اول از میزان فروش که قبلا مژر آن را ایجاد کردیم استفاده شده و در آرگومان دوم گفتیم که فقط برای کالاهای قرمز رنگ محاسبه را انجام دهد.
همان طور که مشاهده می کنید میزان فروش کالای قرمز رنگ در مقایسه با کل فروش نمایش داده می شود. همان طور که مشاهده می کنید میزان فروش ما برای گروه دوچرخه حدود 28 میلیون دلار بوده که 7.5 میلیون دلار از آن متعلق به رنگ قرمز بوده است.
همچنین می توانید فیلتر های مختلفی برای این تابع اعمال کنید. به طور مثال می خواهیم فروش رنگ قرمز به خانم ها را مورد بررسی قرار دهیم.
برای این منظور به ترتیب زیر عمل می کنیم.
میزان فروش رنگ قرمز به خانم ها را در تصویر زیر مشاهده می کنید که بر خلاف تصور آن قدر ها هم معنی دار نبوده است و تقریبا با فروش رنگ قرمز به آقایان برابر است.
تابع CALCULATE و ALL
از ترکیب این 2 تابع می توان گزارش های ارزشمندی ایجاد کرد. ALL فیلتر ها را نادیده می گیرد. مژر زیر را در نظر بگیرید.
حال نتیجه این مژر را مشاهده کنید. همان طور که مشاهده می کنید تمامی اعداد با هم برابر هستند. این به دلیل وجود تابع ALL است که فیلتر ها را نادیده گرفته است.
خب! این گزارش به چه دردی می خورد؟! آفرین. درست حدس زدید. این مژر به تنهایی دردی دوا نمی کند! این مژر به ما کمک می کند که درصد را محاسبه کنیم. در واقع برای محاسبه درصد فروش هر گروه کالا باید از این مژر کمک بگیریم. کافی است میزان فروش هر گروه کالا را بر کل فروش تقسیم کنیم.
در نهایت نتیجه را در گزارش زیر مشاهده می کنید.
درباره حسین وثوقی
دانش آموخته مهندسی صنایع و مدیریت فناوری اطلاعات دانشگاه تهران، علاقه مند به تحلیل و ارائه راه حل برای مسائل و بهینه سازی راه حل ها هستم ...
نوشته های بیشتر از حسین وثوقیمطالب زیر را حتما بخوانید
-
داده های نمونه و تمرینی برای یادگیری پاور بی آی | Power BI
434 بازدید
-
تنظیم مقدار پیش فرض اسلایسر تاریخ در Power BI
248 بازدید
-
دومین مسابقه بزرگ Power BI ایران
470 بازدید
-
نمونه پروژه داده های اقتصادی با Power BI
824 بازدید
-
نمونه پروژه قند مواد غذایی با Power BI
892 بازدید
-
اولین مسابقه طراحی داشبورد با Power BI
1.59k بازدید
عالی و مفید – مرسی
ممنون از توجه و همراهی شما
من میخوام یه تابعی بنویسم که بیاد و سطر به سطر داده یک ستون رو بر داده های ستون دیگه تقسیم کنه و نشون بده. به طوری که وقتی توی ویژال جدول روی اسمش کلیک میکنم نشون بده و وقتی چیزی رو انتخاب نمیکنم بیاد داده های ستون اول رو جمع کنه و بر جمع داده های ستون دوم تقسیم کنه و نشون بده.
چه تابعی این کارو میکنه؟
CalculatedColumn =
IF(
HASONEVALUE(‘Table'[ID]), — جایگزین ‘Table’ با نام جدول واقعی و ‘ID’ با ستون کلید اصلی
DIVIDE(‘Table'[Column1], ‘Table'[Column2]),
DIVIDE(SUM(‘Table'[Column1]), SUM(‘Table'[Column2]))
)