تفاوت تابع SUM و SUMX در زبان DAX

تفاوت تابع SUM و SUMX در زبان DAX چیست ؟

تابع SUM و تابع SUMX از توابع مهم در زبان DAX هستند که برای عمل جمع کردن مقادیر استفاده می شوند. به ظاهر اگر شما این توابع را استفاده کنید فکر می کنید که هر دو این توابع یک کار را انجام می دهند. واقعیت این است که هر دو مقادیر را جمع می کنند اما تفاوت آنها این است که تابع SUM، مقادیر کل ستون را یکجا جمع می زند اما تابع SUMX ردیف به ردیف مقادیر را جمع می زند.

به مثال زیر توجه کنید:

تفاوت تابع SUM و SUMX در زبان DAX

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

شکل تابع SUM و SUMX به شرح زیر می باشد:

SUM = sum ( ‘Table'[x] ) * sum( ‘Table'[y] )

SUMX = sumx ( ‘Table’,’Table'[x] * ‘Table'[y] )

کاربرد دیگر تابع SUMX نیز برای زمانی است که می خواهیم جمع ستون های فیلتر شده را محاسبه کنیم. به عنوان مثال جمع ستونهایی که عدد آنها بیشتر از 3 است. در این صورت این تابع را به صورت زیر استفاده می کنیم:

SUMX = sumx( filter(‘Table’,’Table'[x]>3),’Table'[x]*’Table'[y])

نتیجه نیز به شکل زیر محاسبه می شود:

تفاوت تابع SUM و SUMX در زبان DAX

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

Fill out this field
Fill out this field
لطفاً یک نشانی ایمیل معتبر بنویسید.
You need to agree with the terms to proceed

مطالب پیشنهادی