راهنمای عملکردها
عملگرها
عملگر شرطی IF یک مقدار را بازمیگرداند اگر شرط مشخصشده درست باشد و مقدار دیگری را اگر شرط نادرست باشد.
F.IF(bool <عبارت1>, float <عبارت2>, float <عبارت3>)
- عبارت1: یک عبارت منطقی
- عبارت2: مقداری که در صورت درست بودن شرط بازگردانده میشود
- عبارت3: مقداری که در صورت نادرست بودن شرط بازگردانده میشود
F.IF(A > 0, B, 0)
مقدار B بازگردانده میشود اگر A بزرگتر از 0 باشد و مقدار 0 اگر A کمتر یا مساوی 0 باشد.
F.IF(((A / B) > 1.5) and ((A / B) < 2.3), C, 0)
مقدار C بازگردانده میشود اگر A/B بزرگتر از 1.5 و کمتر از 2.3 باشد و مقدار 0 اگر A/B کمتر یا مساوی 1.5 یا بزرگتر یا مساوی 2.3 باشد.
عملگر منطقی AND تنها زمانی شرط را برقرار میکند که نتیجه محاسبه تمام آرگومانها درست (TRUE) باشد. اگر حتی یک شرط نادرست (FALSE) باشد، کل شرط نادرست خواهد بود. معمولاً از تابع AND برای گسترش قابلیتهای سایر توابعی که بررسی منطقی انجام میدهند استفاده میشود.
(<عبارت1>) AND (<عبارت2>)
- عبارت1 – شرط اولی که بررسی میشود و نتیجه محاسبه آن درست (TRUE) یا نادرست (FALSE) خواهد بود.
- عبارت2 – شرط دومی که بررسی میشود و نتیجه محاسبه آن درست (TRUE) یا نادرست (FALSE) خواهد بود.
گر A > 0 و همزمان B = 5 باشد، مقدار B برگردانده میشود؛
در غیر این صورت، مقدار ۰ برگردانده میشود.
عملگر LIKE فقط برای مقادیر رشتهای در فهرست استفاده میشود تا زیررشتهها را پیدا کند. این عملگر برای اعمال فیلتر در فهرست هنگام جستجوی مقادیر موردنظر بهکار میرود. در فیلدهای محاسباتی شاخص پایه پشتیبانی نمیشود و به جای آن از «=» استفاده میشود.
<'کد فهرست'> LIKE <'الگو'>
- کد فهرست: کدی از فهرست که بررسی میشود
- الگو: زیررشته یا بخشی از کلمه/عبارت برای جستجو
F.SUM(A, 20110101, 20111231, rep.everymonth, 'فیل' LIKE 'مسکو*')
جستجوی مقادیر در فهرست «شعب» (کد فهرست «فیل») که با کلمه «مسکو» شروع میشوند.
عملگر NOT شرط یا عملگر را نفی میکند.
NOT (<شرط_یا_عملگر>)
- شرط_یا_عملگر – آرگومانی برای شرط یا عملی که نیاز به نفی دارد.
F.SUM (A, 20110101, 20111231, rep.everymonth, 'fil' NOT LIKE 'مسکو*')
جستجوی همه مقادیر به جز «مسکو*» در دفترچه «شعب» (کد دفترچه «fil»)
NOT (A=8)
A برابر با 8 نیست
عملگر NOT LIKE، برعکس عملگر LIKE است و فقط برای مقادیر رشتهای دفترچهها قابل استفاده است تا زیررشتهها را پیدا کند. از آن برای اعمال فیلتر روی دفترچه هنگام جستجوی مقادیر موردنظر استفاده میشود. در فیلدهای محاسباتی شاخص پایه پشتیبانی نمیشود و به جای آن از «<>» یا «!=» استفاده میشود.
<'کد دفترچه'> NOT LIKE <'الگو'>
- کد دفترچه – آرگومان کد دفترچه
- الگو – آرگومان زیررشته/بخشی از کلمه یا عبارت
F.SUM (A, 20110101, 20111231, rep.everymonth, 'fil' NOT LIKE 'مسکو*')
جستجوی مقادیر در دفترچه «شعب» (کد دفترچه «fil») که شامل کلمه «مسکو» در نامشان نیست.
عملگر شرطی OR امکان بررسی یک شرط را فراهم میکند و بسته به نتیجه، اقدام مناسب را انجام میدهد. این عملگر مقدار TRUE را بازمیگرداند اگر حداقل یکی از آرگومانها مقدار TRUE داشته باشد، و مقدار FALSE را بازمیگرداند اگر همه آرگومانها مقدار FALSE داشته باشند. معمولاً از تابع OR برای گسترش قابلیتهای سایر توابعی که بررسی منطقی انجام میدهند استفاده میشود.
(<عبارت1>) OR (<عبارت2>)
F.IF (A > 0 OR B=5, B, 0)
توابع ریاضی
تابع F.ABC مقدار قدر مطلق یک عدد را برمیگرداند، یعنی عدد بدون علامت.
F.ABC(float <عبارت>)
- عبارت: عدد حقیقی که باید قدر مطلق آن محاسبه شود.
F.ABC (3)
مقدار 3 را برمیگرداند
F.ABC (-2)
مقدار 2 را برمیگرداند
تابع F.ARCCOS مقدار آرککوسینوس زاویه را برمیگرداند.
F.ARCCOS (float <مقدار>)
- مقدار – عدد یا عبارتی که آرککوسینوس آن باید محاسبه شود.
F.ARCCOS (1)
مقدار ۰ را برمیگرداند.
تابع F.ARCCTG مقدار آرککتانژانت زاویه را برمیگرداند.
F.ARCCTG (float <مقدار>)
- مقدار – عدد یا عبارتی که آرککتانژانت آن باید محاسبه شود.
F.ARCCTG (1)
مقدار ۴۵° را برمیگرداند.
تابع F.ARCSIN مقدار آرکسینوس زاویه را برمیگرداند.
F.ARCSIN (float <مقدار>)
- مقدار – عدد یا عبارتی که آرکسینوس آن باید محاسبه شود.
F.ARCSIN (1)
مقدار ۹۰° را برمیگرداند.
تابع F.ARCTG مقدار آرکتانژانت زاویه را برمیگرداند.
F.ARCTG (float <مقدار>)
- مقدار – عدد یا عبارتی که آرکتانژانت آن باید محاسبه شود.
F.ARCTG (1)
مقدار ۴۵° را برمیگرداند.
تابع F.COS مقدار کسینوس زاویه را برمیگرداند.
F.COS (float <زاویه>)
- زاویه – عدد یا عبارتی که کسینوس آن باید محاسبه شود.
F.COS(360)
مقدار ۱ را برمیگرداند.
تابع F.COUNTFROMSEP تعداد ارقام معنیدار بعد از جداکننده اعشاری یک عدد را برمیگرداند.
F.COUNTFROMSEP (float <عبارت>)
- عبارت – هر عبارت صحیح نحوی که نتیجه آن یک عدد اعشاری باشد.
F.COUNTFROMSEP(123.1567)
مقدار ۴ را برمیگرداند.
تابع F.CTG مقدار کتانژانت زاویه را برمیگرداند.
F.CTG(float <زاویه>)
- زاویه – عدد یا عبارتی که کتانژانت آن باید محاسبه شود.
F.CTG(45)
مقدار ۱ را برمیگرداند.
تابع F.EXP مقدار پایه لگاریتم طبیعی (e = 2.7182818284590452…) را به توان مشخص شده برمیگرداند.
F.EXP(float <عبارت>)
- عبارت: نمایی که قرار است از پایه لگاریتم طبیعی محاسبه شود.
F.EXP(0)
مقدار 1 را برمیگرداند.
تابع F.FLOOR عدد را به نزدیکترین مضرب مشخص شده با دقت تعیینشده، به سمت پایین گرد میکند.
F.FLOOR(float <عبارت>, float <دقت>)
- عبارت: کد متغیر یا یک عبارت عددی
- دقت: تعداد ارقامی که عدد باید به مضرب آن گرد شود
F.FLOOR(2.5, 1)
عدد 2.5 را به پایینترین مضرب 1 گرد میکند و مقدار 2 را برمیگرداند
F.FLOOR(-2.5, -2)
عدد -2.5 را به پایینترین مضرب -2 گرد میکند و مقدار -2 را برمیگرداند
F.FLOOR(-2.5, 2)
خطا میدهد، زیرا اعداد -2.5 و 2 دارای علامتهای متفاوت هستند
F.FLOOR(1.5, 0.1)
عدد 1.5 را به پایینترین مضرب 0.1 گرد میکند و مقدار 1.5 را برمیگرداند
F.FLOOR(0.234, 0.01)
عدد 0.234 را به پایینترین مضرب 0.01 گرد میکند و مقدار 0.23 را برمیگرداند
تابع F.LG لگاریتم پایه ۱۰ عدد مشخصشده را بازمیگرداند.
F.LG(float <عبارت>)
- عبارت: عدد یا عبارتی که لگاریتم پایه ۱۰ آن محاسبه میشود
F.LG(10)
مقدار ۱ بازگردانده میشود.
تابع F.LN لگاریتم طبیعی (پایه e) عدد مشخصشده را بازمیگرداند.
F.LN(float <عبارت>)
- عبارت: عدد یا عبارتی که لگاریتم طبیعی آن محاسبه میشود
تابع F.LN (1) مقدار صفر را برمیگرداند.
تابع F.MAX بزرگترین مقدار را از میان یک مجموعه اعداد برمیگرداند.
F.MAX(float <عبارت1>, ..., float <عبارتN>)
<عبارت1> … <عبارتN>: اعداد حقیقی که باید بزرگترین مقدار بین آنها پیدا شود.
F.MAX(2, 3, 1)
- بیشترین مقدار بین اعداد دادهشده را برمیگرداند.
- خروجی این مثال: 3.
تابع F.MAXIMUM بیشترین مقدار را در یک بازه زمانی مشخص با گام تعیینشده یا بیشترین مقدار در یک آرایه محاسبه میکند.
- هنگام محاسبه مقدار برای یک دوره زمانی، ابتدا دادهها در گام تعیینشده جمع میشوند و سپس بیشترین مقدار (اکسترمم) در بازه تاریخهای مشخص شده پیدا میشود.
F.MAXIMUM(<شاخص>, int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*, {<فیلتر>}, {bool <عبارت>})
شاخص – کد متغیر
تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود
تاریخ پایان– تاریخی که محاسبه تا آن ادامه دارد
REP.EVERY– ثابت مربوط به گام دوره
فیلتر اختیاری – برای اعمال محدودیت روی دایرهالمعارفها
عبارت اختیاری– شرط منطقی برای اعمال محدودیت
عبارت – هر عبارت عددی معتبر، که بیشترین مقدار آن محاسبه میشود.
F.MAXIMUM(A, 20140101, 20141231, rep.everymonth)
مقدار بیشینه ماهانه شاخص A برای سال ۲۰۱۴ را برمیگرداند.
F.MAXIMUM(A, 20140101, 20141231, rep.everymonth, 'Segment' LIKE 'Small*')
مقدار بیشینه ماهانه شاخص انتخابشده برای سال ۲۰۱۴ را برمیگرداند که در دایرهالمعارف «Segment» مقدار «Small» دارد.
F.MAXIMUM([2, 4])
بیشترین مقدار در آرایه را برمیگرداند، که مقدار ۴ است.
تابع F.MAXTAB برای محاسبه بیشترین مقدار یک شاخص، تقسیمبندی شده بر اساس فهرست.
F.MAXTAB (<شاخص>, '<کد فهرست>')
- شاخص – متغیری که بیشترین مقدار آن باید پیدا شود
- کد فهرست – کد فهرستی که بر اساس آن تقسیمبندی برای محاسبه بیشترین مقدار شاخص انجام میشود
F.MAXTAB (A, 'کارمند')
شاخص مربوط به متغیر A بر اساس فهرست «کارمند» تقسیمبندی میشود و از فهرست حاصل <مقدار فهرست>=<مقدار شاخص> بیشترین مقدار شاخص برگردانده میشود.
تابع F.MIN کمترین مقدار را از مجموعهای از مقادیر برمیگرداند.
F.MIN(float <عبارت1>, float <عبارت2>, …)
- عبارت1, …, عبارتN – اعداد اعشاری که کمترین مقدار آنها باید پیدا شود
F.MIN (2, 3, 5)
کمترین مقدار را برمیگرداند: 2
تابع F.MINIMUM کمترین مقدار را در یک دوره با گام زمانی مشخص یا کمترین مقدار در یک آرایه محاسبه میکند.
هنگام محاسبه مقدار برای یک دوره، تابع ابتدا دادهها را در گام زمانی مشخص جمع میکند و سپس حداقل مقدار را در بازه تاریخهای تعیینشده پیدا میکند.
F.MINIMUM(<شاخص>, int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*, {<فیلتر>},{bool <عبارت>})
F.MINIMUM ([<عبارت>{, <عبارت>}])
- شاخص – کد متغیر
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود
- تاریخ پایان – تاریخی که محاسبه تا آن انجام میشود
- REP.EVERY* – ثابت مربوط به گام دوره زمانی
- فیلتر اختیاری روی دایرکتوریها
- عبارت – هر عبارت درست نحوی که نتیجه آن عدد باشد
F.MINIMUM(A, 20140101, 20141231)
کمترین مقدار ماهانه شاخص A در سال ۲۰۱۴ را برمیگرداند.
F.MINIMUM(A, 20140101, 20141231, 'Segment' LIKE 'Small*')
کمترین مقدار ماهانه شاخص انتخابشده در سال ۲۰۱۴ با مقدار «Small» در دایرکتوری «Segment» را برمیگرداند.
F.MINIMUM([2, 4])
کمترین مقدار در آرایه را برمیگرداند – ۲.
تابع F.MINTAB برای محاسبه کمترین مقدار شاخص، تقسیمبندی شده بر اساس دایرکتوری.
F.MINTAB (شاخص، '<کد دایرکتوری>')
- شاخص – متغیری از شاخص که کمترین مقدار آن باید پیدا شود
- کد دایرکتوری – کد دایرکتوری که تقسیمبندی بر اساس آن برای محاسبه کمترین مقدار شاخص انجام میشود
F.MINTAB (A, 'کارمند')
شاخص مربوط به متغیر A بر اساس دایرکتوری «کارمند» تقسیمبندی میشود و از فهرست بهدستآمده <مقدار دایرکتوری>=<مقدار شاخص> کمترین مقدار شاخص بازگردانده میشود.
تابع F.NUMFROMSEP عدد بعد از جداکننده اعشاری را از یک عدد برمیگرداند.
F.NUMFROMSEP (float <عبارت>)
- عبارت – هر عبارت صحیح نحوی که نتیجه آن یک مقدار اعشاری باشد
F.NUMFROMSEP (123.4567)
مقدار 4567 را برمیگرداند
F.PI
عدد π (پی) را برمیگرداند – ۳.۱۴۱۵…
F.PI
F.PI
برای یک شاخص که دقت واحد اندازهگیری آن دو رقم پس از اعشار است، مقدار ۳.۱۴ را برمیگرداند.
تابع F.ROUND مقدار بخش اعشاری را با دقت مشخص شده گرد میکند. اگر دقت عدد منفی باشد، تعداد ارقام بخش صحیح گرد میشود.
F.ROUND(عدد اعشاری <عبارت>، عدد صحیح <دقت>)
- عبارت – کد متغیر یا یک عبارت
- دقت – تعداد ارقام برای گرد کردن (اگر دقت منفی باشد، تعداد ارقام بخش صحیح گرد میشود)
F.ROUND(123.9994, 3)
مقدار بازگشتی: 123
F.ROUND(123.9995, 3)
مقدار بازگشتی: 124
F.ROUND(748.58, -1)
مقدار بازگشتی: 750.00
F.ROUND(748.58, -3)
مقدار بازگشتی: 1000
تابع F.ROUNDDOWN مقدار را به نزدیکترین عدد کوچکتر از نظر قدر مطلق گرد میکند.
F.ROUNDDOWN(عدد اعشاری <عبارت>، عدد صحیح <دقت>)
- عبارت – کد متغیر یا یک عبارت
- دقت – تعداد ارقام پس از گرد کردن
F.ROUNDDOWN(3.14159, 3)
مقدار گرد شده به سمت پایین تا سه رقم اعشار را برمیگرداند: 3.141
F.ROUNDDOWN(76.9, 0)
مقدار گرد شده به سمت پایین تا نزدیکترین عدد صحیح را برمیگرداند: 76
F.ROUNDDOWN(-3.14159, 1)
مقدار گرد شده به سمت پایین تا یک رقم اعشار را برمیگرداند: -3.1
F.ROUNDDOWN(31415.92654, -2)
مقدار گرد شده به سمت پایین تا دو رقم چپ از ممیز را برمیگرداند: 31400
تابع F.ROUNDUP مقدار را به نزدیکترین عدد بزرگتر از نظر قدر مطلق گرد میکند.
F.ROUNDUP(float <عبارت> , int <دقت>)
- عبارت – کد متغیر یا یک عبارت
- دقت – تعداد ارقامی که مقدار تا آنها گرد میشود
F.ROUNDUP(3.14159, 3)
مقدار گرد شده به بالا تا سه رقم اعشار را برمیگرداند: 3.142
F.ROUNDUP(76.1, 0)
مقدار گرد شده به بالا تا نزدیکترین عدد صحیح را برمیگرداند: 77
F.ROUNDUP(-3.14159, 1)
مقدار گرد شده به بالا تا یک رقم اعشار را برمیگرداند: -3.2
F.ROUNDUP(31415.92654, -2)
مقدار گرد شده به بالا تا دو رقم دهگان سمت چپ اعشار را برمیگرداند: 31500
تابع F.TG مقدار تانژانت زاویه را برمیگرداند.
F.TG(float <زاویه>)
- زاویه – عدد یا عبارتی که تانژانت آن باید محاسبه شود.
F.TG(45)
مقدار ۱ را برمیگرداند.
تابع F.SIN مقدار سینوس زاویه را برمیگرداند.
F.SIN(float <زاویه>)
- زاویه – متغیر یا عبارت برای محاسبه سینوس
F.SIN(30)
مقدار 0.5 را برمیگرداند
F.SQRT(<عبارت عددی>)
- عبارت عددی – مقدار یا متغیری که قرار است از آن جذر مربع گرفته شود
F.SQRT(float <عبارت>)
- عبارت – کد متغیر یا یک عبارت عددی
F.SQRT(A)
مقدار جذر دوم متغیر را برمیگرداند
F.SQRT(64)
مقدار 8 را برمیگرداند
توابع مربوط به کار با تاریخها
تابع F.DATE تاریخ را در قالب (روز، ماه، سال) برمیگرداند و امکان محاسبه هر یک از این پارامترها با استفاده از توابع دیگر را فراهم میکند.
F.DATE (int <روز>, int <ماه>, int <سال>)
F.DATE(1, 1, 2015)
مقدار ۲۰۱۵۰۱۰۱ را برمیگرداند، یعنی ۰۱.۰۱.۲۰۱۵
F.SUM(A, F.DATE(01, 01, F.YEAR(F.REPORTDATE(rep.byreport))), F.TODAY(0, rep.byend), rep.everyquarter)
با استفاده از تابع F.DATE، تاریخ شروع جمعبندی مشخص میشود – ۰۱ ژانویه هر سال، که سال با استفاده از تابع F.REPORTDATE محاسبه میشود.
تابع F.DATEADD تاریخ را با اعمال جابجایی (افزایش یا کاهش) برمیگرداند.
F.DATEADD(int <تاریخ شروع>, int <جابجایی>, REP.EVERY*, {REP.BYSTART | REP.BYEND | REP.BYREPORT})
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود
- جابجایی – تعداد گامهای دوره برای اعمال جابجایی
- REP.EVERY* – ثابت مربوط به گام دوره
- پارامتر اختیاری که مشخص میکند تاریخ محاسبه شده مربوط به شروع یا پایان دوره باشد: REP.BYSTART | REP.BYEND | REP.BYREPORT (بهطور پیشفرض REP.BYEND استفاده میشود)
F.DATEADD(F.REPORTDATE(rep.byend), -11, rep.everyquarter, rep.bystart), F.DATEADD(F.REPORTDATE(rep.byend), -4, rep.everyquarter, rep.byend)
در این تابع، دوره محاسبه مشخص میشود.
تاریخ شروع و پایان دوره محاسبه با جابجایی نسبت به تاریخ پایان دوره گزارش شاخص تعیین شدهاند. برای شاخص با گام «فصل» و دوره گزارش از فصل اول ۲۰۱۴ تا فصل ششم ۲۰۱۴، دوره محاسبه شامل ۲ سال – از فصل اول ۲۰۱۲ تا فصل ششم ۲۰۱۳ – خواهد بود.
F.AVG(A, 4, F.DATEADD(F.REPORTDATE(rep.byend), -11, rep.everyquarter, rep.bystart), F.DATEADD(F.REPORTDATE(rep.byend), -4, rep.everyquarter, rep.byend), rep.everyquarter, 4)
در این تابع، میانگین فصلانه متغیر «A» محاسبه میشود.
برای تعیین دوره محاسبه میانگین، از تابع F.DATEADD استفاده شده است. میانگین محاسبهشده برای سالهای ۲۰۱۲–۲۰۱۳ در سال ۲۰۱۴ نمایش داده خواهد شد.
تابع F.DATENIL حداقل مقدار ممکن (خالی) برای تاریخ را برمیگرداند.
F.DATENIL()
F.DATENIL
مقدار 18991230 را برمیگرداند – کمترین مقدار ممکن برای تاریخ (30 دسامبر 1899).
تابع F.DATEDIFF اختلاف بین دو تاریخ را بر اساس گام مشخص دوره محاسبه میکند. نتیجه یک عدد صحیح است.
F.DATEDIFF(REP.EVERY*, int <تاریخ شروع>, int <تاریخ پایان>)
- REP.EVERY* – ثابت مربوط به گام دوره
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود
- تاریخ پایان – تاریخی که محاسبه تا آن ادامه دارد
F.DATEDIFF(rep.everymonth, 20100101, 20101231)
مقدار ۱۱ ماه را برمیگرداند.
تابع F.DATEONLY فقط بخش تاریخ را از مقدار دادهشده برمیگرداند (بدون بخش زمان).
F.DATEONLY(int <تاریخ>)
- تاریخ: مقداری شامل تاریخ و زمان که از آن فقط تاریخ استخراج میشود.
F.DATEONLY( F.GETDATE )
مقدار تاریخ فعلی را بدون بخش زمان برمیگرداند.
تابع F.DAY روز را از پارامتر تاریخ محاسبه میکند.
F.DAY(int <تاریخ>, REP.EVERY*)
- تاریخ: تاریخی که از آن روز استخراج میشود
- REP.EVERY*: ثابت مربوط به گام دوره زمانی مورد نظر
F.DAY(20151101)
مقدار 1 را برمیگرداند.
تابع F.GETDATE تاریخ و زمان فعلی را برمیگرداند.
F.GETDATE()
F.GETDATE
تاریخ و زمان فعلی را برمیگرداند.
تابع F.HOUR مقدار ساعت را از یک تاریخ بازمیگرداند.
F.HOUR(int <تاریخ>)
- تاریخ: تاریخ و زمانی که از آن ساعت محاسبه میشود
F.HOUR(F.GETDATE())
ساعت را از تاریخ و زمان فعلی بازمیگرداند.
تابع F.MINUTE مقدار دقیقه را از تاریخ بازمیگرداند.
F.MINUTE(int <تاریخ>)
- تاریخ – تاریخی به همراه زمان که از آن دقیقه استخراج میشود
F.MINUTE(F.GETDATE())
دقیقههای زمان فعلی تاریخ جاری را برمیگرداند
F.MONTH ماه را از پارامتر تاریخ محاسبه میکند
F.MONTH(int <تاریخ>)
- تاریخ – تاریخی که از آن ماه محاسبه میشود
F.MONTH(20151101)
مقدار 11 را برمیگرداند
تابع F.PERIOD اختلاف بین دو تاریخ را بر حسب واحد مشخصشده برمیگرداند.
F.PERIOD(int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*)
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود
- تاریخ پایان – تاریخی که محاسبه تا آن انجام میشود
- REP.EVERY* – ثابت مربوط به واحد دوره مورد نظر
F.PERIOD(20150101, 20150201, rep.everyday)
تعداد روزها را برمیگرداند: 31 روز
F.PERIOD(20150101, 20150201, rep.everyhour)
تعداد ساعتها را برمیگرداند: 744 ساعت
F.PERIOD(20140101, 20150101, rep.everymonth)
تعداد ماهها را برمیگرداند: 12 ماه
تابع F.PERIODOF اختلاف بین شروع و پایان گام فعلی دوره گزارش در حال محاسبه را برمیگرداند.
F.PERIODOF(REP.EVERY*)
- REP.EVERY* - ثابت مربوط به گام دوره مورد نظر
F.PERIODOF(rep.everyday)
در محاسبه شاخص برای دورهای از ژانویه تا دسامبر ۲۰۱۴ با گام «ماه»، به ترتیب مقادیر زیر را برمیگرداند: 31، 29، 31، 30، 31، 30، 31، 31، 30، 31، 30، 31
همین تابع با گام دوره «سهماهه» مقادیر زیر را برمیگرداند: 90، 91، 92، 92
معادل ترکیب توابع F.PERIOD(F.TODAY(0, rep.bystart), F.TODAY(0, rep.byend), rep.everyday)+1 است.
تابع F.QUARTER فصل (سهماهه) را از پارامتر تاریخ محاسبه میکند.
F.QUARTER(int <تاریخ>)
- تاریخ – تاریخی که از آن فصل محاسبه میشود
F.QUARTER(20151101)
مقدار بازگشتی - 4
تابع F.REPORTDATE تاریخ شروع گزارش جاری، تاریخ پایان گزارش جاری یا تاریخ گام دوره جاری را برمیگرداند.
F.REPORTDATE({REP.BYSTART | REP.BYEND | REP.BYREPORT})
- REP.BYSTART | REP.BYEND | REP.BYREPORT – پارامتری است که مشخص میکند مقدار بازگردانده شده تاریخ چیست: به ابتدای دوره گزارش، پایان دوره گزارش یا تاریخ گام فعلی دوره.
F.SUM (A , F.REPORTDATE (rep.bystart) , F.TODAY(0, rep.byend) , rep.everymonth )
جمع مقادیر برای دوره از ژانویه تا دسامبر ۲۰۱۴ به صورت تجمعی و ماهانه تا ستون فعلی گزارش محاسبه میشود (برای ژانویه مقدار ژانویه برگردانده میشود، برای فوریه – ژانویه+فوریه، برای مارس – ژانویه+فوریه+مارس و الی آخر).
F.REPORTDATE (rep.bystart)
تاریخ شروع گزارش برگردانده میشود.
تابع F.SECOND مقدار ثانیه را از یک تاریخ برمیگرداند.
F.SECOND(عدد صحیح <تاریخ>)
- تاریخ – تاریخی با زمان که مقدار ثانیه از آن محاسبه میشود
F.SECOND(F.GETDATE())
ثانیههای زمان جاری تاریخ فعلی را برمیگرداند
تابع F.TODAY تاریخ جاری یا تاریخی با جابجایی نسبت به تاریخ جاری را برمیگرداند.
F.TODAY({int <جابجایی>, {REP.BYCURRENT | REP.BYSTART | REP.BYEND}})
- جابجایی – تعداد گامهای دوره برای اعمال جابجایی نسبت به گام دوره گزارش
- پارامتر اختیاری که مشخص میکند مقدار تاریخ جاری با چه معیاری برگردانده شود: BYCURRENT | REP.BYSTART | REP.BYEND (بهطور پیشفرض REP.BYEND استفاده میشود). اگر حالت تاریخ جاری مشخص نشود، تابع مقدار REP.BYCURRENT را میپذیرد.
F.TODAY
تاریخ جاری را برمیگرداند – ۲۰۱۵۰۳۰۵ ۰۰:۰۰:۰۰.۰۰۰
F.TODAY(-1)
اگر گام گزارش ماهانه باشد، تاریخ جاری منهای ۱ ماه برمیگردد.
اگر گام گزارش فصلی باشد، تاریخ جاری منهای ۱ فصل برمیگردد.
F.TODAY(+2)
اگر گام گزارش ماهانه باشد، تاریخ جاری به اضافه ۲ ماه برمیگردد.
F.TODAY(0, rep.bystart)
با گام ماهانه، هنگام محاسبه شاخص برای نوامبر، تاریخ شروع نوامبر را برمیگرداند – ۲۰۱۴۱۱۰۱ ۰۰:۰۰:۰۰.۰۰۰
F.IF(F.TODAY = 20141225, 'کریسمس کاتولیک', '')
در این تابع، تاریخ جاری بررسی میشود و اگر برابر ۲۵ دسامبر ۲۰۱۴ باشد، مقدار «کریسمس کاتولیک» برگردانده میشود، در غیر این صورت مقدار خالی («») بازمیگردد.
تابع F.YEAR سال را از پارامتر تاریخ محاسبه میکند.
F.YEAR(int <تاریخ>)
- تاریخ – تاریخی که سال آن باید محاسبه شود.
F.YEAR(20151101)
مقدار ۲۰۱۵ را برمیگرداند.
توابع مربوط به مقادیر متنی / رشتهای
تابع F.DATESTR نمایش متنی (رشتهای) تاریخ را برمیگرداند.
F.DATESTR(int <تاریخ>, REP.EVERY*)
- تاریخ: تاریخی که باید به رشته (متن) تبدیل شود
- REP.EVERY*: ثابت مربوط به گام دورهی زمانی (بهصورت پیشفرض از گام دورهی گزارش استفاده میشود).
F.DATESTR(20141231, rep.everysecond)
برمیگرداند «2014.12.31 00:00:00»
F.DATESTR(20141231, rep.everyminute)
برمیگرداند «2014.12.31 00:00»
F.DATESTR(20141231, rep.everyhour)
برمیگرداند «2014.12.31 00:00»
F.DATESTR(20141231, rep.everyday)
برمیگرداند «2014.12.31»
F.DATESTR(20141231, rep.everyweek)
برمیگرداند «2014 هفته 53»
F.DATESTR(20141231, rep.everymonth)
برمیگرداند «2014.12»
F.DATESTR(20111231, rep.everyquarter)
برمیگرداند «2011 فصل 4»
F.DATESTR(20111231, rep.everyhalf)
برمیگرداند «2011 نیمه دوم»
F.DATESTR(20111231, rep.everyyear)
برمیگرداند «2011»
نمونه استفاده از تابع:
فرض کنید شاخص A دارای ۱۲ مقدار در فهرست «دوره» برای سال ۲۰۱۱ است — از «2011.01; 2011 فصل 1» تا «2011.12; 2011 فصل 4».
اگر دادههای این شاخص در آوریل وارد شده و در فهرست «دوره» به عنوان دادههای فوریه ثبت شده باشند،
برای نمایش ورودی مربوط به شاخص در دوره گذشته، فرمول شاخص محاسباتی بهصورت زیر نوشته میشود:
F.SUM (A, F.REPORTDATE(rep.bystart), F.REPORTDATE(rep.byend), rep.byreport, 'دوره' like ('' + F.DATESTR(F.DATEADD(F.TODAY(0, rep.byend), -2, F.REPORTSTEP, rep.byend), F.REPORTSTEP) + ''))
اگر نمودار بر اساس شاخص محاسباتی برای سال ۲۰۱۱ با گام دوره «ماه» ساخته شود، تبدیل فرمول برای هر گام چنین خواهد بود:
F.SUM(A, 20110101, 20111231, rep.everymonth, 'دوره' like '2010.11'))
برمیگرداند 2011.01.01 - 2011.01.31
F.TODAY(0, rep.byend)
برمیگرداند 2011.01.31
F.DATEADD(2011.01.31, -2, rep.everymonth, rep.byend)
دو ماه کم کرده و تاریخ را به انتهای ماه تنظیم میکند — 2010.11.30
F.DATESTR(2010.11.30, rep.everymonth)
برمیگرداند «2010.11»
F.SUM(A, 20110101, 20111231, rep.everymonth, 'دوره' like '2010.12'))
برمیگرداند 2011.02.01 - 2011.02.28
F.TODAY (0, rep.byend)
برمیگرداند 2011.02.28
F.DATEADD (2011.01.31, -2, rep.everymonth, rep.byend)
دو ماه کم کرده و تاریخ را به انتهای ماه تنظیم میکند — 2010.12.31
F.DATESTR(2010.11.30, rep.everymonth)
برمیگرداند «2010.12»
F.SUM (A, 20110101, 20111231, rep.everymonth, 'دوره' like '2011.01'))
برمیگرداند 2011.03.01 - 2011.03.31
F.SUM (A, 20110101, 20111231, rep.everymonth, 'دوره' like '2011.10'))
برمیگرداند 2011.12.01 - 2011.12.31
اگر همین شاخص به گام دوره «سهماهه» تبدیل شود، فرمول به شکل زیر خواهد بود:
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'دوره' like '2010 فصل 3')
برمیگرداند 2011.01.01 - 2011.03.31
F.TODAY (0, rep.byend)
برمیگرداند 2011.03.31
F.DATEADD(2011.03.31, -2, rep.everyquarter, rep.byend)
دو فصل کم کرده و تاریخ را به انتهای فصل تنظیم میکند — 2010.09.30
F.DATESTR(2010.09.30, rep.everyquarter)
برمیگرداند «2010 فصل 3»
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'دوره' like '2010 فصل 4')
برمیگرداند 2011.04.01 - 2011.06.30
F.TODAY (0, rep.byend)
برمیگرداند 2011.06.30
F.DATEADD (2011.06.30, -2, rep.everyquarter, rep.byend)
دو فصل کم کرده و تاریخ را به انتهای فصل تنظیم میکند — 2010.12.31
F.DATESTR(2010.12.31, rep.everyquarter)
برمیگرداند «2010 فصل 4»
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'دوره' like '2011 فصل 1'))
برمیگرداند 2012.01.01 - 2011.03.31
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'دوره' like '2011 فصل 2'))
برمیگرداند 2012.04.01 - 2011.06.30
تابع F.STRFMTTMPL رشتهای (پارامتر 2) را با کاراکترها تکمیل میکند تا به قالب مشخص شده در رشته (پارامتر 1) برسد.
این تابع تنها در ابزار تنظیم سناریوهای واردسازی استفاده میشود.
F.STRFMTTMPL (رشته <عبارت1>، رشته <عبارت2>)
- عبارت1 – رشته با قالب مشخص شده
- عبارت2 – رشتهای که باید به قالب مشخص شده تبدیل شود
توجه: استفاده از کاراکترهای % , _ , [ ] , ^ مجاز نیست.
F.STRFMTTMPL('00000', '123')
مقدار '00123' را برمیگرداند.
F.STRINDEXOF تابعی است که شاخص شروع رشته مورد جستجو (پارامتر 1) را درون رشته دیگر (پارامتر 2) برمیگرداند. شمارهگذاری شاخصها از 1 آغاز میشود.
F.STRINDEXOF(string <عبارت1>, string <عبارت2>)
- عبارت1 – رشتهای که به دنبال آن میگردیم
- عبارت2 – رشتهای که در آن جستجو انجام میشود
استفاده از نمادهای زیر مجاز نیست: %, _, [ ], ^
F.STRINDEXOF('(', '10 (100%)')
مقدار برگشتی: 4
F.STRUBSTR تابعی است که یک رشته (پارامتر 1) را تا قبل از رشته مشخص شده (پارامتر 2) برمیگرداند.
این تابع فقط در محیط تنظیم سناریوهای واردسازی استفاده میشود.
F.STRUBSTR(string <عبارت1>, string <عبارت2>)
- عبارت1 – رشتهای که تا آن قسمت را باید استخراج کنیم
- عبارت2 – رشتهای که از آن استخراج انجام میشود
نمیتوان از نمادهای زیر استفاده کرد: %, _, [ ], ^
F.STRUBSTR(',', 'تیومن، خیابان لنین 100')
نتیجه: تیومن
تابع F.SUBSTRBETW رشتهای را برمیگرداند که در رشته (پارامتر ۳) بین رشتههای پارامتر ۱ و پارامتر ۲ قرار دارد.
این تابع فقط در محیط تنظیم سناریوهای واردسازی (Import Scenario Wizard) استفاده میشود.
F.SUBSTRBETW(string <عبارت1>, string <عبارت2>, string <عبارت3>)
- عبارت1 – رشتهای که بر اساس آن برش شروع میشود
- عبارت2 – رشتهای که بر اساس آن برش پایان مییابد
- عبارت3 – رشتهای که برش از آن انجام میشود
استفاده از کاراکترهای زیر مجاز نیست: %, _ , [ ] , ^
F.SUBSTRBETW(',', ',', 'تیومن، خیابان لنین ۱۰۰، واحد ۹')
مقدار 'خیابان لنین ۱۰۰' را برمیگرداند.
F.SUBSTRBETW('ATM', ',', 'دستگاه خودپرداز ATM2345، شعبه شماره ۱')
مقدار '2345' را برمیگرداند.
تابع F.SUBSTR رشتهای را که در رشته (پارامتر ۱) از موقعیت مشخصشده (پارامتر ۲) تا طول تعیینشده (پارامتر ۳) قرار دارد، بازمیگرداند.
F.SUBSTR(string <عبارت1>, int <عبارت2>, int <عبارت3>)
- عبارت1 – رشتهای که قرار است برش داده شود
- عبارت2 – موقعیتی که از آن برش شروع میشود
- عبارت3 – طول رشتهای که میخواهیم بهدست آوریم
استفاده از کاراکترهای زیر مجاز نیست: %, _ , [ ] , ^
F.SUBSTR('10 (100%)', 5, 3)
مقدار 100 را برمیگرداند.
F.SUBSTR('Пушкин Александр Сергеевич', 0, f.strindexof(' ', 'Пушкин Александр Сергеевич'))
مقدار 'Пушкин' را برمیگرداند.
توابعی برای محاسبه مقادیر شاخصها
تابع F.ANALITCOUNT تعداد مقادیر موجود در دیکشنری (راهنمای) یک شاخص را برمیگرداند.
تابع F.ANALITCOUNTBASE تعداد مقادیر دیکشنری در شاخص پایهای را برمیگرداند.
محدودیتهای تابع ANALITCOUNTBASE:
- هنگام استفاده از این تابع، فرمول نباید شامل توابع دیگر باشد.
- در شاخص محاسباتی فقط یک متغیر میتواند وجود داشته باشد که شاخص پایهای باشد.
- متغیر این تابع به صورت جداگانه محاسبه نمیشود (در برنامه محاسبه نمایش داده میشود، اما بدون داده).
F.ANALITCOUNT(<شاخص>, <راهنما>) و F.ANALITCOUNTBASE(<شاخص>, <راهنما>)
- شاخص – کد متغیر
- راهنما – کد دیکشنری که تعداد مقادیر آن در دادههای شاخص شمرده میشود
F.ANALITCOUNT (A, 'کارمندان')
تعداد کارمندان را بر اساس شاخص «A» در دوره گزارشدهی برمیگرداند.
تابع F.AVG میانگین مقدار یک متغیر را در طول یک دوره محاسبه میکند (جمع مقادیر در دوره تقسیم بر تعداد مقادیر در آن دوره).
F.AVG(<مقدار>)
یا
F.AVG(<مقدار>, int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*)
- مقدار – کد متغیر یا عبارتی برای محاسبه
- تاریخ شروع و تاریخ پایان – هر عبارت صحیح نحوی که تاریخ شروع و پایان دورهای که محاسبه برای آن انجام میشود را برمیگرداند
- REP.EVERY* – ثابت مربوط به گام دوره (بهطور پیشفرض از گام دوره گزارش استفاده میشود)
F.AVG(A) یا F.AVG(A, F.ToDay(0, rep.bystart), F.ToDay(0, rep.byend), F.ReportStep(A))
میانگین مقدار در دوره جاری را برمیگرداند (جمع مقادیر دوره جاری تقسیم بر تعداد مقادیر در همان دوره).
معادل عبارت F.SUM(A) / F.Count(A) است.
تابع F.AVGPERIOD میانگین مقدار یک متغیر را در طول دوره محاسبه میکند (جمع مقادیر از دوره شروع تا دوره جاری تقسیم بر تعداد دورهها).
F.AVGPERIOD(<مقدار>, {int <جابجایی>})
یا
F.AVGPERIOD(<مقدار>, {int <جابجایی>, {int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*, {int <جابجایی تاریخهای دوره>}, {<فیلتر>, {bool <عبارت>} } }})
- مقدار – کد متغیر یا عبارت
- جابجایی متغیر در دوره برای محاسبه
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود (بهطور پیشفرض از دوره گزارش استفاده میشود)
- تاریخ پایان – تاریخی که محاسبه تا آن ادامه مییابد (بهطور پیشفرض از دوره گزارش استفاده میشود)
- REP.EVERY* – ثابت مربوط به گام دوره (بهطور پیشفرض از گام دوره گزارش استفاده میشود)
- جابجایی تاریخهای دوره – تعداد گامهای دوره برای جابجایی دادهها در محاسبه میانگین زمانی (بهطور پیشفرض صفر)
- فیلتر اختیاری برای منابع داده
F.AVGPERIOD(A) یا F.AVGPERIOD(A, 1)
جمع مقادیر در دوره جاری از دوره شروع را بر تعداد دورهها تقسیم میکند.
F.AVGPERIOD(A, 2)
جمع و شماره دوره را بر اساس هر دومین دوره گزارش محاسبه میکند. بهطور مثال، اگر دوره سال باشد و گام گزارش ماهانه:
- برای ماه اول: جمع ماه اول / 1
- برای ماه دوم: جمع ماه دوم / 1
- برای ماه سوم: (جمع ماه اول + ماه سوم) / 2
- برای ماه چهارم: (جمع ماه دوم + ماه چهارم) / 2
- برای ماه پنجم: (جمع ماه اول + ماه سوم + ماه پنجم) / 3
- برای ماه ششم: (جمع ماه دوم + ماه چهارم + ماه ششم) / 3
و به همین ترتیب ادامه دارد.
F.AVGPERIOD(A, 12)
برای گزارشی با گام ماهانه و دوره ۲ ساله، میانگین هر ماه به صورت سالانه محاسبه میشود:
- ماه اول سال اول: ژانویه ۲۰۱۰ / 1
- ماه اول سال دوم: (ژانویه ۲۰۱۰ + ژانویه ۲۰۱۱) / 2
- ماه دوم سال اول: فوریه ۲۰۱۰ / 1
- ماه دوم سال دوم: (فوریه ۲۰۱۰ + فوریه ۲۰۱۱) / 2
F.AVGPERIOD(A, 12, 20130101, 20141231, rep.everymonth, 12)
میانگین ماهانه متغیر A با در نظر گرفتن ۲ سال مشخص شده در تابع محاسبه میشود. نتایج میانگین برای سالهای بعدی در سال بعدی نمایش داده میشود. برای سال ۲۰۱۴، میانگین برابر با مقدار سال ۲۰۱۳ خواهد بود.
F.AVGPERIOD(A, 0, F.TODAY(0, rep.bystart), F.TODAY(0, rep.byend), rep.everymonth)
میانگین ماهانه متغیر A برای دوره جاری محاسبه میشود. تابع F.TODAY برای تعیین دوره محاسبه استفاده شده است.
- اگر گام دوره «فصل» باشد، میانگین ماهانه برای هر فصل محاسبه میشود.
- اگر گام دوره «نیمسال» باشد، میانگین ماهانه برای هر نیمسال محاسبه میشود.
F.AVGPERIOD(A, 0, F.TODAY(0, rep.bystart), F.TODAY(0, rep.byend), rep.everyday)
میانگین متغیر A برای هر ماه در دوره گزارش با گام ماهانه محاسبه میشود.
F.AVGPERIOD(A, 4, F.DATE(1, 1, F.YEAR(F.REPORTDATE(rep.byend)) - 3), F.DATE(31, 12, F.YEAR(F.REPORTDATE(rep.byend)) - 1), rep.everyquarter, 4)
برای متغیر A با گام فصل و دوره از فصل اول ۲۰۱۵ تا فصل چهارم ۲۰۱۵، میانگین فصلانه بر اساس سه سال قبل محاسبه میشود:
- ۴ – جابجایی گام جمع برای محاسبه میانگین (مقادیر بر اساس جابجایی جمع میشوند، نه همه مقادیر A).
- F.DATE(...) – تاریخ شروع و پایان محاسبه بر اساس روز، ماه و سال با توجه به جابجایی تعیین میشود.
- rep.everyquarter – گام محاسبه میانگین (فصل)
- ۴ – جابجایی دادهها برای محاسبه میانگین در گامهای بعدی
اگر تعداد گامها برای جابجایی دادهها مشخص نشود، نتیجه در سال آخر دوره نمایش داده میشود.
F.AVGPERIOD(A, 12, F.DATE(1, 1, F.YEAR(F.REPORTDATE(rep.byreport)) - 2), F.DATE(31, 12, F.YEAR(F.REPORTDATE(rep.byreport)) - 1), rep.everymonth, 12)
میانگین ماهانه متغیر A برای دو سال گذشته محاسبه میشود:
- میانگین ۲۰۱۱ و ۲۰۱۲ در ۲۰۱۳ نمایش داده میشود
- میانگین ۲۰۱۲ و ۲۰۱۳ در ۲۰۱۴ نمایش داده میشود
- میانگین ۲۰۱۳ و ۲۰۱۴ در ۲۰۱۵ نمایش داده میشود
و به همین ترتیب ادامه دارد.
تابع F.AVGTAB برای محاسبه میانگین یک شاخص است که بر اساس مقادیر یک دایرکتوری (منبع داده) تجزیه شده باشد.
F.AVGTAB(<مقدار>, '<کد دایرکتوری>')
- مقدار – متغیر شاخصی که میانگین آن باید محاسبه شود
- کد دایرکتوری – کدی که بر اساس آن میانگین در هنگام تجزیه شاخص محاسبه میشود
F.AVGTAB(A, 'کارمند')
شاخص مربوط به متغیر A بر اساس دایرکتوری «کارمند» تجزیه میشود. در فهرست بهدستآمده <مقدار دایرکتوری> = <مقدار شاخص>، مجموع مقادیر شاخص گرفته شده و بر تعداد مقادیر دایرکتوری تقسیم میشود. مقادیر بدون تحلیل مشخص نیز در مجموع و تعداد لحاظ میشوند.
توضیح:
بهظاهر ممکن است به نظر برسد که
F.AVGTAB(A, 'کارمند') برابر با
F.SUMTAB(A, 'کارمند') / F.ANALITCOUNT(A, 'کارمند')
است، اما در حالت کلی اینطور نیست.
تابع F.ANALITCOUNT() مقادیر بدون تحلیل مشخص را لحاظ نمیکند.
مثلاً، اگر تجزیه شاخص بر اساس دایرکتوری «کارمند» مقادیر زیر را بدهد:
'ایوانوف' = 15
'پتروف' = 5
'سیدوروف' = 10
'مقدار مشخص نشده' = 7
آنگاه:
F.SUMTAB(A, 'کارمند') = 37
F.ANALITCOUNT(A, 'کارمند') = 3
F.SUMTAB(A, 'کارمند') / F.ANALITCOUNT(A, 'کارمند') = 37 / 3 ≈ 12,33
F.AVGTAB(A, 'کارمند') = 37 / 4 = 9,25
تابع F.COUNT تعداد مقادیر یک شاخص را در طول یک دوره با گام مشخص یا تعداد عناصر یک آرایه محاسبه میکند.
F.COUNT(<مقدار>, int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*, {<فیلتر>})
یا
F.COUNT(<مقدار>)،
که معادل است با:
F.COUNT(<مقدار>, F.ToDay(0, Rep.ByStart), F.ToDay(0, Rep.ByEnd), F.ReportStep(<مقدار>))
F.COUNT([<عبارت>{, <عبارت>}])
- مقدار – کد متغیر یا عبارت
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود (بهطور پیشفرض دوره گزارش)
- تاریخ پایان – تاریخی که محاسبه تا آن ادامه دارد (بهطور پیشفرض دوره گزارش)
- REP.EVERY* – ثابت مربوط به گام دوره (بهطور پیشفرض گام دوره گزارش)
- فیلتر اختیاری برای دایرکتوریهای متغیر
- عبارت – هر عبارت صحیح نحوی که نتیجه آن عدد باشد
F.COUNT(A)
تعداد رکوردهای شاخص «A» در دوره گزارش را برمیگرداند.
F.COUNT(A, 20140101, 20141231, rep.everymonth)
تعداد رکوردهای شاخص «A» در دوره مشخص شده را برمیگرداند.
F.COUNT(A, F.TODAY(0, rep.bystart), F.TODAY(0, rep.byend), rep.byreport)
تعداد رکوردهای شاخص «A» در دوره مشخص شده را برمیگرداند.
F.COUNT(A, 20140101, F.TODAY, rep.everymonth, 'فیل' = 'شعبه مسکو' AND 'فیل' = 'تِور')
تعداد رکوردهای شاخص «A» برای شعبههای مسکو و تور در گام ماهانه از تاریخ ۱ ژانویه ۲۰۱۴ به بعد را برمیگرداند.
F.COUNT([A, B])
تعداد عناصر موجود در آرایه را برمیگرداند – در این مثال ۲.
تابع F.GETREFVALUE یک عنصر را در راهنمای داده شده بر اساس نمونه در اولین فیلد مشخص شده جستجو میکند. در صورت موفقیت، مقدار فیلد دوم را برمیگرداند، در غیر این صورت 0 باز میگردد.
F.GetRefValue(<راهنما>, <فیلد راهنما>, <الگو>, <فیلد راهنما>)
- راهنما: رشتهای که کد راهنما را مشخص میکند
- فیلد راهنما: رشتهای که شناسه فیلد راهنما را مشخص میکند
- الگو: الگویی برای جستجو
- فیلد راهنما: رشتهای که شناسه فیلدی که مقدار آن باید بازگردانده شود را مشخص میکند
نمونههای استفاده از تابع F.GetRefValue:
F.GetRefValue('БюджетныйСрез', 'Code', '5206463403', 'DocID')
یک مقدار مرجع به راهنمای «БюджетныйСрез» در دادههای شاخص ایجاد میکند و به مقدار راهنما با کد '5206463403' اشاره میکند.
F.GetRefValue('Распорядитель', 'DocID', Затраты.Распорядитель, 'DocID')
مقدار فیلد مرجع به راهنمای «Распорядитель» در شاخص پایه را بر اساس مقدار فیلد مرجع متناظر در راهنمای «Затраты» محاسبه میکند.
F.GetRefValue('Распорядитель', 'Code', Затраты.Распорядитель, 'DocID')
مقدار راهنمای «Распорядитель» در شاخص پایه را بر اساس فیلد متنی «Распорядитель» در راهنمای «Затраты» محاسبه میکند.
F.GetRefValue('Проценты', 'DocID', f.matrixrefvalue('ДСС'), 'Name')
نام مقدار راهنمای «Проценты» را که با استفاده از لیست دینامیک/راهنما با کد ""ДСС"" محاسبه شده، در فیلد متنی شاخص پایه ثبت میکند.
F.GetRefValue('Период', 'Code', F.Str(F.Year(DateOper)) + '.' + F.Str(f.if(F.Month(DateOper) > 6, 2, 1)) + '.' + F.Str(f.if(F.Month(DateOper) < 4, 1, f.if(F.Month(DateOper) < 7, 2, f.if(F.Month(DateOper) < 10, 3, 4)))) + '.' + F.Str(F.Month(DateOper)), 'DocID')
مقدار فیلد مرجع به راهنمای سیستمی «Период» در دادههای شاخص را بر اساس تاریخ مقدار شاخص محاسبه میکند.
تابع F.MATRIXREFVALUE مقادیر یک دایرهالمعارف را بر اساس کلید تحلیلی از نسخه ماتریسهای نوع «لیست پویا\دایرهالمعارف» و «لیست پویا\عدد» برای یک تاریخ مشخص بازمیگرداند.
F.MATRIXREFVALUE (<ماتریس>{, <تاریخ>})
- ماتریس – رشتهای با کد ماتریس تبدیل از نوع «لیست پویا\دایرهالمعارف» یا «لیست پویا\عدد»
- تاریخ – فیلد اختیاری برای مشخص کردن تاریخی که نسخه ماتریس برای آن گرفته میشود (اگر تعیین نشود، تاریخ از فیلد DateOper استفاده میشود)
F.MatrixRefValue ('بودجهای') یا F.MatrixRefValue ('بودجهای', DateOper)
مقدار محاسبهشده از ماتریس تبدیل با کد «بودجهای» را در فیلد مرجع دادههای شاخص ثبت میکند و به دادههای شاخص در فیلد مرجع مرتبط میشود. تاریخ محاسبه بر اساس مقدار شاخص گرفته میشود.
F.PERIODNUMBER
شماره گام فعلی محاسبهشده را برمیگرداند
F.PERIODNUMBER(REP.BYREPORT | REP.BYCURRENT)
- REP.BYCURRENT – شماره گام در بازه دورهای که شاخص در حال محاسبه است را برمیگرداند
- REP.BYREPORT – شماره گام در بازه دورهای گزارش را برمیگرداند
F.PERIODNUMBER(rep.byreport)
برای گزارش سالانه با گام دورهای «سهماهه» بر اساس شاخص محاسباتی با گام دورهای «ماه»، به ترتیب اعداد ۱، ۲، ۳، ۴ را بازمیگرداند.
F.PERIODNUMBER(rep.bycurrent)
برای گزارش سالانه با گام دورهای «سهماهه» بر اساس شاخص محاسباتی با گام دورهای «ماه»، اعداد ۱، ۲، ۳، ۴، ۵، ۶، ۷، ۸، ۹، ۱۰، ۱۱، ۱۲ را بازمیگرداند.
تابع F.PREVVALUE مقدار شاخص را که در گام دوره شاخص، به تعداد مشخصی گام به عقب گرفته شده است، بازمیگرداند.
F.PREVVALUE(<شاخص>, int <عبارت>)
-
شاخص — متغیری که مقدار آن برای دوره قبلی بازگردانده میشود.
-
عبارت — تعداد گامها در گام دوره شاخص.
F.PREVVALUE (A, 1)
مقداری برابر با متغیر «A» در دوره قبلی بازمیگرداند.
F.PREVVALUE (A, 2)
مقداری برابر با متغیر «A» در دورهای که قبل از دوره قبلی بوده است بازمیگرداند.
F.PREVVALUETHIS(<شاخص>, int <مقدار>)
- شاخص – متغیری که مقدار فعلی آن در گام دوره شاخص گرفته میشود
- مقدار – تعداد گامهایی که به عقب در گام دوره شاخص باز میگردیم
F.PREVVALUETHIS(int <مقدار>)
- مقدار – تعداد گامها در گام دوره شاخص
A + F.PREVVALUETHIS (1)
مقدار شاخص «A» برای دوره فعلی و دوره قبل جمع میشود.
A + F.PREVVALUETHIS (2)
مقدار شاخص «A» برای دوره فعلی و دورهای که قبل از دوره قبل است جمع میشود.
f.if (F.MONTH (F.REPORTDATE (rep.byreport)) = 1, A, f.if ( F.PERIODNUMBER (rep.bycurrent) <= 0, 0, f.if ( F.PERIODNUMBER (rep.bycurrent) = 1, F.SUM( A , F.DATE (01, 01,F.YEAR(F.REPORTDATE (rep.byreport)) ), F.TODAY(0, rep.byend), rep.everymonth), A + F.PREVVALUETHIS (1))))
مقدار شاخص «A» برای دوره قبلی را برمیگرداند تا جمع تجمعی از ابتدای سال محاسبه شود.
تابع F.PROGRESSIVESUM مجموع مقادیر شاخص را که در گام دوره شاخص گروهبندی شدهاند، به صورت تجمعی در یکی از دورههای مشخص محاسبه میکند.
F.PROGRESSIVESUM(<شاخص>, rep.everyyear | rep.everyhalf | rep.everyquarter | rep.everymonth)
- شاخص – متغیری از شاخص که باید مجموع دادههای آن در گام دوره شاخص به صورت تجمعی برای دوره مشخص محاسبه شود
- rep.everyyear – مجموع تجمعی از ابتدای هر سال محاسبه میشود
- rep.everyhalf – مجموع تجمعی از ابتدای هر نیمسال محاسبه میشود
- rep.everyquarter – مجموع تجمعی از ابتدای هر فصل محاسبه میشود
- rep.everymonth – مجموع تجمعی از ابتدای هر ماه محاسبه میشود
F.PROGRESSIVESUM (A, Rep.EveryYear)
برای دورهای از ژانویه تا دسامبر یک یا چند سال، مجموع تجمعی ماهانه در چارچوب هر سال محاسبه میشود:
- برای ژانویه، مقدار ژانویه برگردانده میشود
- برای فوریه، مجموع ژانویه + فوریه
- برای مارس، مجموع ژانویه + فوریه + مارس
و به همین ترتیب ادامه مییابد.
تابع F.REPORTSTEP یکی از مقادیر ثابت REP.EVERY* را برمیگرداند که با گام فعلی دوره متغیر یا گزارش مطابقت دارد.
""F.REPORTSTEP({<متغیر>})
- متغیر – کد متغیر""
f.if (F.REPORTSTEP(A) = rep.everymonth, 1, 2)
برای متغیر «A» با گام ماه مقدار 1 و برای متغیر با گام دیگر مقدار 2 را برمیگرداند.
F.REPORTSTEP(A)
گام متغیر «A» را برمیگرداند:
- روز – 4
- هفته – 5
- ماه – 6
- فصل – 7
- نیمسال – 8
- سال – 9
F.REPORTSTEP
گام گزارش را برمیگرداند (4 – 9)
تابع F.SUM مجموع یک شاخص را برای یک دوره مشخص با گام معین محاسبه میکند یا مجموع عناصر موجود در یک آرایه را برمیگرداند.
F.SUM(<شاخص>, int <تاریخ شروع>, int <تاریخ پایان>, REP.EVERY*, {<فیلتر>},{bool <عبارت>})
F.SUM(<شاخص>) معادل است با:
F.SUM(<شاخص>, F.ToDay(0, Rep.ByStart), F.ToDay(0, Rep.ByEnd), F.ReportStep(<شاخص>))
F.SUM([<عبارت>{, <عبارت>}])
- شاخص – کد متغیر یا عبارت
- تاریخ شروع – تاریخی که محاسبه از آن آغاز میشود (بهطور پیشفرض دوره گزارش)
- تاریخ پایان – تاریخی که محاسبه تا آن ادامه دارد (بهطور پیشفرض دوره گزارش)
- REP.EVERY* – ثابت مربوط به گام دوره (بهطور پیشفرض گام دوره گزارش)
- فیلتر اختیاری برای دایرکتوریهای شاخص
- عبارت – هر عبارت صحیح نحوی که نتیجه آن عدد باشد
F.SUM(A, 20140101, 20141231, rep.everymonth)
مجموع مقادیر ماهانه شاخص «A» برای سال ۲۰۱۴ را برمیگرداند.
F.SUM(A, 20140101, 20141231, rep.everymonth, 'فیل' = 'شعبه مسکو')
مجموع سالانه مقادیر ماهانه شاخص «A» با تحلیل «شعبه مسکو» بر اساس دایرکتوری «شعبهها» (کد دایرکتوری «فیل») را برمیگرداند.
F.SUM(A, F.TODAY(-1, rep.bystart), F.TODAY(0, rep.byend), rep.everymonth)
مجموع شاخص A را از ابتدای ماه محاسباتی قبلی تا پایان ماه محاسباتی جاری برمیگرداند.
-
برای تعیین تاریخ شروع و پایان از تابع F.TODAY با جابجایی استفاده میشود:
- F.TODAY(-1, rep.bycurrnet) – برای گام ماهانه، تاریخ جاری منهای ۱ ماه
- F.TODAY(0, rep.byend) – برای گام ماهانه، پایان ماه جاری
F.SUM(A, F.REPORTDATE(rep.bystart), F.TODAY(0, rep.byend), rep.everymonth)
مجموع تجمعی شاخص برای دوره گزارش را برمیگرداند.
- F.REPORTDATE(rep.bystart) – تاریخ شروع گزارش
- F.TODAY(0, rep.byend) – تاریخ ستون جاری
مجموع تجمعی ماهانه برای دوره ژانویه تا دسامبر ۲۰۱۴: - ژانویه → مقدار ژانویه
- فوریه → ژانویه + فوریه
- مارس → ژانویه + فوریه + مارس
و به همین ترتیب ادامه دارد.
F.SUM(A, F.TODAY(f.if(F.REPORTSTEP=rep.everymonth,-12,f.if(F.REPORTSTEP=rep.everyquarter,-4,f.if(F.REPORTSTEP=rep.everyhalf,-2,-1))),rep.bystart), F.TODAY(f.if(F.REPORTSTEP=rep.everymonth,-12,f.if(F.REPORTSTEP=rep.everyquarter,-4,f.if(F.REPORTSTEP=rep.everyhalf,-2,-1))),rep.byend), rep.bycurrent)
مجموع شاخص «A» برای دوره جاری با جابجایی یک سال به عقب را محاسبه میکند.
مثال برای گزارش سال ۲۰۱۵:
-
گام فصل:
- Q1 2015 → مجموع Q1 2014
- Q2 2015 → مجموع Q2 2014
- و به همین ترتیب
-
گام نیمسال:
- H1 2015 → مجموع H1 2014
-
گام سالانه:
- سال ۲۰۱۵ → مجموع ۲۰۱۴
F.SUM(A, F.DATE(01, f.if(F.QUARTER(F.REPORTDATE(rep.byreport))=1,01,f.if(F.QUARTER(F.REPORTDATE(rep.byreport))=2,04,f.if(F.QUARTER(F.REPORTDATE(rep.byreport))=3,07,10))), F.YEAR(F.REPORTDATE(rep.byreport))), F.TODAY(0, rep.byend), rep.everyweek)
مجموع تجمعی هفتگی برای هر فصل سال گزارش را برمیگرداند.
F.SUM(A, F.DATE(01,01,F.YEAR(F.REPORTDATE(rep.byreport))), F.TODAY(0, rep.byend), rep.everymonth)
مجموع تجمعی ماهانه برای هر سال گزارش را برمیگرداند.
- برای تسریع محاسبه، میتوان از فرمول زیر نیز استفاده کرد:
f.if(F.Month(F.REPORTDATE(rep.byreport)) = 1, A,
f.if(f.periodnumber(rep.ByCurrent) <= 0, 0,
f.if(f.periodnumber(rep.ByCurrent) = 1,
F.SUM(A, F.DATE(01,01,F.YEAR(F.REPORTDATE(rep.byreport))), F.TODAY(0, rep.byend), rep.everymonth),
f.prevvaluethis(1) + A)))
F.SUM([A, B])
مجموع متغیرهای موجود در آرایه را برمیگرداند که بهطور مؤثرتری از A + B عمل میکند.
تابع F.SUMTAB مجموع یک شاخص را که بر اساس یک دایرکتوری تجزیه شده است، محاسبه میکند.
F.SUMTAB(<شاخص>, <دایرکتوری>)
- شاخص – کد متغیر یا عبارت
- دایرکتوری – کد دایرکتوری که مقادیر آن هنگام جمعبندی تجزیه میشوند
F.SUMTAB(X, 'شعبه')
مجموع نهایی متغیر X را برای دوره گزارش و با گام دوره گزارش، با تجزیه بر اساس دایرکتوری «شعبه» برمیگرداند.
X – شاخص محاسباتی برابر با حاصلضرب دو شاخص پایه A * B است، که هر یک تحلیل بر اساس دایرکتوری «شعبه» دارند:
| شعبه | A | B |
|---|---|---|
| شعبه 1 | 1,00 | 7,00 |
| شعبه 2 | 2,00 | 8,00 |
| شعبه 3 | 3,00 | 9,00 |
| جمع | 6,00 | 24,00 |
تابع F.SUMTAB مجموع نهایی حاصلضربهای A * B را بر اساس دایرکتوری «شعبه» محاسبه میکند (مانند گزارش جدولی) برای دوره گزارش:
F.SUMTAB(X, 'فیل') = 7 + 16 + 27 = 50
در حالی که تابع F.SUM در این حالت، مجموع شاخص «A» و سپس مجموع شاخص «B» را برای دوره مشخص شده محاسبه کرده و سپس آنها را ضرب میکند:
F.SUM(X, 20140101, 20143112, rep.everymonth) = 6 + 24 = 30
تابع F.TRIM فاصلههای اضافی ابتدای و انتهای یک رشته را حذف میکند.
F.VALPOSTAB(<شاخص>, ‘<کد دایرکتوری>’, <موقعیت>, <جهت مرتبسازی>)
- شاخص – متغیر شاخصی که باید مقدار آن از موقعیت مشخص در فهرست مرتبشده بر اساس مقدار و تجزیه شده بر اساس دایرکتوری برگردانده شود
- کد دایرکتوری – کدی که بر اساس آن تجزیه انجام میشود
- موقعیت – شماره موقعیتی که مقدار تجزیه شده باید از آن بازگردانده شود
هر عبارت صحیح نحوی که عددی بین ۱ تا تعداد عناصر تحت تجزیه بر اساس دایرکتوری بازگرداند، معتبر است، یعنی از ۱ تا F.ANALITCOUNT() برای همان دایرکتوری.
برای هر مقدار دیگر تابع ۰ برمیگرداند.
اگر فهرست مقادیر پس از تجزیه خالی باشد (F.ANALITCOUNT() = 0)، تابع نیز ۰ برمیگرداند.
- جهت مرتبسازی – true (یا ۱) برای مرتبسازی صعودی مقادیر، false (یا ۰) برای مرتبسازی نزولی مقادیر.
F.VALPOSTAB(A, ‘ساختار_سازمانی’, 3, 1)
برای شاخص پایه مرتبط با متغیر A که مقادیر آن بر اساس دایرکتوری «ساختار_سازمانی» مشخص شدهاند:
15 – واحد نیرو 1
20 – واحد نیرو 2
10 – واحد نیرو 3
این تابع مقدار موقعیت سوم از فهرست مرتبشده مقادیر را برمیگرداند:
10 – واحد نیرو 3
15 – واحد نیرو 1
20 – واحد نیرو 2
یعنی نتیجه اجرای تابع برابر با 20 خواهد بود.
راهنمای تنظیم سناریوهای واردسازی
تابع F.DIST توزیع مقادیر را با دقت مشخص شده در پارامتر ۱ برای مجموع داده شده در پارامتر ۲ بر اساس وزن هر ردیف (پارامتر ۳) انجام میدهد.
F.DIST (int <عبارت۱>, float <عبارت۲>, float <عبارت۳>)
- عبارت۱: عدد صحیح بین ۰ تا ۱۶ که تعداد ارقام اعشار برای دلتا (خطا) بین مقدار پارامتر ۲ و مجموع حاصلضرب پارامتر ۳ (ضریب توزیع برای هر ردیف داده) در مقدار پارامتر ۲ (مجموع کل برای همه ردیفها) را مشخص میکند
- عبارت۲: عدد یا پارامتری که مجموع کل قابل توزیع را مشخص میکند
- عبارت۳: متغیر یا فرمولی که بر اساس آن ضریب هر ردیف داده محاسبه میشود
در یک فیلد محاسباتی (ستون ۴)، سهم تعداد کارکنان هر بخش (ستون ۱) از کل کارکنان شرکت (ستون ۳) محاسبه میشود.
مجموع همه مقادیر ستون ۴ باید برابر با ۱ باشد، اما به دلیل تعداد زیاد ردیفها و مقادیر کوچک و همچنین گرد شدن اعداد، ممکن است مجموع برابر با ۱ نشود.
برای حل این مشکل، باید دلتا بین ۱ و مجموع بهدست آمده از ستون ۴ محاسبه شود و این اختلاف به صورت تناسبی بین هر مقدار ردیفی ستون ۴ توزیع گردد.
جدول نمونه:
| А | پارامتر | F. TSUM (A) | А/B | F.DIST(5, 1, А/B ) | |
|---|---|---|---|---|---|
| ۱ | ۲ | ۳ | ۴ | ۵ | |
| ۲۰٫۰۰ | بخش ۱ | ۱۱ ۵۶۵٫۰۰ | ۰٫۰۰۱۷۷۷۴۶۱۷۸… | ۰٫۰۰۱۷۷۷۴۶۱۷۸… | |
| ۵٫۰۰ | بخش ۲ | ۱۱ ۵۶۵٫۰۰ | ۰٫۰۰۱۷۷۷۴۶۱۷۸… | ۰٫۰۰۰۴۴۴۳۶۵۴۴… | |
| ... | بخش N | ۱۱ ۵۶۵٫۰۰ | ... | ... | |
| مجموع | ۱۱٬۵۶۵٫۰۰ | ۰٫۹۹... | ۱٫۰۰۰۰۰ |
تابع F.DIST(ستون ۵، ۱، A/B) مجموع مقادیر ستون A/B را محاسبه کرده، با ۱ مقایسه میکند و اختلاف باقیمانده را به صورت تناسبی بین هر ردیف ستون ۵ توزیع میکند. سپس مجموع مقادیر ستون ۵ دوباره بررسی میشود. اگر مجموع با دقت ۵ رقم اعشار هنوز برابر با ۱ نباشد، اختلاف دوباره محاسبه و به صورت تناسبی توزیع میشود و این روند تکرار میشود تا مجموع ستون ۵ دقیقاً برابر با ۱ شود
تابع F.TSUM مقادیر یک فیلد عددی مشخص را بر اساس شرط داده شده جمع میکند. مشخص کردن شرط اختیاری است؛ در این صورت مجموع همه مقادیر فیلدهای مشخص شده محاسبه میشود.
F.TSUM(float <عبارت>{, float <عبارت1>, ..., float <عبارتN>})
- عبارت: فیلد عددی که مقادیر آن جمع میشود یا فرمولی که بر اساس آن مقدار برای جمع محاسبه میشود
برای جمعبندی مقادیر:
- مقادیر فیلد «A» (ستون ۴)
- مقادیر فیلدهای «A» و «B» (ستون ۵)
- مقادیر فیلد «A» که پارامتر آن «П1» باشد (ستون ۶)
جدول نمونه:
| A | B | پارامتر | F. TSUM (A) | F. TSUM (A, B) | F.SUM ( F.IF (پارامتر = 'P1', A, 0) ) |
|---|---|---|---|---|---|
| ۱ | ۲ | ۳ | ۴ | ۵ | ۶ |
| ۱۵٫۰۰ | ۱٫۰۰ | P۱ | ۴۵٫۰۰ | ۵۱٫۰۰ | ۲۵٫۰۰ |
| ۲۰٫۰۰ | ۲٫۰۰ | P | ۴۵٫۰۰ | ۵۱٫۰۰ | ۲۵٫۰۰ |
| ۱۰٫۰۰ | ۳٫۰۰ | P۱ | ۴۵٫۰۰ | ۵۱٫۰۰ | ۲۵٫۰۰ |
توضیح:
- ستون ۴ جمع مقادیر ستون A است.
- ستون ۵ جمع مقادیر ستونهای A و B است.
- ستون ۶ جمع مقادیر A تنها برای ردیفهایی که پارامتر آنها «П1» است را نشان میدهد.
تابع F.GROUPSUM مقادیر یک فیلد عددی مشخص را بر اساس گروهبندی فیلدهای تعیینشده جمع میکند. مشخص کردن گروهبندی اختیاری است؛ در این صورت مجموع کل مجموعه داده محاسبه میشود.
F.GROUPSUM(float <عبارت>, { <آرگومان1>, ..., <آرگومانN>})
- عبارت: فیلد عددی که مقادیر آن جمع میشود
- پارامتر اختیاری: فیلدهای گروهبندی که بر اساس آنها جمعبندی انجام میشود
برای جمعبندی مقادیر فیلد «مقدار» با گروهبندی بر اساس فیلدهای «پارامتر1» و «پارامتر2»، تابع به شکل زیر استفاده میشود:
| پارامتر۲ | پارامتر۱ | مقدار (مجموع) | F.GROUPSUM (مقدار, پارامتر۱) | F.GROUPSUM (مقدار, پارامتر۱, پارامتر۲) |
|---|---|---|---|---|
| ۱۵ | P۱ | P۲۱ | ۲۵ | ۴۵ |
| ۲۰ | P۱ | P۲۲ | ۲۰ | ۴۵ |
| ۱۰ | P۱ | P۲۱ | ۲۵ | ۴۵ |
توضیح:
- ستون چهارم مجموع مقادیر «مقدار» را بر اساس «پارامتر1» نشان میدهد.
- ستون پنجم مجموع مقادیر «مقدار» را بر اساس «پارامتر1» و «پارامتر2» نشان میدهد.
تابع F.HI مقدار یک رشته را به حروف بزرگ تبدیل میکند.
F.HI(string <عبارت>)
- عبارت: رشتهای که باید به حروف بزرگ تبدیل شود
تابع F.LO مقدار یک رشته را به حروف کوچک تبدیل میکند.
F.LO(string <عبارت>)
- عبارت: رشتهای که باید به حروف کوچک تبدیل شود
تابع F.LTRIM فاصلههای ابتدای یک رشته را حذف میکند.
F.LTRIM(string <عبارت>)
- عبارت: رشتهای که باید فاصلههای ابتدای آن حذف شود
تابع F.REPLACE مقدار اول (پارامتر ۲) را در رشته (پارامتر ۱) با مقدار دوم (پارامتر ۳) جایگزین میکند.
F.REPLACE(رشته <عبارت1>, رشته <عبارت2>, رشته <عبارت3>)
- عبارت1 – رشتهای که قرار است جایگزینی در آن انجام شود
- عبارت2 – رشته/مقداری که قرار است جایگزین شود
- عبارت3 – رشته/مقداری که جایگزین میشود
تابع F.RTRIM فاصلههای خالی در سمت راست رشته را حذف میکند.
F.RTRIM (رشته <عبارت>)
- عبارت – رشتهای که باید فاصلههای خالی در سمت راست آن حذف شود
تابع F.STR نمایشی از عدد را به صورت رشته برمیگرداند.
F.STR(float <عبارت>)
- عبارت– عدد یا متغیری که باید به رشته تبدیل شود
تابع F.STRDATE تاریخ را به صورت رشته برمیگرداند.
تابع F.STR یک عدد یا عبارت عددی را به رشته تبدیل میکند.
عبارت – عدد یا عبارتی که میخواهید به رشته تبدیل شود.
تابع F.TRIM فاصلههای اضافی در ابتدا و انتهای یک رشته را حذف میکند.
F.TRIM(string <عبارت>)
- عبارت – رشتهای که باید فاصلههای اضافی ابتدای و انتهای آن حذف شود.
توابع نقشههای KPI (شاخصهای کلیدی عملکرد)
تابع F.VARISENABLED مقدار درست (TRUE) را برمیگرداند اگر متغیر مشخصشده از ردیفی باشد که در محاسبه نقشه KPI لحاظ شده است. در غیر این صورت، مقدار نادرست (FALSE) را برمیگرداند.
F.VARISENABLED(<متغیر>)
F.VARISENABLED(<H1>)
اگر متغیر موجود در رشته در محاسبه شرکت داشته باشد، مقدار ۱ (درست) را برمیگرداند.
در غیر این صورت، مقدار ۰ (نادرست) را برمیگرداند.
متغیرها
– گام فعلی دوره
– پایان دوره
– گام دوره گزارش
– شروع دوره
– گام دوره روز
– گام دوره نیمسال
– گام دوره ساعت
– گام دوره دقیقه
– گام دوره ماه
– گام دوره سهماهه
– گام دوره ثانیه
– گام دوره هفته
– گام دوره سال
– گام نامشخص دوره