تابع CALCULATE

در این مطلب می‌خواهیم به معرفی تابع CALCULATE و استفاده از توابع متفاوت در آن بپردازیم. همان‌طور که در اکسل یاد گرفتیم، زمانی که ما می‌خواهیم سطرهای خاصی از یک table یا محدوده را با یکدیگر جمع کنیم از توابعی همچون SUMIF و یا SUMIFS می‌توانیم استفاده کنیم. اما در Power BI هرگونه محاسبه شرطی شبیه به چیزی که Sumif انجام می دهد (البته با قابلیت هایی بسیار بیشتر از Sumif) توسط تایع Calculate انجام می شود. با اطمینان به شما می گویم که تابع یا فرمول Calculate مهمترین فرمول DAX و Power BI است.

ساختار این تابع به شکل زیر می‌باشد:

=CALCULATE(<aggregate expression>, <filter1>, <filter2>, … )

<aggregate expression> درواقع عبارتی است که measure را توصیف می‌کند. در زیر نمونه‌هایی از Expression را برای شما آورده‌ام:

  1. SUM([Column])
  2. SUM([Column1]) / MAX([Column2])
  3. نام مژری که قبلا نوشته شده است.

حال شما می‌توانید CALCULATE را بر روی هریک از موارد ذکرشده اعمال کنید. علاوه بر این‌ها شما حتی می‌توانید از یک measure که قبلاً خودتان ساخته‌اید نیز استفاده کنید. و پس‌ از آن شما می‌توانید هر تعداد فیلتری که می‌خواهید روی aggregate expression اعمال کنید.

نمونه‌های کاربردی معتبر:

  1. [ColumnName] = “Foo”
  2. [ColumnName] >= 6
  3. ALL([ColumnName])

شما می‌توانید این عبارت‌های شرطی را به هر صورتی که نیاز دارید روی داده‌ها اعمال کنید.

qsdax 4 context - تابع CALCULATE

تابع ()ALL این امکان را برای شما ایجاد می‌کند تا بتوانید یک measure مانند “All-Time Sales”بسازید. حال اگر شما به‌عنوان‌مثال از (ALL(Date استفاده کنید، هیچ فیلتری بر Date وارد نمی‎‌شود. به این معنی که وقتی شما در Slicer به‌عنوان‌مثال، سال ۲۰۰۹ را انتخاب کنید هیچ تغییری در مقدار نشان داده‌شده که مربوط به فروش کل برای تمامی سال‌ها هست را شاهد نخواهید بود.

البته می‌توانید به صورت زیر، تابع CALCULATE را در حالتی که تابع ALL در قسمت فیلتر آن نوشته شده باشد نیز بسازید و از کل آن به‌عنوان مخرج یک measure استفاده کنید.

=SUM(SalesTable[Sales]) /

     CALCULATE(SUM(SalesTable[Sales]), ALL(SalesTable[Sales]))



17a408a89ac284e4fc1eee3787fd81bb?s=300&d=mm&r=g - تابع CALCULATE

پوریا بغدادی

من مباحث BI را در دانشگاه تهران آموخته ام. مجری و مشاور سیستم های هوش تجاری (BI) هستم. آموزش را برای علاقه شخصی پی میگیرم.
0 0 رای
Article Rating
عضویت
به دوستتان خبر دهید.
guest
0 Comments
Inline Feedbacks
View all comments
0
عالی میشه اگر نظر بدید.x
()
x