Функционалды анықтама
Операторлар
ЖӘНЕ логикалық операторы шартты тек барлық аргументтері АҚИҚАТ мәніне тең болған жағдайда ғана бағалайды. Егер кем дегенде бір шарт ЖАЛҒАН болса, онда бүкіл шарт ЖАЛҒАН болады. ЖӘНЕ функциясы әдетте логикалық тестілеуді орындайтын басқа функциялардың мүмкіндіктерін кеңейту үшін қолданылады.
(<өрнек1>) ЖӘНЕ (<өрнек2>)
- өрнек1 - тексерілетін бірінші шарт, ол АҚИҚАТ немесе ЖАЛҒАН деп бағаланады.
- өрнек2 - тексерілетін екінші шарт, ол АҚИҚАТ немесе ЖАЛҒАН деп бағаланады.
F.IF (A > 0 ЖӘНЕ B=5, B, 0)
Егер A>0 және B=5 болса, B мәнін қайтарады, әйтпесе 0
IF шартты операторы көрсетілген шарт TRUE мәніне тең болса, бір мәнді, ал шарт FALSE мәніне тең болса, басқа мәнді қайтарады.
F.IF(bool <expression1>, float <expression2>, float <expression3>)
- expression1 - логикалық өрнек
- expression2 - көрсетілген шарт TRUE мәніне тең болса, мән
- expression3 - шарт FALSE мәніне тең болса, мән
F.IF (A > 0, B, 0)
Егер A 0-ден үлкен болса, B мәнін, ал егер A 0-ден кіші немесе тең болса, 0 мәнін қайтарады.
F.IF (((A /B) > 1.5) және ((A/B) < 2.3), C, 0)
Егер A/B 1.5-тен үлкен және 2.3-тен кіші болса, C мәнін, ал егер A/B 1.5-тен кіші немесе тең және 2.3-тен үлкен немесе тең болса, 0 мәнін қайтарады.
Шартты OR операторы шартты тексеруге және тест нәтижелеріне негізделген әрекетті орындауға мүмкіндік береді. Егер аргументтердің кем дегенде біреуі АҚИҚАТ болса, АҚИҚАТ, ал егер барлық аргументтері ЖАЛҒАН болса, ЖАЛҒАН қайтарады. OR функциясы әдетте логикалық тестілеуді орындайтын басқа функциялардың мүмкіндіктерін кеңейту үшін қолданылады.
(<өрнек1>) OR (<өрнек2>)
F.IF (A > 0 OR B=5, B, 0)
LIKE операторы тек сөздіктегі жол мәндеріне қолданылады, онымен ол ішкі жолдарды табу үшін қолданылады. Қажетті мәндерді іздеу кезінде сөздікке сүзгілерді қолдану үшін қолданылады. Негізгі индикатордың есептелген өрістерінде қолдау көрсетілмейді ("=" пайдаланыңыз)
<'Каталог коды'> LIKE <'Үлгі'>
- Каталог коды - каталог коды аргументі
- Үлгі - сөз/сөз тіркесі аргументінің ішкі жолы/бөлігі
F.SUM (A, 20110101, 20111231, rep.everymonth, 'fil' LIKE 'Moscow*').
"Бөлімшелер" каталогындағы (каталог коды "Phil") "Moscow" сөзінен басталатын мәндерді іздейді.
NOT LIKE операторы, LIKE операторының кері мәні, тек каталогтағы жол мәндеріне қолданылады, онымен ішкі жолдарды табу үшін қолданылады. Ол қажетті мәндерді іздеу кезінде каталогқа сүзгілерді қолдану үшін қолданылады. Негізгі индикатордың есептелген өрістерінде қолдау көрсетілмейді ("<>" немесе "!=" пайдаланыңыз)
<'Каталог коды'> ҰНАТПАЙДЫ <'Үлгі'>
- Каталог коды – аргумент: каталог коды
- Үлгі – аргумент: ішкі жол/сөздің/сөз тіркесінің бөлігі
F.SUM(A, 20110101, 20111231, rep.everymonth, 'fil' ҰНАТПАЙДЫ 'Moscow*')
"Бұтақтар" каталогындағы (каталог коды: "Phil") атауында "Moscow" сөзі жоқ мәндерді іздейді.
NOT операторы шартты немесе операторды жоққа шығарады.
NOT (<Шарт_Операторы>)
- Шарт_Операторы - терістеуді талап ететін шарт немесе оператор үшін аргумент.
F.SUM(A, 20110101, 20111231, rep.everymonth, 'branch' NOT LIKE 'Moscow*')
"Branches" каталогында "Moscow*" мәнінен басқа барлық мәндерді іздеу (сілтеме коды "Branch")
NOT (A=8)
A 8-ге тең емес
Математикалық функциялар
F.ABC функциясы санның абсолютті мәнін, яғни белгісіз санды қайтарады.
F.ABC(float <өрнек>)
- өрнек - абсолютті мәні табылуы тиіс нақты сан
F.ABC (3)
3 қайтарады
F.ABC (-2)
2 қайтарады
F.ARCCOS функциясы бұрыштың арккосинусын қайтарады
F.ARCCOS (float <мән>)
- мән – арккосинусын есептеуге арналған индикатор немесе өрнек
F.ARCCOS(1)
0 мәнін қайтарады.
F.ARCCTG функциясы бұрыштың арктангенсін қайтарады.
F.ARCCTG (float <мән>)
- мән - арктангенсті есептеуге арналған дәреже немесе өрнек.
F.ARCCTG (1) 45° мәнін қайтарады.
F.ARCSIN функциясы бұрыштың арксинусын қайтарады.
F.ARCCIN (float <мән>)
- мән - арксинусты есептеуге арналған дәреже немесе өрнек.
F.ARCCIN (1)
90° мәнін қайтарады.
F.ARCTG функциясы бұрыштың арктангенсін қайтарады.
F.ARCTG (float <мән>)
- мән - арктангенсті есептеуге арналған дәреже немесе өрнек.
F.ARCTG (1)
45° мәнін қайтарады.
F.COS функциясы бұрыштың косинусын қайтарады
F.COS (float <бұрыш>)
- бұрыш – косинус есептеуге арналған индикатор немесе өрнек
F.COS(360)
1 қайтарады
F.COUNTFROMSEP функциясы саннан ондық бөлгіштен кейінгі мәнді цифрлар санын қайтарады.
F.COUNTFROMSEP (float <өрнек>)
- өрнек – нәтижесі нақты мән болатын, синтаксистік тұрғыдан дұрыс кез келген өрнек.
F.COUNTFROMSEP(123.1567)
4 мәнін қайтарады.
F.CTG функциясы бұрыштың котангенсін қайтарады.
F.CTG(float <бұрыш>)
- бұрыш – котангенсін есептеуге арналған көрсеткіш немесе өрнек.
F.CTG (45)
1 мәнін қайтарады.
F.EXP функциясы натурал логарифмнің негізін (e = 2.7182818284590452...) көрсетілген дәрежеге қайтарады
F.EXP(float <expression>)
- өрнек - экспоненциалды есептеуге арналған дәреже немесе өрнек
F.EXP (0)
Қайтарады 1
F.FLOOR функциясы санды көрсетілген дәлдіктің еселігіне дейін, минус 1-ге дейін дөңгелектейді.
F.FLOOR(float <өрнек>, float <дәлдік>)
- өрнек – айнымалы коды немесе өрнек
- дәлдік – өзіне еселік санға дейін дөңгелектеу жүргізілетін мән
F.FLOOR(2.5, 1)
1-ге еселік жақын санға дейін кемімен дөңгелектенген 2 мәнін қайтарады
F.FLOOR(-2.5, -2)
-2-ге еселік жақын санға дейін кемімен дөңгелектенген -2 мәнін қайтарады
F.FLOOR(-2.5, 2)
Қате қайтарады, себебі -2.5 және 2 сандарының таңбалары әртүрлі
F.FLOOR(1.5, 0.1)
0.1-ге еселік жақын санға дейін кемімен дөңгелектенген 1.5 мәнін қайтарады
F.FLOOR(0.234, 0.01)
0.01-ге еселік жақын санға дейін кемімен дөңгелектенген 0.23 мәнін қайтарады
F.LG функциясы көрсетілген санның 10 базалық логарифмін қайтарады.
F.LG (float <өрнек>)
- өрнек – бағаланатын дәреже немесе өрнек.
F.LG (10)
1 мәнін қайтарады.
F.LN функциясы көрсетілген санның натурал логарифмін қайтарады
F.LN (float <expression>)
- өрнек - есептеуге арналған индикатор немесе өрнек
F.LN (1)
0 қайтарады
F.MAX функциясы мәндер жиынынан ең үлкен мәнді қайтарады.
F.MAX(float <expression1>,..., float <expressionN>)
- expression1, ..., expressionN - максимумын табу керек нақты сандар.
F.MAX (2, 3, 1)
3 мәнін қайтарады
F.MAXIMUM функциясы көрсетілген кезең қадамындағы кезең ішіндегі ең үлкен мәнді немесе массивтегі ең үлкен мәнді есептейді.
Кезең ішіндегі мәнді есептеген кезде, функция алдымен көрсетілген кезең қадамындағы деректерді қосып, содан кейін көрсетілген күндер диапазонындағы ең үлкен мәнді табады.
F.MAXIMUM(<көрсеткіш>, int <басталу күні>, int <аяқталу күні>, REP.EVERY*, {<сүзгі>}, {bool <өрнек>})
F.MAXIMUM ([<өрнек>{,<өрнек>}])
- көрсеткіш – айнымалы коды
- басталу күні – есептеу жүргізілетін күн
- аяқталу күні – есептеу жүргізілетін соңғы күн
- REP.EVERY* – кезең қадамының сәйкес тұрақтысы
- міндетті емес сүзгі – анықтамалықтар бойынша
- өрнек – нәтижесі сан болатын, синтаксистік тұрғыдан дұрыс кез келген өрнек
F.MAXIMUM(A, 20140101, 20141231, rep.everymonth)
2014 жылдағы ең жоғары айлық мәнді қайтарады.
F.MAXIMUM(A, 20140101, 20141231, rep.everymonth, 'Сегмент' LIKE 'Малый*')
«Сегмент» анықтамалығы бойынша «Малый» мәнімен таңдалған көрсеткіштің 2014 жылдағы ең жоғары айлық мәнін қайтарады.
F.MAXIMUM([2, 4])
Массивтегі ең жоғары мәнді қайтарады – 4.
Анықтамалық кітапқа бөлінген индикатордың ең үлкен мәнін есептеуге арналған F.MAXTAB функциясы
F.MAXTAB (<көрсеткіш>, '<анықтамалық коды>')
- көрсеткіш – ең жоғары мәнін табу қажет көрсеткіш айнымалысы
- анықтамалық коды – көрсеткіштің ең жоғары мәнін есептеу кезінде бөлініс жүргізілетін анықтамалықтың коды
F.MAXTAB (А, 'Қызметкер')
А айнымалысына сәйкес келетін көрсеткіш «Қызметкер» анықтамалығы бойынша бөлінеді және алынған тізімнен <Анықтамалық мәні>=<Көрсеткіш мәні> көрсеткіштің ең жоғары мәні қайтарылады.
F.MIN функциясы мәндер жиынынан ең кіші мәнді қайтарады.
F.MIN(float <өрнек1>, float <өрнек>)
- өрнек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, rep.everymonth)
2014 жылдағы ең кіші айлық мәнді қайтарады.
F.MINIMUM(A, 20140101, 20141231, rep.everymonth, 'Сегмент' LIKE 'Малый*')
«Сегмент» анықтамалығы бойынша «Малый» мәнімен таңдалған көрсеткіштің 2014 жылдағы ең кіші айлық мәнін қайтарады.
F.MINIMUM([2, 4])
Массивтегі ең кіші мәнді қайтарады – 2.
Анықтамалық бойынша бөлінген көрсеткіштің минималды мәнін есептеуге арналған F.MINTAB функциясы
F.MINTAB (<көрсеткіш>, '<анықтамалық коды>')
- көрсеткіш – минималды мәнін табу қажет көрсеткіш айнымалысы
- анықтамалық коды – көрсеткіштің минималды мәнін есептеу кезінде бөлініс жүргізілетін анықтамалықтың коды
F.MINTAB (А, 'Қызметкер')
А айнымалысына сәйкес келетін көрсеткіш «Қызметкер» анықтамалығы бойынша бөлінеді және алынған тізімнен <Анықтамалық мәні>=<Көрсеткіш мәні> көрсеткіштің минималды мәні қайтарылады.
F.NUMFROMSEP функциясы саннан ондық бөлгіштен кейінгі санды қайтарады.
F.NUMFROMSEP (float <expression>)
- өрнек – өзгермелі нүктелі мәнге бағаланатын кез келген синтаксистік тұрғыдан жарамды өрнек.
F.NUMFROMSEP (123.4567)
4567 қайтарады.
F.PI функциясы pi - 3.1415... қайтарады.
F.PI
F.PI.
Екі ондық таңбалы дәлдіктегі метрика үшін 3.14 мәнін қайтарады.
F.ROUND функциясы ондық бөліктің мәнін көрсетілген дәлдікпен дөңгелектейді. Егер дәлдік теріс сан болса, бүтін бөліктің таңбаларының саны дөңгелектенеді.
F.ROUND(float <өрнек>, int <дәлдік>)
- өрнек – айнымалы коды немесе өрнек
- дәлдік – дөңгелектеу таңбаларының саны (егер дәлдік теріс сан болса, бүтін бөліктің таңбаларының саны дөңгелектенеді)
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(float <өрнек>, int <дәлдік>)
- өрнек – айнымалы коды немесе өрнек
- дәлдік – дөңгелектеуден кейінгі таңбалар саны
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.SIN функциясы бұрыштың синусын қайтарады
F.SIN(float <angle>)
- angle – синусын есептеуге арналған дәреже немесе өрнек
F.SIN(30)
0,5 мәнін қайтарады
F.SQRT функциясы көрсетілген өрнектің немесе дәреже мәнін квадрат түбірін есептейді.
F.SQRT(float <өрнек>)
- өрнек – айнымалы коды немесе өрнек
F.SQRT(A)
Көрсеткіш мәнінің квадрат түбірін қайтарады.
F.SQRT(64)
8 мәнін қайтарады.
F.TG функциясы бұрыштың тангенсін қайтарады.
F.TG (float <angle>)
- бұрыш – тангенсті есептеуге арналған дәреже немесе өрнек.
F.TG (45)
1 қайтарады.
Күн функциялары
F.DATE функциясы күнді (күн, ай, жыл) форматында қайтарады, бұл ретте осы параметрлердің бірін басқа функциялардың көмегімен есептеу мүмкіндігі бар.
F.DATE (int <күн>, int <ай>, int <жыл>)
F.DATE (1,1,2015)
20150101 мәнін қайтарады, яғни 01.01.2015.
F.SUM(А, F.DATE (01, 01, F.YEAR (F.REPORTDATE(rep.byreport))), F.TODAY (0, rep.byend), rep.everyquarter )
Соманы есептеу кезінде F.DATE функциясының көмегімен қосындылаудың басталу күні белгіленеді – әр жылдың 01 қаңтары, мұндағы жыл 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)
Бұл функцияда есептеу кезеңі анықталады.
Есептеу кезеңінің басталу күні мен аяқталу күні Көрсеткіш бойынша есеп кезеңінің соңғы күнінен ығысумен берілген. Қадамы «Тоқсан» және есеп кезеңі 2014 жылдың I тоқсанынан 2014 жылдың VI тоқсанына дейінгі Көрсеткіш үшін есептеу кезеңі 2 жыл болады - 2012 жылдың I тоқсаны - 2013 жылдың VI тоқсаны.
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 функциясы пайдаланылған. 2012 - 2013 жылдарға есептелген орташа мән 2014 жылы көрсетіледі.
F.DATEDIFF функциясы берілген кезең қадамындағы күндер айырмасын қайтарады. Нәтиже бүтін сан.
F.DATEDIFF(REP.EVERY*, int <басталу күні>, int <аяқталу күні>)
- REP.EVERY* – кезең қадамының сәйкес тұрақтысы
- басталу күні – есептеу жүргізілетін күн
- аяқталу күні – есептеу жүргізілетін соңғы күн
F.DATEDIFF(rep.everymonth, 20100101, 20101231)
11 айды қайтарады.
F.DATENIL функциясы күннің минималды (бос) мәнін қайтарады.
F.DATENIL()
F.DATENIL
18991230 қайтарады - күннің минималды мәні 30.12.1899
F.DATEONLY функциясы көрсетілген мәннен тек күнді қайтарады (уақытсыз)
F.DATEONLY(int <date>)
- date - күн есептелетін уақытпен күн
F.DATEONLY(F.GETDATE)
Ағымдағы күн мәнін уақытсыз қайтарады
F.DAY функциясы күнді күн параметрінен есептейді
F.DAY(int <date>, REP.EVERY*)
- date - күн есептелетін күн
- REP.EVERY* - сәйкес кезең қадамының тұрақтысы
F.DAY(20151101)
Қайтарады - 1
F.GETDATE функциясы ағымдағы күнді уақытпен бірге қайтарады
F.GETDATE()
F.GETDATE Ағымдағы күн мен уақытты қайтарады.
F.HOUR функциясы сағат мәнін күннен бастап қайтарады
F.HOUR(int <date>)
- date - есептеу жүргізілген күн мен уақыт
F.HOUR( F.GETDATE() )
Ағымдағы күн мен уақыттан сағаттарды қайтарады.
F.MINUTE функциясы күннен бастап минут мәнін қайтарады.
Ф.МИНУТ(int <күн>)
- күн - есептеу жүргізілген күн мен уақыт.
F.MINUTE (F.GETDATE())
Ағымдағы күн мен уақыттан минуттарды қайтарады.
F.MONTH функциясы айды күн параметрінен есептейді.
F.MONTH(int <date>)
- күн - ай есептелетін күн.
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)
2014 жылдың қаңтарынан желтоқсанына дейінгі кезеңдегі көрсеткішті «Ай» қадамымен есептеу кезінде кезекпен қайтарады: 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 <date>)
- date - тоқсан есептелген күн
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 )
2014 жылдың қаңтарынан желтоқсанына дейінгі кезеңдегі сома есептің ағымдағы бағанына дейін ай сайын жинақталған қорытындымен есептелетін болады (қаңтар үшін қаңтардағы мән, ақпан үшін – (қаңтар + ақпан), наурыз үшін - (қаңтар + ақпан + наурыз) және т.б. қайтарылады).
F.REPORTDATE (rep.bystart)
Есептің басталу күнін қайтарады.
F.SECOND функциясы күннен бастап секунд мәнін қайтарады
F.SECOND(int <күн>)
- күн – есептеу жүргізілген күн мен уақыт
F.SECOND(F.GETDATE() )
Ағымдағы күннен бастап секунд мәнін қайтарады
F.TODAY функциясы ағымдағы күнді (немесе ағымдағы күннен ығысқан күнді) қайтарады.
F.TODAY({int <ығысу>, {REP.BYCURRENT | REP.BYSTART | REP.BYEND}})
- ығысу – есеп қадамындағы ығысуға арналған кезең қадамдарының саны
- міндетті емес параметр, ағымдағы күн мәнін қайтарады: REP.BYCURRENT | REP.BYSTART | REP.BYEND (әдепкі бойынша REP.BYEND қолданылады). Егер ағымдағы күн режимі көрсетілмесе, функция REP.BYCURRENT мәнін қабылдайды.
F.TODAY
Ағымдағы күн қайтарылады – 20150305 00:00:00.000
F.TODAY (-1)
Егер есеп қадамы – ай болса, ағымдағы күн минус 1 ай қайтарылады.
Егер есеп қадамы – тоқсан болса, ағымдағы күн минус 1 тоқсан қайтарылады.
F.TODAY (+2)
Егер есеп қадамы ай болса, ағымдағы күн плюс 2 ай қайтарылады.
F.TODAY (0, rep.bystart)
Есеп қадамы ай болғанда, көрсеткішті қарашаға есептеу кезінде қарашаның басы қайтарылады – 20141101 00:00:00.000
F.IF(F.TODAY = 20141225, 'Католиктік Рождество', '')
Бұл функцияда ағымдағы күн анықталады және егер ол 2014 жылғы 25 желтоқсанға тең болса, «Католиктік Рождество» мәні, әйтпесе «» қайтарылады.
F.YEAR функциясы күн параметрінен жылды есептейді.
F.YEAR(int <күн>)
- күн - жылды есептеу орындалған күн.
F.YEAR(20151101)
2015 мәнін қайтарады.
Жол мәндеріне арналған функциялар
F.DATESTR функциясы күннің жолдық көрінісін қайтарады.
F.DATESTR(бүтін сан <күн>, 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 04 тоқсан'
'2014.12' қайтарады
F.DATESTR(20111231, rep.everyhalf)
'2011 02 жж' қайтарады
F.DATESTR(20111231, rep.everyyear)
'2011' қайтарады
Функцияны қолдану мысалы
"Период" анықтамалығы бойынша 2011 жылға арналған 12 мәні бар А көрсеткішін қарастырайық, мәндер "2011.01; 2011 01 тоқсан"-нан "2011.12; 2011 04 тоқсан"-ға дейін.
Айталық, бұл көрсеткіштің деректері сәуір айында енгізілген және "Период" анықтамалығымен ақпан айындағы деректер ретінде белгіленген.
Онда өткен кезеңдегі көрсеткіш бойынша түсімді көрсету үшін есептік көрсеткішке келесі формуланы жазамыз:
F.SUM (А, 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) + ''))
Егер кесте 2011 жылға арналған есептік көрсеткіш бойынша «Ай» кезең қадамымен құрылса, онда әрбір қадамды есептеуге арналған формуланы келтіру келесідей болады:
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)
2 айды азайтады және күнді айдың соңына теңестіреді - 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)
2 айды азайтады және күнді айдың соңына теңестіреді - 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 03 тоқс')
2011.01.01 - 2011.03.31 қайтарады
F.TODAY (0, rep.byend)
2011.03.31 қайтарады
F.DATEADD(2011.03.31, -2, rep.everyquarter, rep.byend)
2 тоқсанды азайтады және тоқсанның соңына теңестіреді - 2010.09.30
F.DATESTR(2010.09.30, rep.everyquarter)
'2010 03 тоқс' қайтарады
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Период' like '2010 04 тоқс')
2011.04.01 - 2011.06.30 қайтарады
F.TODAY (0, rep.byend)
2011.06.30 қайтарады
F.DATEADD (2011.06.30, -2, rep.everyquarter, rep.byend)
2 тоқсанды азайтады және күнді тоқсанның соңына теңестіреді -- 2010.12.31
F.DATESTR(2010.12.31, rep.everyquarter)
'2010 04 тоқс' қайтарады
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Период' like '2011 01 тоқс'))
2012.01.01 - 2011.03.31 қайтарады
F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Период' like '2011 02 тоқс'))
2012.04.01 - 2011.06.30 қайтарады
F.STRFMTTMPL функциясы жолды (2-параметр) көрсетілген форматта жол жасау үшін таңбалармен толтырады (1-параметр)
Бұл функция тек Импорттау Скрипт Шеберінде қолданылады
F.STRFMTTMPL (string <өрнек1>, string <өрнек2>)
- өрнек1 – берілген форматтағы жол
- өрнек2 – берілген форматқа түрлендіруге арналған жол
Келесі символдарды қолдануға болмайды: %, _ , [ ] , ^
F.STRFMTTMPL( '00000', '123' )
'00123' мәнін қайтарады
F.STRINDEXOF функциясы ізделінетін жолдың (1-параметр) жол ішіндегі (2-параметр) басталу индексін қайтарады. Жолды индекстеу бірден басталады.
F.STRINDEXOF(string <өрнек1>, string <өрнек2>)
- өрнек1 – ізделінетін жол
- өрнек2 – іздеу жүргізілетін жол
Келесі символдарды қолдануға болмайды: %, _ , [ ] , ^
F.STRINDEXOF('(', '10 (100%)')
4 мәнін қайтарады.
F.STRUBSTR функциясы көрсетілген жолға (2-параметр) дейінгі жолды (1-параметр) қайтарады.
Бұл функция тек Импорттау Скрипті Шеберінде қолданылады.
F.STRUBSTR (string <expression1>, string <expression2>)
- expression1 - кесуге болатын жол
- expression2 - кесуге болатын жол
Келесі таңбаларды пайдалану мүмкін емес: %, _, [ ], ^
F.STRUBSTR ( ',' , 'Тюмень, Ленин көшесі, 100' )
Тюмень мәнін қайтарады
F.SUBSTR функциясы жолдағы (1-параметр) жолды көрсетілген орыннан (2-параметр) көрсетілген ұзындыққа (3-параметр) қайтарады
F.SUBSTR(string <өрнек1>, int <өрнек2>, int <өрнек3>)
- өрнек1 – жол қиып алынатын жол
- өрнек2 – жолды қиып алуды бастайтын позиция
- өрнек3 – алынатын жолдың ұзындығы
Келесі символдарды қолдануға болмайды: %, _ , [ ] , ^
F.SUBSTR('10 (100%)', 5, 3)
100 қайтарады
F.SUBSTR(Pushkin Alexander Sergeevich'; 0; f.strindexof( ' ' ; Pushkin Alexander Sergeevich))
'Pushkin' қайтарады
F.SUBSTRBETW функциясы жолда (1-параметр) бар жолды жол (2-параметр) мен жол (3-параметр) арасындағы қайтарады
Бұл функция тек Импорттау Скрипт Шеберінде қолданылады
F.SUBSTRBETW(string <өрнек1>, string <өрнек2>, string <өрнек3>)
- өрнек1 – қию орындалатын жол (қай жолдан кейін)
- өрнек2 – қию орындалатын жол (қай жолға дейін)
- өрнек3 – ішінен қию орындалатын жол
Келесі символдарды қолдануға болмайды: %, _ , [ ] , ^
F.SUBSTRBETW (',', ',', 'Тюмень, Ленин көшесі 100, 99-пәтер')
'Ленина көшесі 100' мәнін қайтарады
F.SUBSTRBETW ('ATM', ',', 'ATM2345 ATM, филиал #1')
'2345' мәнін қайтарады
Индикатор мәндерін есептеу функциялары
F.ANALITCOUNT функциясы анықтамалықтағы индекс мәндерінің санын қайтарады
F.ANALITCOUNTBASE функциясы базалық индекстегі анықтамалық мәндерінің санын қайтарады
ANALITCOUNTBASE функциясының шектеулері:
- бұл функцияны пайдаланған кезде формулада басқа функциялар болмауы керек
- есептелген индексте тек бір айнымалы болуы мүмкін, ол базалық индекс
- бұл функцияның айнымалысы бөлек есептелмейді (ол есептеу жоспарында көрсетіледі, бірақ деректерсіз)
F.ANALITCOUNT(<индикатор>, <анықтамалық кітап>), F.ANALITCOUNTBASE(<индикатор>, <анықтамалық кітап>)
- индикатор - айнымалы код
- анықтамалық - деректердегі анықтамалық мәндерінің саны есептелетін анықтамалықтың коды индикатор
F.ANALITCOUNT (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(<indicator>, {int <offset>,) немесе F.AVGPERIOD(<indicator>, {int <offset>, {int <start date>, int<end date>, REP.EVERY*, {int <period date offset>}, {<filter>, {bool <expression>} } }})
- индикатор – айнымалы коды немесе өрнегі
- есептеу үшін кезең бойынша айнымалы ығысу
- басталу күні – есептеу орындалатын күн (есеп беру кезеңі әдепкі бойынша қолданылады)
- аяқталу күні – есептеу орындалатын күнге дейінгі күн (есеп беру кезеңі әдепкі бойынша қолданылады).
- REP.EVERY* – сәйкес кезең қадамының тұрақтысы (есеп беру кезеңі қадамы әдепкі бойынша қолданылады).
- кезең күнінің ығысуы - уақыт бойынша орташа мәнді есептеу деректерін ығыстыруға арналған кезең қадамдарының саны (әдепкі мән нөлге тең).
- қосымша анықтамалық сүзгі
F.AVGPERIOD(А) немесе F.AVGPERIOD(А, 1)
Бастапқы кезеңнен бастап ағымдағы кезеңдегі соманы кезеңдер санына бөліп қайтарады.
F.AVGPERIOD(А, 2)
Есептің әрбір екінші кезеңі бойынша өсетін соманы және кезең нөмірін қайтарады, яғни егер есепте «Ай» қадамымен жыл кезеңі берілсе, онда:
бірінші ай үшін Бірінші айдағы соманы / 1 аламыз
екінші ай үшін Екінші айдағы соманы / 1 аламыз
үшінші ай үшін (Бірінші + Үшінші айдағы сома) / 2 аламыз
төртінші ай үшін (Екінші + Төртінші айдағы сома) / 2 аламыз
бесінші ай үшін (Бірінші + Үшінші + Бесінші айдағы сома) / 3 аламыз
алтыншы ай үшін (Екінші + Төртінші + Алтыншы айдағы сома) / 3 аламыз
және т.б.
F.AVGPERIOD(А,12)
Есеп параметрлерінде «Ай» қадамымен 2 жыл кезеңі берілгенде, орташа мән әр ай үшін жыл сайын есептеледі, яғни:
бірінші жылдың бірінші айы үшін Қаңтар2010 / 1 аламыз
екінші жылдың бірінші айы үшін (Қаңтар2010 + Қаңтар2011) / 2 аламыз
бірінші жылдың екінші айы үшін Ақпан2010 / 1 аламыз
екінші жылдың екінші айы үшін (Ақпан2010 + Ақпан2011) / 2 аламыз
F.AVGPERIOD(A, 12, 20130101, 20141231, rep.everymonth, 12)
Бұл функцияда «А» айнымалысының айлық орташа мәні функцияда көрсетілген 2 жылдағы мәндерді ескере отырып анықталады. 13-ші және 14-ші жылдар үшін алынған орташа нәтиже 15-ші жылы көрсетіледі. 2014 жыл үшін орташа мән 2013 жылғы мәнге тең болады.
F.AVGPERIOD(A, 0, F.TODAY(0, rep.bystart), F.TODAY (0, rep.byend), rep.everymonth)
Бұл функцияда «А» айнымалысының ағымдағы кезеңдегі айлық орташа мәні анықталады. Орташа мәнді есептеу кезеңін есептеу үшін жоғарыда қарастырылған F.TODAY функциясы пайдаланылған.
Көрсеткішті «Тоқсан» қадамымен құру кезінде есеп кезеңінің әр тоқсаны үшін көрсеткіштің айлық орташа мәні есептеледі.
Көрсеткішті «Жартыжылдық» қадамымен құру кезінде есеп кезеңінің әр жартыжылдығы үшін көрсеткіштің айлық орташа мәні есептеледі.
және т.б.
F.AVGPERIOD(A, 0, F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.everyday)
Бұл функцияда «А» айнымалысының есеп кезеңіндегі әр ай үшін орташа мәні ай қадамымен анықталады.
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)
Бұл функцияда «Тоқсан» қадамымен және 2015 жылдың 1 тоқсанынан 2015 жылдың 4 тоқсанына дейінгі кезеңі бар көрсеткіш бойынша алдыңғы үш жылдағы сәйкес тоқсан бойынша орташа тоқсандық мәнді есептейді, мұнда:
А – айнымалы
4 – орташа мәнді есептеу үшін қосу қадамының ығысуы, яғни А көрсеткішінің барлық мәндері емес, көрсетілген ығысуға сәйкес мәндер қосылады (2012 жылдың 1 тоқсаны + 2013 жылдың 1 тоқсаны + 2014 жылдың 1 тоқсаны). Есептеу кезінде алынған мән қосу қадамдарының санына бөлінеді (бұл жағдайда бірінші тоқсандардың саны = 3).
F.DATE (1, 1, F.YEAR (F.REPORTDATE (rep.byend)) -3) функциясы – орташа мәнді есептеудің басталу күнін анықтайды. Күн мен ай берілген (1 қаңтар), ал жылды есептің аяқталу күнінің жылы мен көрсетілген ығысу негізінде есептейміз. Бұл жағдайда «-3» ығысуы = 2015 - 3 = 2012.
Орташа мәнді есептеудің аяқталу күнін де сол сияқты есептейміз: күн мен айды береміз (31 желтоқсан), ал жылды есептің аяқталу күнінен ығысумен есептейміз. Бұл жағдайда «-1» ығысуы = 2015 - 1 = 2014.
rep.everyquarter – орташа мәнді есептеу қадамы – Тоқсан
4 – алынған деректердің орташа мәнді есептеу қадамындағы ығысуы (4 кезең алға), яғни 2015 жылдың 1 тоқсанының мәні нәтиже болады - (2012 ж. 1 тоқсан + 2013 ж. 1 тоқсан + 2014 ж. 1 тоқсан) / 3. 2015 жылдың 2 тоқсанының мәні нәтиже болады - (2012 ж. 2 тоқсан + 2013 ж. 2 тоқсан + 2014 ж. 2 тоқсан) / 3 және т.б.
Егер орташа мәнді есептеу деректерін уақыт бойынша ығыстырудың кезең қадамдарының саны көрсетілмесе, алынған нәтиже 2014 жылы көрсетіледі.
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)
Бұл функцияда есеп күні және «А» айнымалысының алдыңғы 2 жылдағы айлық орташа мәні анықталады.
2011 және 2012 жылдардағы орташа мән 2013 жылы көрсетіледі,
2012 және 2013 жылдардағы орташа мән 2014 жылы көрсетіледі,
2013 және 2014 жылдардағы орташа мән 2015 жылы көрсетіледі
және т.б.
F.AVGTAB функциясы индикатордың орташа мәнін сілтеме бойынша бөліп есептейді.
F.AVGTAB (<индикатор>, '<каталог коды>')
- индикатор - орташа мәні табылуы тиіс индикатордың айнымалысы
- каталог коды - орташа мәнді есептеу кезінде бөлу орындалатын каталогтың коды
F. AVGTAB(A, 'Қызметкер') А айнымалысына сәйкес келетін индикатор "Қызметкер" каталогымен бөлінеді, ал алынған тізімде <Каталог мәні>=<индикатор мәні> индикатор мәндерінің қосындысы алынып, каталог мәндерінің санына бөлінеді. Қосынды мен саны үшін тағайындалмаған аналитика ескеріледі.
Ескерту:
Бір қарағанда,
F.AVGTAB(A, 'Қызметкер')
F.SUMTAB(A, 'Қызметкер') / F.ANALITCOUNT(A, 'Қызметкер') сәйкес келетін сияқты көрінуі мүмкін, бірақ жалпы алғанда бұл олай емес.
F.ANALITCOUNT() тағайындалмаған аналитиканы ескермейді. Индикаторды Қызметкер каталогы бойынша бөлу келесі мәндер тізімін берді деп есептейік:
'Ivanov' = 15
'Petrov' = 5
'Sidorov' = 10
'мән көрсетілмеген' = 7,
Сонда:
F.SUMTAB(A, 'Қызметкер') = 37
F.ANALITCOUNT(A, 'Қызметкер') = 3
SUMTAB(A, 'Қызметкер') / F.ANALITCOUNT(A, 'Қызметкер') = 37 / 3 = 12.(3)
F.AVGTAB(A, 'Қызметкер') = 37 / 4 = 9.25
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(А, 20140101, 20141231, rep.everymonth)
«А» көрсеткішінің 2014 жылдағы айлық мәндерінің сомасын қайтарады.
F.SUM(А, 20140101, 20141231, rep.everymonth, 'фил' = 'Мәскеу филиалы')
«Филиалдар» анықтамалығы бойынша (анықтамалық коды «фил») «Мәскеу филиалы» аналитикасымен «А» көрсеткішінің айлық мәндерінің жылдық сомасын қайтарады.
F.SUM(А, F.TODAY (-1, rep.bystart), F.TODAY (0, rep.byend), rep.everymonth)
А көрсеткішінің алдыңғы есептік айдың басынан ағымдағы есептік айдың соңына дейінгі кезеңдегі сомасын қайтарады.
Басталу күні мен аяқталу күнін есептеу үшін F.TODAY функциясы ығысумен қолданылады:
F.TODAY (-1, rep.bycurrent) – есеп қадамы ай болғанда, ағымдағы күн минус 1 ай.
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) – баған күнін қайтарады.
2014 жылдың қаңтарынан желтоқсанына дейінгі кезең үшін сома есептің ағымдағы бағанына дейін ай сайын жинақталған қорытындымен есептеледі:
қаңтар үшін – қаңтардағы мән қайтарылады,
ақпан үшін – қаңтар + ақпан,
наурыз үшін – қаңтар + ақпан + наурыз,
және т.б.
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» көрсеткіші бойынша ағымдағы кезеңдегі соманы бір жылға ығысумен қайтарады.
2015 жылға «Тоқсан» қадамымен есепті құру кезінде сома келесідей көрсетіледі:
2015 жылдың бірінші тоқсанында – 2014 жылдың бірінші тоқсаны үшін.
2015 жылдың екінші тоқсанында – 2014 жылдың екінші тоқсаны үшін,
және т.б.
2015 жылға «Жартыжылдық» қадамымен есепті құру кезеңде:
2015 жылдың бірінші жартыжылдығында 2014 жылдың бірінші жартыжылдығының мәндерінің сомасы көрсетіледі.
2015 жылға жыл қадамымен есепті құру кезінде 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(А, 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])
Массивтегі айнымалылардың сомасын қайтарады, бұл А + В қарағанда тиімдірек.
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.SUMTAB функциясы анықтамалыққа бөлінген негізгі индикатордың қосындысын есептейді.
F.SUMTAB(<индикатор>, <анықтамалық>)
- индикатор – айнымалы коды немесе өрнегі
- анықтамалық – қорытындылау кезінде мәндер бөлінген анықтамалықтың коды.
F.SUMTAB(X, 'филиал')
Х айнымалысының есептік кезеңдегі жиынтық сомасын есеп қадамымен, «филиал» анықтамалығы бойынша бөліністе қайтарады.
X – әрқайсысы «филиал» анықтамалығы бойынша талдауы бар екі базалық көрсеткіштің (А*В) көбейтіндісіне тең есептік көрсеткіш:
| Филиал | A | B |
|---|---|---|
| филиал 1 | 1,00 | 7,00 |
| филиал 2 | 2,00 | 8,00 |
| филиал 3 | 3,00 | 9,00 |
| Барлығы: | 6,00 | 24,00 |
F.SUMTAB функциясы «филиал» анықтамалығы бөлінісіндегі А*В көбейтінділерінің жиынтық сомасын (кестелік есептегідей) есептік кезең үшін есептеп шығарады:
F.SUMTAB (Х, 'фил') = 7 + 16 + 27 = 50
F.SUM функциясы бұл жағдайда көрсетілген кезең үшін «А» көрсеткіші бойынша соманы есептеп, оны осы кезеңдегі «В» көрсеткіші бойынша сомаға көбейтеді:
F.SUM (Х, 20140101, 20141231, rep.everymonth) = 6 + 24 = 30
F.COUNT функциясы берілген кезең қадамындағы кезең үшін индикатордағы мәндер санын немесе массивтегі элементтер санын есептейді
F.COUNT(<индикатор>, int <басталу күні>, int <соңғы күні>, REP.EVERY*, {<сүзгі>})
немесе
F.COUNT(<индикатор>),
бұл
F.COUNT(<индикатор>, F.ToDay(0, Rep.BySart), F.ToDay(0, Rep.ByEnd), F.ReportStep(<индикатор>))
F.COUNT ([<өрнек>{, <өрнек>}])
- индикатор – айнымалы коды немесе өрнегі
- басталу күні – есептеу жүргізілген күн (әдепкі бойынша есеп беру кезеңі)
- аяқталу күні – есептеу жүргізілген күнге дейінгі күн (есеп беру кезеңі әдепкі бойынша қолданылады)
- REP.EVERY* - сәйкес кезең қадамының тұрақтысы (есеп беру кезеңі қадамы әдепкі бойынша қолданылады)
- индикатор анықтамалықтары үшін қосымша сүзгі
- өрнек - нәтижесі сан болатын кез келген синтаксистік тұрғыдан дұрыс өрнек
F.COUNT(А)
Есеп кезеңіндегі «А» көрсеткіші жазбаларының санын қайтарады.
F.COUNT(А, 20140101, 20141231, rep.everymonth)
Көрсетілген кезеңдегі «А» көрсеткіші жазбаларының санын қайтарады.
F.COUNT(А, F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.byreport)
Көрсетілген кезеңдегі «А» көрсеткіші жазбаларының санын қайтарады.
F.COUNT(А, 20140101, F.TODAY, rep.everymonth, 'фил' = 'Мәскеу филиалы' AND 'фил' = 'Тверь')
2014 жылғы 1 қаңтардан бастап кезеңдегі ай қадамымен Мәскеу және Тверь филиалдары бойынша «А» көрсеткіші жазбаларының санын қайтарады.
F.COUNT([А, B])
Массивтегі элементтер санын қайтарады – 2.
F.PERIODNUMBER функциясы қазіргі уақытта есептеліп жатқан қадамның санын қайтарады
F.PERIODNUMBER(REP.BYREPORT | REP.BYCURRENT)
- REP.BYCURRENT - есептелген индикатор кезеңінің қадамындағы қадам нөмірін қайтарады,
- REP.BYREPORT - есептік кезеңнің қадамындағы қадам нөмірін қайтарады.
F.PERIODNUMBER(rep.byreport)
Есептік көрсеткіші ай қадамымен, ал есептің өзі жыл және тоқсан қадамымен берілгенде, кезең нөмірлерін ретімен 1, 2, 3, 4 қайтарады.
F.PERIODNUMBER(rep.bycurrent)
Есептік көрсеткіші ай қадамымен, ал есептің өзі жыл және тоқсан қадамымен берілгенде, кезең нөмірлерін ретімен 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12 қайтарады.
F.REPORTSTEP функциясы индикатордың немесе есеп беру кезеңінің ағымдағы қадамына сәйкес келетін REP.EVERY* тұрақты мәндерінің бірін қайтарады
F.REPORTSTEP({<индикатор>})
- индикатор – айнымалы коды
f.if (F.REPORTSTEP(А) = rep.everymonth, 1, 2)
«А» көрсеткіші үшін қадамы ай болса – 1, басқа қадам болса – 2 қайтарады.
F.REPORTSTEP(А)
«А» көрсеткішінің қадамын қайтарады
күн – 4
апта – 5
ай – 6
тоқсан – 7
жартыжылдық – 8
жыл – 9
F.REPORTSTEP
Есеп қадамын қайтарады (4 – 9)
F.PREVVALUE функциясы метриканың кезең қадамында алынған метрика мәнін көрсетілген қадамдар санына кері қайтарады.
F.PREVVALUE(<metric>, int <expression>)
- метрика – алдыңғы кезең үшін мән қайтарылатын айнымалы
- expression – метриканың кезең қадамындағы қадамдар саны
F.PREVVALUE(A, 1)
Алдыңғы кезең үшін "A" айнымалысына тең мәнді қайтарады.
F.PREVVALUE(A, 2)
Алдыңғы кезеңнен бұрынғы кезең үшін "A" айнымалысына тең мәнді қайтарады.
F.PREVVALUETHIS функциясы метриканың кезең қадамында алынған ағымдағы метрика мәнін көрсетілген қадамдар санына кері қайтарады.
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.VALPOSTAB функциясы аналитикалық сөздіктегі сұрыпталған тізімнің саны бойынша кілт индикаторының мәнін қайтарады.
F.VALPOSTAB (<көрсеткіш>, '<анықтамалық коды>', <позиция>, <сұрыптау бағыты>)
- көрсеткіш – мәні мәндері бойынша сұрыпталған және анықтамалық бойынша бөлінген позициядан қайтарылуы тиіс көрсеткіш айнымалысы.
- анықтамалық коды – бөлініс жүргізілетін анықтамалықтың коды.
- позиция – анықтамалық бойынша бөлінген мәнді қайтару қажет позицияның нөмірі.
Анықтамалық бойынша бөлініске түскен элементтер санына, яғни 1-ден сол анықтамалық бойынша F.AnalitCount() мәніне дейінгі сандарды қайтаратын, синтаксистік тұрғыдан дұрыс кез келген өрнек.
Кез келген басқа мәндерде функция 0 қайтарады.
Егер анықтамалық бойынша бөлініс кезінде мәндер тізімі бос болса, яғни F.AnalitCount() = 0 болса, функция да 0 қайтарады. Позиция – анықтамалық бойынша бөлінген мәнді қайтару қажет позицияның нөмірі.
- сұрыптау бағыты – true (немесе 1) – мәндердің өсуі бойынша сұрыптау, false (немесе 0) – мәндердің кемуі бойынша сұрыптау.
F.VALPOSTAB (A, 'ОргСтруктура', 3, 1)
А айнымалысымен байланысқан, «ОргСтруктура» анықтамалығы бойынша мәндері бар Базалық көрсеткіш үшін:
15 - Энергоблок 1
20 - Энергоблок 2
10 - Энергоблок 3
көрсетілген функция сұрыпталған мәндер тізімінің 3-позициясының мәнін қайтарады:
10 - Энергоблок 3
15 - Энергоблок 1
20 - Энергоблок 2
Яғни, функцияның нәтижесі 20-ға тең болады.
F.GETREFVALUE функциясы бірінші көрсетілген өрістегі үлгіге негізделген анықтамалықтағы элементті іздейді. Егер сәтті болса, екінші өрістен мәнді қайтарады; әйтпесе, 0.
F.GetRefValue (<анықтамалық кітап>, <анықтамалық кітап өрісі>, <үлгі>, <анықтамалық кітап өрісі>)
- анықтамалық – анықтамалық кодымен жол
- анықтамалық өріс – анықтамалық өріс идентификаторымен жол
- үлгі – іздеу үлгісі // - анықтамалық өріс
- анықтамалық өріс идентификаторымен жол
F.GetRefValue ('BudgetCut', 'Code', '5206463403', 'DocID')
Индикатор деректеріндегі "BudgetCut" анықтамалықтағы сілтеме өрісіне '5206463403' анықтамалық мәніне сілтеме жазады.
F.GetRefValue ('Басқарушы', 'DocID', Costs.Manager, 'DocID')
"Шығындар" анықтамалығындағы сол "Басқарушы" анықтамалығына арналған мән өрісіне негізделген Базалық индикатордың "Басқарушы" анықтамалығына сілтеме өрісінің мәнін есептейді
F. GetRefValue ('Басқарушы', 'Код', Costs.Manager, 'DocID')
"Шығындар" анықтамалығының "Басқарушы" жол өрісіне негізделген Basic индикаторының "Басқарушы" анықтамалығының мәнін есептейді
F. GetRefValue ('Пайыздар', 'DocID', f.matrixrefvalue ('DSS'), 'Атау')
"Пайыздар" анықтамалығының мәнін Basic индикаторының жол өрісіне жазады, ол ""DSS"" коды бар Dynamic List\Reference book көмегімен есептеледі
F. GetRefValue ('Пайыздар', 'Код', 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 (<matrix>{, <date>})
- матрица – "Динамикалық тізім\Анықтамалық кітап" немесе "Динамикалық тізім\Нөмір" типті түрлендіру матрицасының коды бар жол
- date – матрица нұсқасы алынған күні көрсетілген қосымша өріс (егер көрсетілмесе, DateOper өрісінен алынған күн мәні алынады)
F.MatrixRefValue ('BudgetSlice') немесе F.MatrixRefValue ('BudgetSlice', DateOper)
Мәндерді индикатор деректеріндегі "Budget" анықтамалық кітабының анықтамалық өрісіне жазады. "slice" – индикатор мәнінің күніндегі "BudgetSlice" коды бар түрлендіру матрицасын пайдаланып есептелетін анықтамалық кітап мәніне сілтеме.
Импорттау сценарийінің шебері
F.DIST функциясы берілген қосынды үшін (2-параметр) көрсетілген дәлдікпен (1-параметр) санды салмақ мәніне (3-параметр) бөледі.
F.DIST (int <өрнек1>, float <өрнек2>, float <өрнек3>)
- өрнек1 – 0-ден 16-ға дейінгі бүтін сан – 2-параметрдің мәні мен 3-параметрдің (деректер жолы үшін үлестірім коэффициенті) көбейтіндісінің қосындысының 2-параметрдің мәніне (барлық деректер жолдары үшін жалпы қосынды) көбейтіндісі арасындағы дельта (қате) үшін ондық таңбалар саны
- өрнек2 – үлестірім үшін жалпы санды (қосындыны) көрсететін сан немесе параметр (айнымалы)
- өрнек3 – деректер жолы үшін коэффициентті есептеу үшін қолданылатын айнымалы немесе формула
Есептелетін өрісте (4) әрбір бөлім қызметкерлерінің санының (1) компания қызметкерлерінің жалпы санындағы (3) үлесі есептеледі.
(4) бағанының барлық мәндерінің қосындысы 1-ге тең болуы керек, бірақ мәндері бар жолдардың көптігіне және (1) шағын қосындыларына байланысты дөңгелектеулер салдарынан біз 1-ге тең емес қосынды алуымыз мүмкін.
1 мен алынған (4) қосындысы арасындағы дельтаны есептеп, оны әрбір жолдық мәнге (4) пропорционалды түрде бөлу қажет.
| А | Параметр | F. TSUM (A) | А/B | F.DIST(5, 1, А/B ) | |
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |
| 20,00 | 1-бөлім | 11 565,00 | 0,00177746178… | 0,00177746178… | |
| 5,00 | 2-бөлім | 11 565,00 | 0,00177746178… | 0,00044436544… | |
| ... | N-бөлім | 11 565,00 | ... | ... | |
| Қосынды | 11 565,00 | 0,99... | 1,00000 |
F.DIST(5, 1, А/B) функциясы А/B мәндерінің қосындысын есептеп, оны 1-мен салыстырады және жетіспейтін айырманы жолдар бойынша (5) пропорционалды түрде бөледі. (5) мәндерінің қосындысын 1-мен салыстырады. Егер алынған (5) қосындысы ондық үтірден кейін 5 таңба дәлдігімен қажетті 1-ге жетпесе, онда айырманы есептеп, оны қайтадан жолдар бойынша пропорционалды түрде бөледі. Осылайша (5) мәндерінің алынған қосындысы 1-ге тең болғанша жалғасады.
F.TSUM функциясы көрсетілген шартқа сәйкес көрсетілген сандық өрістің мәндерін қосады. Шартты көрсету міндетті емес; бұл жағдайда тізімделген өрістердің барлық мәндерінің қосындысы алынады.
F.TSUM(float <expression>{,float <expression1>, ..., float <expressionN>})
- өрнек - мәндері қосылатын сандық өріс немесе қосылатын санды есептеу үшін қолданылатын формула.
Қосындылау үшін:
«А» өрісінің мәндері (4),
«А» және «В» өрістерінің мәндері (5)
параметрі «П1» болатын «А» өрісінің мәндері (6)
| A | B | Параметр | F. TSUM (A) | F. TSUM (A, B) | F. SUM ( F.IF (Параметр = 'П1' , А, 0) |
|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | 6 |
| 15,00 | 1,00 | П1 | 45,00 | 51,00 | 25,00 |
| 20.00 | 2,00 | П | 45,00 | 51,00 | 25,00 |
| 10,00 | 3,00 | П1 | 45,00 | 51,00 | 25,00 |
F.GROUPSUM функциясы көрсетілген сандық өрістің мәндерін көрсетілген өрістер тобы бойынша қосады. Өрістерді топтастыруды көрсету міндетті емес; бұл жағдайда қосынды бүкіл деректер жиыны бойынша алынады.
F.GROUPSUM(float <expression>, { <argument1>, ..., <argumentN>})
- expression1 - мәндері қосылатын сандық өріс
- қосынды орындалатын өрістер тобы үшін міндетті емес параметр
«Сома» өрісінің мәндерін «Параметр1» және «Параметр2» өрістері бойынша топтастыра отырып қосындылау үшін функция келесі түрге ие болады:
| Сома | Параметр1 | Параметр2 | F.GROUPSUM (Сома, Параметр1) | F.GROUPSUM (Сома, Параметр1, Параметр2) |
|---|---|---|---|---|
| 15 | П1 | П21 | 25 | 45 |
| 20 | П1 | П22 | 20 | 45 |
| 10 | П1 | П21 | 25 | 45 |
F.HI функциясы жол мәнін бас әріпке түрлендіреді
F. HI (жол <өрнек>)
- өрнек - мәні бас әріпке түрлендірілуі керек жол
F.LO функциясы жол мәнін кіші әріптерге түрлендіреді
F.LO (string <expression>)
- өрнек - мәндерін кіші әріптерге түрлендіру қажет жол
F.LTRIM функциясы сол жақтағы жолдағы бос орындарды жояды
F.LTRIM(string <expression>)
- өрнек – сол жақтағы бос орындарды кесу керек жол
F.REPLACE функциясы жолдағы (1-параметр) бірінші мәнді (2-параметр) екінші мәнмен (3-параметр) ауыстырады
F.REPLACE(string < expression1>, string < expression2>, string < expression3>)
- expression1 - ауыстыру орын алатын жол
- expression2 - ауыстырылатын жол/мән
- expression3 - жол/мән ауыстыру жасалады
F.RTRIM функциясы жолдан бос орындарды жояды. оң жақ
F.RTRIM (жол <өрнек>)
- өрнек – оң жақта бос орындарды кесу керек жол
F.STR функциясы санның жолдық көрінісін қайтарады
F.STR(float <expression>)
- өрнек – жолға түрлендірілетін өрнек
F.STRDATE функциясы күннің жолдық көрінісін қайтарады.
F.STR(float <expression>)
- өрнек – жолға түрлендірілетін өрнек
F.TRIM функциясы жолдың сол және оң жақ шеттерінен бос орындарды жояды.
F.TRIM(жол <өрнек>)
- өрнек - сол және оң жақ шеттерінен бос орындарды кесуге арналған жол.
KPI картасының функциялары
F.VARISENABLED функциясы көрсетілген айнымалы KPI диаграммасын есептеуге енгізілген жолдан алынған болса, TRUE мәнін қайтарады. Әйтпесе, FALSE мәнін қайтарады.
F.VARISENABLED(<айнымалы>)
- айнымалы KPI диаграммасы ұяшығының айнымалысы.
F.VARISENABLED(<H1>)
Егер айнымалы есептеуге енгізілген жолдан алынған болса, 1 (шын) мәнін қайтарады.
Әйтпесе, 0 (жалған) мәнін қайтарады.
Параметрлер
– ағымдағы кезең қадамы
– кезеңнің соңы
– есеп беру кезеңінің қадамы
– кезеңнің басы
– күн кезеңінің қадамы
– жартыжылдық кезең қадамы
– сағат кезеңінің қадамы
– минут кезеңінің қадамы
– ай кезеңінің қадамы
– тоқсан кезеңінің қадамы
– екінші кезең қадамы
– апта кезеңінің қадамы
– жыл кезеңінің қадамы
– kезеңнің белгісіз қадамы