تابع Trunc در زبان DAX و تفاوت آن با تابع Round در چیست؟
تابع TRUNC هیچ عمل گرد کردنی را صورت نمیدهد و تنها قسمت صحیح عدد را جدا میکند. شاید در نگاه اول این دو تابع کارکرد و خروجی یکسانی داشته باشند اما در واقعیت اینگونه نیست. تابع Round برای گرد کردن اعداد به کار می رود اما تابعTrunc برای حذف قسمت اعشاری اعداد می باشد.
ساختار این تابع در زبان DAX به شکل زیر می باشد.
در قسمت number عدد مربوطه و در قسمت num_digits تعداد اعدادی که میخواهیم بعد از ممیز باقی بماند را وارد می کنیم و در صورتی که این پارامتر را وارد نکنیم به صورت پیشفرض عدد صفر در نظر گرفته می شود که به منزله حذف کل قسمت اعشار می باشد.
به مثال های زیر توجه کنید :
Trunc(23.45)=23
Trunc(23.45,1)=23.4
Round(23.45)=23
Trunc(-40.95)=-40
Round(-40.95)=-41
تابع Trunc و تابع INT
این تابع و تابع INT در اعداد مثبت مشابه یکدیگر عمل میکنند و هردو تابع مقدار عدد صحیح را بر میگردانند اما در اعداد منفی به این شکل نیست زیرا تابع INT عدد صحیح کوچکتر را نتیجه میدهد به این صورت که به عنوان مثال : =TRUNC(-6.325)
برابر 6- اما =INT(-6.325)
برابر 7- میباشد. در نتیجه اگر قسمت صحیح یک عدد را میخواهید، بهتر است از تابع TRUNC استفاده کنید.