Funksiyalar ma’lumotnomasi

Ushbu sahifada KPI MONITOR dasturida mavjud bo‘lgan funksiyalar va sozlamalar bilan tanishishingiz mumkin. BI-yechimlar sohasidagi ko‘p yillik tajriba bizga mahsulotimiz bilan samarali va qulay ishlash uchun keng qamrovli funksiyalar to‘plamini yig‘ishga yordam berdi.

Operatorlar

Tavsif

Mantiqiy AND operator faqat barcha argumentlar TRUE bo'lsa, TRUE qiymatini qaytaradi. Agar kamida bitta argument FALSE bo'lsa, butun ifoda FALSE qiymatini oladi. AND funksiyasi odatda mantiqiy tekshiruvlar bajaradigan boshqa funksiyalarning imkoniyatlarini kengaytirish uchun ishlatiladi.

Sintaksis

"(<expression1>) VA (<expression2>)

  • expression1 - tekshiriladigan birinchi shart, uning hisoblash natijasi TRUE yoki FALSE qiymatini beradi.
  • expression2 - tekshiriladigan ikkinchi shart, uning hisoblash natijasi TRUE yoki FALSE qiymatini beradi.
Misol

F.IF (A > 0 VA B=5, B, 0)

Agar A>0 va B=5 bo'lsa, B qiymatini qaytaradi, aks holda 0

Tavsif

IF shartli operatori berilgan shart NATIJAda HAQIQAT qiymatini bersa, bir qiymatni, shart NATIJAda YOLGʻON qiymatini bersa, boshqa qiymatni qaytaradi.

Sintaksis

F.IF(bool <ifoda1>, float <ifoda2>, float <ifoda3>)

  • ifoda1 - mantiqiy ifoda
  • ifoda2 - shart NATIJAda HAQIQAT qiymatini bersa qiymat
  • ifoda3 - shart NATIJAda YOLGʻON qiymatini bersa qiymat
Misol

F.IF (A > 0, B, 0)
A 0 dan katta boʻlsa B qiymati, A 0 ga kichik yoki teng boʻlsa 0 qaytariladi

F.IF (((A /B) > 1.5) and ((A/B) < 2.3), C, 0)
A/B 1.5 dan katta va 2.3 dan kichik boʻlsa C qiymati, A/B 1.5 ga kichik yoki teng va 2.3 ga katta yoki teng boʻlsa 0 qaytariladi

Tavsif

LIKE operatori faqat maʼlumotnoma satr qiymatlariga qoʻllaniladi, ular bilan substratlarni topish uchun ishlatiladi. Maʼlumotnomada kerakli qiymatlarni qidirishda filtr qoʻyish uchun ishlatiladi. Baza koʻrsatkichining hisoblanadigan maydonlarida qoʻllab-quvvatlanmaydi («=» ishlatiladi).

Sintaksis

<'Maʼlumotnoma kodi'> LIKE <'Namuna'>

  • Maʼlumotnoma kodi – maʼlumotnoma kodi argumenti
  • Namuna – substrat/soʻz qismi/ibora argumenti
Misol

F.SUM (A, 20110101, 20111231, rep.everymonth, 'fil' LIKE 'Moskovskiy*')

«Filiallar» maʼlumotnomasida («Fil» kodi) «Moskovskiy» soʻzi bilan boshlanadigan qiymatlarni qidirish

Tavsif

NOT operatori shartni yoki operatorni inkor qiladi.

Sintaksis

NOT (<Shart_operator>)

  • Shart_Operator - inkorni talab qiladigan shart yoki operator uchun argument
Misol

F.SUM (A, 20110101, 20111231, rep.everymonth, ’fil’ NOT LIKE ’Moskva*’)

"Filiallar" ma’lumotnomasida "Moskovskiy*" dan tashqari barcha qiymatlarni qidirish ("Fil" ma’lumotnomasining kodi)

NOT (A=8)

8" ga teng emas

Tavsif

LIKE operatoriga teskari bo‘lgan NOT LIKE operatori faqat qo‘shimcha satrlarni topish uchun ishlatiladigan ma’lumotnomaning satr qiymatlariga qo‘llaniladi. Kerakli qiymatlarni qidirishda ma’lumotnomadagi filtrlarni qo‘yish uchun ishlatiladi. Bazaviy ko‘rsatkichning hisoblanadigan maydonlarida qo‘llab-quvvatlanmaydi ("<" yoki "!=" ishlatiladi)

Sintaksis

<’Ma’lumotnoma kodi’> NOT LIKE <’Andoza’>

  • Ma’lumotnoma kodi - argument ma’lumotnoma kodi
  • Shablon - kichik satrning argumenti/so‘z/jumla qismi
Misol

F.SUM (A, 20110101, 20111231, rep.everymonth, ’fil’ NOT LIKE ’Moskva*’)

"Filiallar" ma’lumotnomasida ("Fil" ma’lumotnomasining kodi) nomida "Moskovskiy" so‘zi bo‘lmagan qiymatlarni qidirish

Tavsif

OR shartli operatori biror shartni tekshirish va tekshirish natijasiga qarab u yoki bu amalni bajarish imkonini beradi. Agar argumentlardan hech bo‘lmaganda bittasi ROST yoki YOLG‘ON qiymatga ega bo‘lsa, agar barcha argumentlar YOLG‘ON qiymatga ega bo‘lsa, ROST qiymatni qaytaradi. Odatda OR funksiyasi mantiqiy tekshiruvni amalga oshiruvchi boshqa funksiyalarning imkoniyatlarini kengaytirish uchun ishlatiladi.

Sintaksis

(<ifoda1>) OR (<ifoda2>)

Misol

F.IF (A > 0 OR B=5, B, 0)

Matematik funksiyalar

Tavsif

F.ABC funksiyasi sonning modulusini (mutlaq qiymatini), ya'ni belgisiz sonni qaytaradi.

Sintaksis

F.ABC(float <ifoda>)

  • ifoda - mutlaq qiymatini topish kerak bo'lgan real son
Misol

F.ABC (3)

3 qiymatini qaytaradi

F.ABC (-2)

2 qiymatini qaytaradi

Tavsif

F.ARCCOS funksiyasi burchakning arkkosinini qaytaradi.

Sintaksis

F.ARCCOS (float <value>)

  • value – arkkosinusni hisoblash uchun raqam yoki ifoda
Misol

F.ARCCOS (1)

0 qiymatini qaytaradi.

Tavsif

F.ARCCTG funksiyasi burchakning teskari tangensini qaytaradi.

Sintaksis

F.ARCCTG (float <value>)

  • value – arkkotangensni hisoblash uchun son yoki ifoda
Misol

F.ARCCTG (1)

45° qiymatini qaytaradi

Tavsif

F.ARCSIN funksiyasi burchakning arka sinusini qaytaradi.

Sintaksis

F.ARCSIN (float <value>)

  • value – arksinni hisoblash uchun indeks yoki ifoda
Misol

F.ARCSIN (1)

90° qiymatini qaytaradi.

Tavsif

F.ARCTG funksiyasi burchakning teskari tangensini qaytaradi.

Sintaksis

F.ARCTG (float <value>)

  • value – arktangensni hisoblash uchun son yoki ifoda
Misol

F.ARCTG (1)
45° qiymatini qaytaradi

Tavsif

F.COS funksiyasi burchakning kosinusini qaytaradi.

Sintaksis

F.COS (float <burchak>)

  • burchak – kosinusni hisoblash uchun indeks yoki ifoda
Misol

F.COS(360)

1 qiymatini qaytaradi

Tavsif

F.COUNTFROMSEP funksiyasi sonning o'nlik nuqtadan keyingi aniqlik darajasidagi raqamlar sonini qaytaradi.

Sintaksis

F.COUNTFROMSEP (float <ifoda>)

  • ifoda – sintaktik jihatdan to'g'ri bo'lgan va real qiymatga ega bo'ladigan har qanday ifoda
Misol

F.COUNTFROMSEP(123.1567)

4 qiymatini qaytaradi

Tavsif

F.CTG funksiyasi burchakning kotangensini qaytaradi.

Sintaksis

F.CTG(float <burchak>)

  • burchak – kotangensni hisoblash uchun indeks yoki ifoda
Misol

F.CTG (45)

1 qiymatini qaytaradi

Tavsif

F.EXP funksiyasi tabiiy logarifm asosini (e = 2.7182818284590452...) ko‘rsatilgan darajada qaytaradi

Sintaksis

F.EXP(float <ifoda>)

ifoda – eksponentani hisoblash uchun koʻrsatkich yoki ifoda

Misol

F.EXP (0)
1 qiymatini qaytaradi

Tavsif

F.FLOOR funksiyasi sonni berilgan aniqlikning kamayishigacha yaxlitlaydi.

Sintaksis

F.FLOOR(float <ifoda>, float <aniqlik>)

  • ifoda – oʻzgaruvchi kodi yoki ifoda
  • aniqlik – yaxlitlash amalga oshiriladigan raqamlar soni
Misol

F.FLOOR(2.5, 1)
1 ga yaqin 1 ning eng yaqin soniga kamayish bilan yaxlitlangan qiymatni qaytaradi: 2
F.FLOOR(-2.5, -2)
-2 ga yaqin -2 ning eng yaqin soniga kamayish bilan yaxlitlangan qiymatni qaytaradi: -2
F.FLOOR(-2.5, 2)
-2.5 va 2 sonlari turli belgilarga ega boʻlgani uchun xato qaytaradi
F.FLOOR(1.5, 0.1)
0.1 ga yaqin 0.1 ning eng yaqin soniga kamayish bilan yaxlitlangan qiymatni qaytaradi: 1.5
F.FLOOR(0.234, 0.01)
0.01 ga yaqin 0.01 ning eng yaqin soniga kamayish bilan yaxlitlangan qiymatni qaytaradi: 0.23

Tavsif

F.LG funksiyasi koʻrsatilgan sonning 10 asosidagi logarifmini qaytaradi.

Sintaksis

F.LG (float <ifoda>)

  • ifoda – hisoblash uchun koʻrsatkich yoki ifoda
Misol

F.LG (10)

1 qiymatini qaytaradi

Tavsif

F.LN funksiyasi koʻrsatilgan sonning tabiiy logarifmini qaytaradi.

Sintaksis

F.LN (float <ifoda>)

  • ifoda – hisoblash uchun koʻrsatkich yoki ifoda
Misol

F.LN (1)

0 qiymatini qaytaradi

Tavsif

F.MAX funksiyasi qiymatlar toʻplamidagi eng katta qiymatni qaytaradi.

Sintaksis

F.MAX(float <ifoda1>,..., float <ifodaN>)

  • ifoda1 , ... , ifodaN - eng kattasini topish kerak boʻlgan haqiqiy sonlar
Misol

F.MAX (2, 3, 1)

3 qiymatini qaytaradi

Tavsif

F.MAXIMUM funksiyasi berilgan davr bosqichida maksimal qiymatni yoki massivdagi maksimal qiymatni hisoblaydi.

Davr boʻyicha qiymat hisoblaganda funksiya avval maʼlumotlarni koʻrsatilgan davr bosqichida yigʻadi, keyin belgilangan sanalar oraligʻida ekstremumni topadi.

Sintaksis

F.MAXIMUM(<koʻrsatkich>, int <bosh_sana>, int <yakun_sana>, REP.EVERY*, {<filtr>}, {bool <ifoda>})

F.MAXIMUM ([<ifoda>{,<ifoda>}])

  • koʻrsatkich – oʻzgaruvchi kodi
  • bosh_sana – hisoblash boshlanadigan sana
  • yakun_sana – hisoblash tugaydigan sana
  • REP.EVERY* – davr bosqichi konstantasi
  • maʼlumotnomalar uchun ixtiyoriy filtr
  • ifoda – natijasi son boʻlgan sintaktik toʻgʻri ifoda
Misol

F.MAXIMUM(A, 20140101, 20141231, rep.everymonth)\

2014 yil uchun eng katta oylik qiymatni qaytaradi.\

\

F.MAXIMUM(A, 20140101, 20141231, rep.everymonth, 'Segment' LIKE 'Kichik*')\

2014 yil uchun «Segment» maʼlumotnomasida «Kichik» qiymatli tanlangan koʻrsatkichning eng katta oylik qiymatini qaytaradi\

\

F.MAXIMUM([2, 4])\

Massivdagi eng katta qiymatni qaytaradi – 4

Tavsif

F.MAXTAB funksiyasi maʼlumotnoma boʻyicha boʻlingan koʻrsatkichning maksimal qiymatini hisoblash uchun.

Sintaksis

F.MAXTAB (<koʻrsatkich>, '<maʼlumotnoma_kodi>')

  • koʻrsatkich – eng katta qiymatini topish kerak boʻlgan koʻrsatkich oʻzgaruvchisi
  • maʼlumotnoma_kodi – koʻrsatkichning maksimal qiymatini hisoblashda boʻlinish amalga oshiriladigan maʼlumotnoma kodi
Misol

F.MAXTAB (A, 'Xodim')

A oʻzgaruvchisiga mos koʻrsatkich «Xodim» maʼlumotnomasi boʻyicha boʻlinadi va hosil boʻlgan <Maʼlumotnoma qiymati>=<koʻrsatkich qiymati> roʻyxatidan koʻrsatkichning maksimal qiymati qaytariladi.

Tavsif

F.MIN funksiyasi qiymatlar toʻplamidagi eng kichik qiymatni qaytaradi.

Sintaksis

"F.MIN(float <ifoda1>, float <ifoda>)

  • ifoda1, ..., ifodaN - haqiqiy sonlar, ularning minimali topilishi kerak."
Misol

"F.MIN(2, 3, 5)

2" qiymatini qaytaradi

Tavsif

F.MINIMUM funksiyasi belgilangan davr bosqichidagi davr uchun maksimal qiymatni yoki massivdagi minimal qiymatni hisoblab chiqadi.

Davr uchun qiymatni hisoblashda funktsiya birinchi navbatda belgilangan davr bosqichidagi ma'lumotlarni jamlaydi va keyin belgilangan sana oralig'ida minimal qiymatni topadi.

Sintaksis

"F.MINIMUM (<ko‘rsatkich>, int <boshlanish sanasi>, int <tugash sanasi>, REP.EVERY*, {<filtr>},{bool <ifoda>})

F.MINIMUM ([<ifoda>{, <ifoda>}])

  • ko‘rsatkich - o‘zgaruvchining kodi
  • boshlanish sanasi - hisoblash amalga oshiriladigan sana
  • tugash sanasi - hisob-kitob amalga oshiriladigan sana
  • REP.EVERY*- davrning tegishli qadami doimiysi
  • ma’lumotnomalar uchun ixtiyoriy filtr
  • ifoda - natijasi "son" bo‘lgan har qanday sintaktik to‘g‘ri ifoda
Misol

"F.MINIMUM (A, 20140101, 20141231, rep.everymonth)
2014-yil uchun minimal oylik qiymatni qaytaradi.

F.MINIMUM (A, 20140101, 20141231, rep.everymonth, ’Segment’ LIKE ’Kichik*’)

"Segment" ma’lumotnomasi bo‘yicha "Kichik" qiymati bilan 2014-yil uchun tanlangan ko‘rsatkichning minimal oylik qiymatini qaytaradi

F.MINIMUM ([2, 4])

  • 2 Massivdagi minimal qiymatni qaytaradi "
Tavsif

Ma’lumotnoma bo‘yicha ajratilgan ko‘rsatkichning minimal qiymatini hisoblash uchun F.MINTAB funksiyasi

Sintaksis

"F.MINTAB (<ko‘rsatkich>, ’<ma’lumotnoma kodi>’)

  • ko‘rsatkich - minimal qiymati topilishi kerak bo‘lgan ko‘rsatkichning o‘zgaruvchisi
  • ma’lumotnoma kodi - ko‘rsatkichning minimal qiymatini hisoblashda ajratiladigan ma’lumotnoma kodi
Misol

"F.MINTAB (A, ’Xodim’)

A o‘zgaruvchiga mos keluvchi ko‘rsatkich "Xodim" ma’lumotnomasi bo‘yicha ajratiladi va hosil bo‘lgan ro‘yxatdan <Ma’lumotnoma qiymati>=<ko‘rsatkich qiymati> ko‘rsatkichning minimal qiymati qaytariladi."

Tavsif

F.NUMFROMSEP funksiyasi sonning o‘nli bo‘luvchisidan keyingi sonni qaytaradi.

Sintaksis

"F.NUMFROMSEP (float <ifoda>)

  • ibora - har qanday sintaktik jihatdan to‘g‘ri ibora bo‘lib, uning natijasida haqiqiy ma’no hosil bo‘ladi"
Misol

"F.NUMFROMSEP (123.4567)

4567" qiymatini qaytaradi

Tavsif

F.PI funksiyasi Pi sonini qaytaradi - 3.1415…

Sintaksis

F.PI

Misol

"F.PI.

Verguldan keyin ikki xonali aniqlikka ega bo‘lgan ko‘rsatkich uchun o‘lchagich 3.14 " qiymatini qaytaradi

Tavsif

F.ROUND funksiyasi o‘nli kasrning qiymatini belgilangan aniqlikda yaxlitlaydi. Agar aniqlik manfiy son bo‘lsa, butun qismning ishoralar soni yaxlitlanadi.

Sintaksis

"F.ROUND (float <ifoda>, int <aniqlik>)

  • ifoda - o‘zgaruvchi kodi yoki ifoda
  • aniqlik - yaxlitlash belgilari soni (agar aniqlik manfiy son bo‘lsa, butun qismning belgilari soni yaxlitlanadi) "
Misol

"F.ROUND" (123.9994, 3);
123 qiymatini qaytaradi

F.ROUND (123.9995, 3)

124 qiymatini qaytaradi

F.RAUND (748.58, -1).

750.00 qiymatini qaytaradi

F.RAUND (748.58, -3);

1000" qiymatini qaytaradi

Tavsif

F.ROUNDDOWN funksiyasi qiymatni modul bo‘yicha eng kichik qiymatgacha yaxlitlaydi.

Sintaksis

"F.ROUNDDOWN (float <ifoda>, int <aniqlik>)

  • ifoda - o‘zgaruvchi kodi yoki ifoda
  • aniqlik - yaxlitlashdan keyingi belgilar soni"
Misol

"F.ROUNDDOWN" (3.14159.3);
Uchta o‘nli kasr xonasigacha yaxlitlangan 3.141 qiymatini qaytaradi.

F.RAUNDAUN (76.9, 0).

Kamomad bilan yaxlitlangan sonni eng yaqin butun qiymatgacha qaytaradi. 76.

F. ROUNDDOWN (-3.14159, 1).

Bir o‘nli xonagacha yaxlitlangan -3.1 qiymatini qaytaradi

F.ROUNDDOWN (31415.92654, -2).

Verguldan chapda ikkita o‘nli xonagacha kamlik bilan yaxlitlangan 31400" qiymatni qaytaradi.

Tavsif

F.ROUNDUP funksiyasi qiymatni eng yaqin katta modulgacha yaxlitlaydi.

Sintaksis

"F.ROUNDUP (float <ifoda>, int <aniqlik>)

  • ifoda - o‘zgaruvchi kodi yoki ifoda
  • aniqlik - qiymat yaxlitlanadigan razryadlar soni
Misol

"F.ROUNDUP" (3.14159.3);
3.142 ning uchta o‘nli xonagacha yaxlitlangan qiymatini qaytaradi

F.RAUNDUP (76.1, 0).

Eng yaqin butun songacha yaxlitlangan 77 qiymatni qaytaradi

F.RAUNDUP (-3.14159, 1).

Ortiqcha bitta o‘nli xonagacha yaxlitlangan -3.2 qiymatini qaytaradi

F.RAUNDUP (31415.92654, -2).

Verguldan chapda ikkita o‘nli xonagacha yaxlitlangan 31500" qiymatini qaytaradi.

Tavsif

F.SIN funksiyasi burchak sinusini qaytaradi.

Sintaksis

"F.SIN (float <burchak>)

  • burchak - sinusni hisoblash uchun ko‘rsatkich yoki ifoda
Misol

"F.SIN (30)

0,5" qiymatini qaytaradi

Tavsif

F.SQRT funksiyasi ko‘rsatilgan ifoda yoki ko‘rsatkich qiymatidan kvadrat ildiz chiqaradi.

Sintaksis

"F.SQRT (float <ifoda>)

  • ifoda - o‘zgaruvchining kodi yoki ifoda"
Misol

"F. SQRT (A)
Ko‘rsatkich qiymatidan kvadrat ildiz qaytaradi

F. SQRT (64)
8" qiymatini qaytaradi

Tavsif

F. TG funksiya burchak tangensini qaytaradi

Sintaksis

"F. TG (float <burchak>)

  • burchak - tangensni hisoblash uchun ko‘rsatkich yoki ifoda
Misol

"F. TG (45)

1" qiymatini qaytaradi

Sanalar bilan ishlash funksiyalari

Tavsif

F.DATE funksiyasi (kun, oy, yil) formatida sanani qaytaradi va bu parametrlardan birini boshqa funksiyalar yordamida hisoblash imkonini beradi.

Sintaksis

F.DATE (int <kun>, int <oy>, int <yil>)

Misol

F.DATE (1,1,2015)
20150101 qiymatini qaytaradi, ya'ni 01.01.2015

F.SUM(A, F.DATE (01, 01, F.YEAR (F.REPORTDATE(rep.byreport))), F.TODAY (0, rep.byend), rep.everyquarter )
F.DATE funksiyasi yig'indini hisoblash uchun ishlatiladi, bunda yig'ish boshlanish sanasi har yili 1 yanvar deb belgilangan, yil esa F.REPORTDATE funksiyasi yordamida aniqlanadi.

Tavsif

F.DATEADD funksiyasi ofsetli sanani qaytaradi.

Sintaksis

F.DATEADD(int <boshlang'ich sana>, int <o'tkazish>, REP.EVERY*, {REP.BYSTART | REP.BYEND| REP.BYREPORT})

  • boshlang'ich sana - hisob-kitob qilinadigan sana
  • offset - davr bosqichlari soni
  • REP.EVERY* - mos davr bosqichi konstantasi
  • davr boshida yoki oxirida sananing qiymatini qaytaradigan ixtiyoriy parametr REP.BYSTART | REP.BYEND| REP.BYREPORT (REP.BYEND standart bo'yicha ishlatiladi)
Misol

F.DATEADD (F.REPORTDATE (rep.byend), -11, rep.everyquarter, rep.bystart), F.DATEADD (F.REPORTDATE (rep.byend), -4, rep.everyquarter, rep.byend)
Ushbu funksiya hisoblash davrini aniqlaydi.
Hisoblash davrining boshlanish va tugash sanalari Indikatorning hisobot davri tugash sanasidan ofset sifatida belgilanadi. "Chorak" qadamga ega va hisobot davri 2014-yil 1-choragidan 2014-yil 6-choragigacha bo'lgan Indikator uchun hisoblash davri 2 yilni tashkil etadi – 2012-yil 1-choragidan 2013-yil 6-choragigacha.

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)
Ushbu funksiya "A" o'zgaruvchisining choraklik o'rtacha qiymatini aniqlaydi.
Yuqorida muhokama qilingan F.DATEADD funksiyasi o'rtacha qiymat davrini hisoblash uchun ishlatiladi. 2012–2013 yillar uchun hisoblangan o'rtacha qiymat 2014 yilda ko'rsatiladi.

Tavsif

F.DATEDIFF funksiyasi sanalar farqini berilgan davr qadamida qaytaradi. Natija – butun son.

Sintaksis

F.DATEDIFF(REP.EVERY*, int <boshlanish sanasi>, int <tugatish sanasi>)

REP.EVERY* – davr qadamiga mos keladigan konstanta

boshlanish sanasi – hisoblash amalga oshiriladigan sana

tugatish sanasi – hisoblash amalga oshiriladigan yakuniy sana

Misol

F.DATEDIFF(rep.everymonth, 20100101, 20101231)

11 oy qaytaradi

Tavsif

F.DATENIL funksiyasi sananing minimal (bo'sh) qiymatini qaytaradi.

Sintaksis

F.DATENIL()

Misol

F.DATENIL
18991230 qiymatini qaytaradi – 30.12.1899 sanasining minimal qiymati

Tavsif

F.DATEONLY funksiyasi berilgan qiymatdan faqat sanani (vaqtsiz) qaytaradi

Sintaksis

F.DATEONLY(int <sana>)

sana – sanani hisoblash amalga oshiriladigan, vaqt ko'rsatilgan sana

Misol

F.DATEONLY( F.GETDATE )
Joriy sanani vaqt qismini hisobga olmagan holda qaytaradi

Tavsif

F.DAY funksiyasi sana parametridan kunni hisoblaydi

Sintaksis

F.DAY(int <sana>, REP.EVERY*)

sana – kundan hisoblash amalga oshiriladigan sana

REP.EVERY* – davr qadamiga mos keladigan konstanta

Misol

F.DAY(20151101)

1 qiymatini qaytaradi

Tavsif

F.GETDATE funksiyasi joriy sanani vaqt bilan qaytaradi

Sintaksis

F.GETDATE()

Misol

F.GETDATE

Joriy sanani vaqt bilan qaytaradi

Tavsif

F.HOUR funksiyasi sanadan soat qiymatini qaytaradi.

Sintaksis

F.HOUR(int <sana>)

  • sana – vaqtli sana, undan hisoblash amalga oshiriladi
Misol

F.HOUR( F.GETDATE() )

Joriy sana va vaqtdan soatlarni qaytaradi

Tavsif

F.MINUTE funksiyasi sanadan daqiqa qiymatini qaytaradi

Sintaksis

"F.MINUTE (int <sana>)

  • sana- hisob-kitob amalga oshiriladigan vaqt ko‘rsatilgan sana"
Misol

"F.MINUTE (F.GETDATE ())

Vaqt o‘tishi bilan joriy sanadan daqiqalarni qaytaradi"

Tavsif

F.MONTH funksiyasi sana parametridan oyni hisoblaydi

Sintaksis

"F.MONTH (int <sana>)

  • sana - oyni hisoblash amalga oshiriladigan sana";
Misol

F.MONTH (20151-101).

Qiymat qaytaradi - 11

Tavsif

F.PERIOD funksiyasi davrning berilgan qadamida ikki sana orasidagi farqni qaytaradi.

Sintaksis

"F.PERIOD (int <start date>, int <end date>, REP.EVERY*)

  • boshlanish sanasi - hisoblash amalga oshiriladigan sana
  • tugash sanasi - hisob-kitob amalga oshiriladigan sana
  • REP.EVERY*- davrning tegishli qadami konstantasi"
Misol

"F.PERIOD (20150.101, 201.50201, rep.everyday).
31 kunda qaytaradi

F.PERIOD (20150101, 20150201, rep.everyhour)
744 soatni qaytaradi

F.PERIOD (20140101, 20150101, rep.everymonth)
12 oy qaytaradi"

Tavsif

F.PERIODOF funksiyasi hisobot davrining joriy hisoblangan qadami boshi va oxiri o‘rtasidagi farqni qaytaradi.

Sintaksis

"F.PERIODOF (REP.EVERY*)

  • REP.EVERY*- davrning tegishli qadami konstantasi"
Misol

"F. PERIODOF (rep.everyday)
2014-yilning yanvaridan dekabrigacha bo‘lgan davr uchun ko‘rsatkichni hisoblashda "Oy" qadami bilan quyidagilarni ketma-ket qaytaradi: 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 31, 30, 31, 30, 31

Chorak davri qadamidagi xuddi shu funksiya 90, 91, 92, 92 raqamlarini qaytaradi

F.PERIOD (F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.everyday) +1" funksiyalari kombinatsiyalarini yozishga o‘xshash.

Tavsif

F.QUARTER funksiyasi sana parametridan chorakni hisoblaydi

Sintaksis

F.QUARTER (int <date>)

  • sana - chorakni hisoblash amalga oshiriladigan sana;
Misol

"F. QUARTER (20151-101).

4" qiymatini qaytaradi

Tavsif

F.REPORTDATE funksiyasi hisobot boshlanishining joriy sanasini, hisobot tugashining joriy sanasini yoki davrning joriy qadami sanasini qaytaradi

Sintaksis

"F.REPORTDATE ({REP.BYSTART | REP.BYEND | REP.BYREPORT}) "

  • REP.BYSTART | REP.BYEND | REP.BYREPORT - sananing qaytariluvchi qiymatini aniqlovchi parametr - hisobot davri boshiga, hisobot davri oxiriga yoki mos ravishda davrning joriy qadami sanasiga."
Misol

"F.SUM (A, F.REPORTDATE (rep.bystart), F.TODAY (0, rep.byend), rep.everymonth)
2014-yilning yanvaridan dekabrigacha bo‘lgan davr uchun summa hisobotning joriy ustuniga qadar oyma-oy o‘sib boruvchi yakun bilan hisoblanadi (yanvar uchun yanvar qiymati qaytariladi, fevral uchun - (yanvar+fevral), mart uchun - (yanvar+fevral+mart) va h.k.)

F.REPORTDATE (rep.bystart)

Hisobot boshlangan sana qaytarilmoqda"

Tavsif

F.SECOND funksiyasi sanadan soniya qiymatini qaytaradi

Sintaksis

"F.SECOND (int <date>)

  • sana- hisob-kitob amalga oshiriladigan vaqt ko‘rsatilgan sana"
Misol

"F.SECOND (F.GETDATE ())

Vaqt o‘tishi bilan joriy sanadan soniyalarni qaytaradi"

Tavsif

F.TODAY funksiyasi joriy sanani (yoki joriy sanadan siljigan sanani) qaytaradi.

Sintaksis

"F.TODAY ({int <siljish>, {REP.BYCURRENT | REP.BYSTART | REP.BYEND}})

  • siljish - hisobot davri qadamida siljish uchun davr qadamlari soni
  • joriy sana qiymatini qaytaruvchi ixtiyoriy parametr BYCURRENT | REP.BYSTART | REP.BYEND (odatda REP.BYEND ishlatiladi). Agar joriy sana rejimi ko‘rsatilmagan bo‘lsa, funksiya "REP.BYCURRENT" qiymatini qabul qiladi
Misol

F.TODAY.
Joriy sana qaytariladi - 20150305 00:00:00.000

F.TODAY (-1)

Agar hisobot qadami bir oy bo‘lsa, joriy sana minus 1 oy qaytariladi
Agar hisobot qadami chorak bo‘lsa, joriy sana minus 1 chorak qaytariladi.

F.TODAY (+2)
Agar hisobot qadami bir oy bo‘lsa, joriy sana va 2 oy qaytariladi

F.TODAY (0, rep.bystart)

Hisobot qadamida oy noyabr oyi uchun ko‘rsatkichni hisoblashda noyabr oyining boshini qaytaradi - 20141101 00:00:00.000

F.IF (F.TODAY = 20141225, ’Katolik Rojdestvosi’, " )

Ushbu funksiyada joriy sana aniqlanadi va agar u 2014-yil 25-dekabrga teng bo‘lsa, "katolik Rojdestvosi" qiymati qaytariladi, aks holda - ""

Tavsif

F.YEAR funksiyasi sana parametridan yilni hisoblaydi

Sintaksis

"F.YEAR (int <date>)

  • sana- yilni hisoblash amalga oshiriladigan sana"
Misol

"F.YEAR (20151-101).

Qiymatni qaytaradi - 2015"

Matnli qiymatlar bilan ishlash funksiyalari

Tavsif

F.DATESTR funksiyasi sananing satr ko'rinishini qaytaradi

Sintaksis

F.DATESTR(int <sana>, REP.EVERY*)

  • sana – satrga aylantirilishi kerak bo‘lgan sana
  • REP.EVERY* – tegishli davr qadamiga mos konstanta (standart bo‘yicha hisobot davri qadami ishlatiladi).
Misol

F.DATESTR(20141231, rep.everysecond)
'2014.12.31 00:00:00' qiymatini qaytaradi

F.DATESTR(20141231, rep.everyminute)
'2014.12.31 00:00' qiymatini qaytaradi

F.DATESTR(20141231, rep.everyhour)
'2014.12.31 00:00' qiymatini qaytaradi

F.DATESTR(20141231, rep.everyday)
'2014.12.31' qiymatini qaytaradi

F.DATESTR(20141231, rep.everyweek)
'2014 53 hafta' qiymatini qaytaradi

F.DATESTR(20141231, rep.everymonth)
'2014.12' qiymatini qaytaradi

F.DATESTR(20111231, rep.everyquarter) -- '2011 04 kv'
'2014.12' qiymatini qaytaradi

F.DATESTR(20111231, rep.everyhalf)
'2011 02 yarimyil' qiymatini qaytaradi

F.DATESTR(20111231, rep.everyyear)
'2011' qiymatini qaytaradi

Funksiyani qo'llash misoli

2011 yil uchun "Period" ma'lumotnomasi bo'yicha 12 ta qiymatga ega A ko'rsatkichini ko'rib chiqamiz: "2011.01; 2011 01 kv" dan "2011.12; 2011 04 kv" gacha.

Faraz qilamiz, ushbu ko'rsatkich ma'lumotlari aprel oyida kiritilgan va "Period" ma'lumotnomasida fevral ma'lumotlari sifatida belgilangan.

U holda ko'rsatkich bo'yicha o'tgan davr kelib tushishini aks ettirish uchun hisobiy ko'rsatkich uchun quyidagi formulani yozamiz:

F.SUM (A, F.REPORTDATE (rep.bystart), F.REPORTDATE (rep.byend), rep.byreport, 'Davr' like ('' + F.DATESTR (F.DATEADD (F.TODAY(0, rep.byend), -2, F.REPORTSTEP, rep.byend), F.REPORTSTEP) + ''))

Agar grafik 2011 yil bo'yicha hisobiy ko'rsatkich uchun davr qadami «Oy» bilan qurilsa, har bir qadam uchun formulani keltirish quyidagicha bo'ladi:

F.SUM(A, 20110101, 20111231, rep.everymonth, 'Davr' like '2010.11'))
2011.01.01 - 2011.01.31 oralig'ini qaytaradi

F.TODAY(0, rep.byend)
2011.01.31 qiymatini qaytaradi

F.DATEADD(2011.01.31, -2, rep.everymonth, rep.byend)
2 oy ayiradi va sanani oyning oxiriga tekislaydi – 2010.11.30

F.DATESTR(2010.11.30, rep.everymonth)
'2010.11' qiymatini qaytaradi

F.SUM(A, 20110101, 20111231, rep.everymonth, 'Davr' like '2010.12'))
2011.02.01 - 2011.02.28 oralig'ini qaytaradi

F.TODAY (0, rep.ByEnd)
2011.02.28 qiymatini qaytaradi

F.DATEADD (2011.01.31, -2, rep.everymonth, rep.byend)
2 oy ayiradi va sanani oyning oxiriga tekislaydi – 2010.12.31

F.DATESTR(2010.11.30, rep.everymonth)
'2010.12' qiymatini qaytaradi

F.SUM (A, 20110101, 20111231, rep.everymonth, 'Davr' like '2011.01'))
2011.03.01 - 2011.03.31 oralig'ini qaytaradi

F.SUM (A, 20110101, 20111231, rep.everymonth, 'Davr' like '2011.10'))
2011.12.01 - 2011.12.31 oralig'ini qaytaradi

Xuddi shu ko'rsatkichni davr qadami «Kvartal»gacha yiriklashtirganda, formulani keltirish quyidagicha ko'rinadi:

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Davr' like '2010 03 kv')
2011.01.01 - 2011.03.31 oralig'ini qaytaradi

F.TODAY (0, rep.byend)
2011.03.31 qiymatini qaytaradi

F.DATEADD(2011.03.31, -2, rep.everyquarter, rep.byend)
2 kvartal ayiradi va sanani kvartal oxiriga tekislaydi – 2010.09.30

F.DATESTR(2010.09.30, rep.everyquarter)
'2010 03 kv' qiymatini qaytaradi

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Davr' like '2010 04 kv')
2011.04.01 - 2011.06.30 oralig'ini qaytaradi

F.TODAY (0, rep.byend)
2011.06.30 qiymatini qaytaradi

F.DATEADD (2011.06.30, -2, rep.everyquarter, rep.byend)
2 kvartal ayiradi va sanani kvartal oxiriga tekislaydi – 2010.12.31

F.DATESTR(2010.12.31, rep.everyquarter)
'2010 04 kv' qiymatini qaytaradi

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Davr' like '2011 01 kv'))
2012.01.01 - 2011.03.31 oralig'ini qaytaradi

F.SUM (A, 20110101, 20111231, rep.everyquarter, 'Davr' like '2011 02 kv'))
2012.04.01 - 2011.06.30 oralig'ini qaytaradi

Tavsif

"F.STRFMTTMPL funksiyasi satrni (2-parametr) berilgan formatdagi satrgacha (1-parametr) belgilar bilan to‘ldiradi.

Bu funksiya faqat "Import ssenariylarini sozlash ustasi"da ishlatiladi

Sintaksis

"F.STRFMTTMPL (string <ifoda1>, string <ifoda2>)

  • ifoda1 - berilgan formatdagi satr
  • ifoda2 - berilgan formatga o‘tkazish uchun satr

Quyidagi belgilardan foydalanish imkonsiz: %, _, [ ], ^
"

Misol

"F.STRFMTTMPL (’00000’, ’123’)

’00123’ qiymatini qaytaradi"

Tavsif

F.STRINDEXOF funksiyasi qidirilayotgan satrning boshlanish indeksini (1-parametr) satr tarkibiga (2-parametr) qaytaradi. Satr indeksatsiyasi birdan boshlanadi.

Sintaksis

"F.STRINDEXOF (string <ifoda1>, string <ifoda2>)

  • Ifoda1 - izlanayotgan satr
  • Ifoda2 - qidiruv amalga oshiriladigan satr
    Quyidagi belgilardan foydalanib bo‘lmaydi: %, _, [ ], ^"
Misol

"F.STRINDEXOF (’ (’, ’10 (100%) ’)

4" qiymatini qaytaradi

Tavsif

"F.STRUBSTR funksiyasi satrni (1-parametr) berilgan satrgacha (2-parametr) qaytaradi.

Bu funksiya faqat "Import ssenariylarini sozlash ustasi"da ishlatiladi

Sintaksis

"F.STRUBSTR (string <ifoda1>, string <ifoda2>)

  • ifoda1 - biz kesib oladigan satr
  • ifoda2 - biz kesib oladigan satr

Quyidagi belgilardan foydalanish imkonsiz: %, _, [ ], ^"

Misol

"F.STRUBSTR (’,’, ’Tyumen, Lenin ko‘chasi, 100’)

"Tyumen" qiymatini qaytaradi

Tavsif

F.SUBSTR funksiyasi satrda joylashgan satrni (1-parametr) berilgan pozitsiyadan (2-parametr) berilgan uzunlikkacha (3-parametr) qaytaradi.

Sintaksis

F.SUBSTR (string <ifoda1>, int <ifoda2>, int <ifoda3>)

  • ifoda1 -satr kesib olinadigan satr

  • ifoda2 - satrni kesish amalga oshiriladigan pozitsiya

  • ifoda3 - biz hosil qilmoqchi bo‘lgan satr uzunligi.

Quyidagi belgilardan foydalanish imkonsiz: %, _, [ ], ^

Misol

F.SUBSTR (’10 (100%) ’, 5, 3)

100 qiymatini qaytaradi

F. SUBSTR (Pushkin Aleksandr Sergeevich; 0; f.strindexof (’ ’; Pushkin Aleksandr Sergeyevich))

Pushkin qiymatini qaytaradi

Tavsif

F.SUBSTRBETW funksiyasi satr (2-parametr) va satr (3-parametr) orasida joylashgan satrni (1-parametr) qaytaradi.

Bu funksiya faqat Import ssenariylarini sozlash ustasi"da ishlatiladi

Sintaksis

F.SUBSTRBETW (string <ifoda1>, string <ifoda2>, string <ifoda3>)

  • ifoda1 - biz kesib oladigan satr

  • ifoda2 - biz kesishni amalga oshiradigan satr;

  • ifoda3 - biz kesib oladigan satr

Quyidagi belgilardan foydalanish imkonsiz: %, _, [ ], ^

Misol

"F.SUBSTRBETW (’,’, ’,’, ’Tyumen, Lenin ko‘chasi, 100-uy, 99-xonadon’)
’Lenin ko‘chasi 100’ qiymatini qaytaradi

F.SUBSTRBETW (’ATM’, ’,’, ’ATM2345 bankomati, No1 bo‘lim’)

’2345’ qiymatini qaytaradi"

Ko'rsatkich qiymatlarini hisoblash funksiyalari

Tavsif

F.ANALITCOUNT funksiyasi indikator ma'lumotnomasidagi qiymatlar sonini qaytaradi.

F.ANALITCOUNTBASE funksiyasi asosiy indikator bo'yicha ma'lumotnomasidagi qiymatlar sonini qaytaradi.

ANALITCOUNTBASE funksiyasining cheklovlari:

  • Ushbu funksiyadan foydalanganda formulada boshqa funksiyalar bo'lmasligi kerak

  • Hisoblangan indikatorda faqat bitta asosiy indikator bo'lgan o'zgaruvchi bo'lishi mumkin

  • Ushbu funksiyaning o'zgaruvchisi alohida hisoblanmaydi (u hisob-kitobda ko'rsatiladi, lekin ma'lumotsiz)"

Sintaksis

F.ANALITCOUNT(<ko'rsatkich>, <manba kitobi>), F.ANALITCOUNTBASE(<ko'rsatkich>, <manba kitobi>)

  • ko'rsatkich – o'zgaruvchi kodi
  • manba kitobi – ko'rsatkich ma'lumotlaridagi manba kitobi qiymatlari sonini hisoblash uchun ishlatiladigan manba kitobi kodi
Misol

F.ANALITCOUNT (A, 'Xodimlar')

Hisobot davri uchun 'A' ko'rsatkichi bo'yicha xodimlar sonini qaytaradi.

Tavsif

F.AVG funksiyasi davr ichidagi o'zgaruvchining o'rtacha qiymatini davr qadamida hisoblaydi (davr bo'yicha yig'indini shu davrdagi qiymatlar soniga bo'lish orqali).

Sintaksis

F.AVG(<ko'rsatkich>)

yoki

F.AVG(<ko'rsatkich>, int <boshlanish sanasi>, int<oxirgi sanasi>, REP.EVERY*)

  • ko'rsatkich – o'zgaruvchi kodi yoki ifoda
  • boshlanish sanasi va oxirgi sanasi – hisob-kitob qilinadigan davrning boshlanish va oxirgi sanalarini qaytaradigan sintaktik jihatdan to'g'ri har qanday ifoda.
  • REP.EVERY* - tegishli davr qadamining konstantasi (o'rnatilgan qiymati hisobot davri qadamidir)
Misol

F.AVG(A) yoki F.AVG( A , F.ToDay(0, rep.bystart ), F.ToDay(0, rep.byend ), F.ReportStep( A ))

Joriy davr uchun o'rtacha qiymatni qaytaradi (joriy davr yig'indisini shu davrdagi qiymatlar soniga bo'lish orqali).

F.SUM(A) / F.Count(A) ga teng.

Tavsif

F.AVGPERIOD funksiyasi davr mobaynida o'zgaruvchining o'rtacha qiymatini hisoblaydi (hozirgi davr uchun dastlabki davrdan boshlab summani davrlar soniga bo'lish orqali).

Sintaksis

F.AVGPERIOD(<ko'rsatkich>, {int <offset>,)

yoki

F.AVGPERIOD(<ko'rsatkich>, {int <offset>, {int <boshlanish sanasi>, int<oxirgi sanasi>, REP.EVERY*, {int <davr sanasi offseti>}, {<filter>, {bool <expression>} } }})

  • indicator – o'zgaruvchi kodi yoki ifoda
  • davr bo'yicha o'zgaruvchi ofseti hisoblash uchun
  • start date – hisob-kitob qilinadigan sana (hisobot davri bo'yicha avtomatik ishlatiladi)
  • end date – hisob-kitob qilinadigan oxirgi sana (hisobot davri bo'yicha hisoblanadi).
  • REP.EVERY* - tegishli davr qadamining konstantasi (hisobot davri qadami bo'yicha hisoblanadi).
  • davr sanasi ofseti - vaqt bo'yicha o'rtacha qiymatni hisoblash ma'lumotlarini siljitish uchun davr qadamlari soni (o'rnatilgan qiymat nolga teng).
  • ma'lumotnoma kitoblar bo'yicha ixtiyoriy filtr
Misol

F.AVGPERIOD(A) yoki F.AVGPERIOD(A, 1)
Boshlang'ich davrdan joriy davrgacha bo'lgan davrlar yig'indisini davrlar soniga bo'lib qaytaradi

F.AVGPERIOD(A, 2)
Hisob-kitob yig'indisini va davr raqamini qaytaradi, ular hisobotdagi har ikkinchi davrda oshadi, ya'ni agar hisobotda davr "Oy" qadam bilan yilga o'rnatilgan bo'lsa, unda:

  • birinchi oy uchun Birinchi oy yig'indisini/1 olamiz

  • ikkinchi oy uchun ikkinchi oy summasini olamiz/1

  • uchinchi oy uchun (birinchi va uchinchi oy summasi)/2 ni olamiz

  • to'rtinchi oy uchun (ikkinchi va to'rtinchi oy summasi)/2 ni olamiz

  • beshinchi oy uchun (birinchi, uchinchi va beshinchi oy summasi)/3 ni olamiz

  • oltinchi oy uchun (ikkinchi + to'rtinchi + oltinchi oy yig'indisi)/3 ni olamiz

va hokazo.

F.AVGPERIOD(A,12)

Hisobot parametrlari 2 yillik davr uchun "Oy" bo'yicha davr qadamiga o'rnatilganda, o'rtacha qiymat har bir oy uchun yillik asosda hisoblanadi, ya'ni:

  • birinchi yilning birinchi oyida, 2010 yil yanvar/1 ni olamiz

  • ikkinchi yilning birinchi oyida, (2010 yil yanvar + 2011 yil yanvar)/2 ni olamiz

  • birinchi yilning ikkinchi oyida, 2010 yil fevral/1 ni olamiz

  • ikkinchi yilning ikkinchi oyida (2010 yil fevral + 2011 yil fevral)/2 ni olamiz

F.AVGPERIOD(A, 12, 20130101, 20141231, rep.everymonth, 12)
Ushbu funksiya funksiyada ko'rsatilgan ikki yilning qiymatlarini hisobga olgan holda "A" o'zgaruvchining oylik o'rtacha qiymatini aniqlaydi. 13- va 14-yillarda olingan o'rtacha natija 15-yilda ko'rsatiladi. 2014 yil uchun o'rtacha qiymat 2013 yil qiymatiga teng bo'ladi

F.AVGPERIOD(A, 0, F.TODAY(0, rep.bystart), F.TODAY (0, rep.byend), rep.everymonth )
Ushbu funksiya joriy davr uchun "A" o'zgaruvchisining oylik o'rtacha qiymatini aniqlaydi.

Yuqorida muhokama qilingan F.TODAY funksiyasi o'rtacha qiymat davrini hisoblash uchun ishlatiladi.

Ko'rsatkichni "Chorak" qadam bilan tuzilganda, hisobot davrining har bir choragi bo'yicha ko'rsatkichning o'rtacha oylik qiymati hisoblanadi.

Ko'rsatkichni "Yarim yil" qadam bilan tuzilganda, hisobot davrining har bir yarim yili bo'yicha ko'rsatkichning o'rtacha oylik qiymati hisoblanadi,

va hokazo.

F.AVGPERIOD(A, 0, F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.everyday )
Ushbu funksiya oylik qadam bilan hisobot davrining har bir oyida "A" o'zgaruvchining o'rtacha qiymatini aniqlaydi.

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 )
Ushbu funksiya ko'rsatkich uchun 2015 yilning birinchi choragidan 2015 yilning to'rtinchi choragigacha bo'lgan davrda "Chorak" qadam bilan o'tgan uch yilning tegishli choraklari bo'yicha o'rtacha qiymatni hisoblaydi, bu yerda:

A — o'zgaruvchi

4 - o'rtacha qiymatni hisoblash uchun yig'indini siljitish bosqichi, ya'ni A indikatori qiymatlari to'liq yig'ilmaydi, balki ko'rsatilgan siljishga muvofiq (2012 yil 1-choragi + 2013 yil 1-choragi va 2014 yil 1-choragi). Hisob-kitobda olingan qiymat yig'ish bosqichlari soniga bo'linadi (bu holda birinchi choraklar soni = 3).

F.DATE (1, 1, F.YEAR (F.REPORTDATE (rep.byend)) -3) funksiyasi o'rtacha qiymatni hisoblash boshlanish sanasini aniqlaydi. Kun va oy ko'rsatiladi (1 yanvar), yil esa hisobot yakunlanish sanasining yili va ko'rsatilgan offsetga asoslanib hisoblanadi. Bu holda offset "-3" = 2015 - 3 = 2012.

Xuddi shunday, o'rtacha qiymatni hisoblash uchun yakuniy sanani aniqlaymiz: kun va oyni (31 dekabr) belgilaymiz va yilni hisobot yakuniy sanasidan offset yordamida aniqlaymiz. Bu holda offset "-1" = 2015 - 1 = 2014.

rep.everyquarter - o'rtacha hisoblash bosqichi - chorak

4 - o'rtacha hisoblash bosqichida olingan ma'lumotlarning ofseti (4 davr oldinga), ya'ni 2015 yil 1-chorak qiymati - (2012 yil 1-chorak + 2013 yil 1-chorak + 2014 yil 1-chorak) /3 natijasiga teng bo'ladi

2015 yil 2-chorak qiymati esa natija - (2012 yil 2-chorak + 2013 yil 2-chorak + 2014 yil 2-chorak) /3, va hokazo.

Agar davr mobaynida o'rtacha qiymatni hisoblash ma'lumotlarini siljitish bosqichlari soni ko'rsatilmagan bo'lsa, olingan natija 2014 yilda ko'rsatiladi.

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)
Ushbu funksiya hisobot sanasini va "A" o'zgaruvchisining so'nggi 2 yil uchun oylik o'rtacha qiymatini aniqlaydi.

2011 va 2012 yillar uchun o'rtacha qiymat 2013 yilda ko'rsatiladi,

2012 va 2013 yillar uchun o'rtacha qiymat 2014 yilda ko'rsatiladi,

2013 va 2014 yillar uchun o'rtacha qiymat 2015 yilda ko'rsatiladi,

va hokazo.

Tavsif

F.AVGTAB funksiyasi ko'rsatkichning o'rtacha qiymatini ma'lumotnoma kitob bo'yicha hisoblash uchun

Sintaksis

F.AVGTAB (<ko'rsatkich>, '<isshoko'r kodi>')

  • ko'rsatkich - ko'rsatkich o'zgaruvchi, uning o'rtacha qiymatini topish kerak
  • ishhoko'r kodi - o'rtacha qiymatni hisoblashda bo'lish uchun ishlatiladigan ishhoko'r kodi
Misol

F. AVGTAB(A, 'Xodim')
A o'zgaruvchisiga mos indikatyor "Xodim" ma'lumotnomasiga ko'ra ajratiladi va hosil bo'lgan <Ma'lumotnoma qiymati>=<indikatyor qiymati> ro'yxatida indikatyor qiymatlari yig'indisi olinadi va ma'lumotnoma qiymatlari soniga bo'linadi. Yig'indi va miqdor uchun belgilanmagan analitikalar hisobga olinadi.

Eslatma:
Bir qarashda,

F. AVGTAB(A, 'Employee') quyidagiga to'g'ri keladi

F. SUMTAB(A, 'Employee') / F.ANALITCOUNT(A, 'Employee'), lekin umuman olganda, bu shunday emas.

F. ANALITCOUNT() belgilanmagan analitikalarni hisobga olmaydi.
Keling, ko'rsatkich bo'yicha Xodimlar katalogi bo'yicha ajratish quyidagi qiymatlar ro'yxatini bergan deb olaylik:
'Ivanov' = 15
'Petrov' = 5
'Sidorov' = 10
'qiymat ko'rsatilmagan' = 7,

Unda:
F.SUMTAB(A, 'Employee') = 37
F. ANALITCOUNT(A, 'Employee') = 3
F. SUMTAB(A, 'Employee') / F.ANALITCOUNT(A, 'Employee') = 37 / 3 = 12,(3)
F. AVGTAB(A, 'Employee') = 37 / 4 = 9.25"

Tavsif

F.COUNT funksiyasi belgilangan davr bosqichida indikator bo'yicha qiymatlar sonini yoki massivdagi elementlar sonini hisoblaydi.

Sintaksis

F.COUNT(<ko'rsatkich>, int <boshlanish sanasi>, int <oxirgi sanasi>, REP.EVERY*, {<filtr>})

yoki

F.COUNT(<ko'rsatkich>),

bu quyidagiga teng:

F.COUNT(<ko'rsatkich>, F.ToDay(0, Rep.ByStart), F.ToDay(0, Rep.ByEnd), F.ReportStep(<ko'rsatkich>))

F.COUNT ([<ifoda>{, <ifoda>}])

  • ko'rsatkich – o'zgaruvchi kodi yoki ifoda
  • boshlanish sanasi – hisob-kitob qilinadigan sana (hisobot davri bo'yicha hisoblanadi)
  • yakunlanish sanasi – hisob-kitob qilinadigan sana (hisobot davri bo'yicha avtomatik ravishda ishlatiladi)
  • REP.EVERY* - tegishli davr qadamining konstantasi (hisobot davri qadami bo'yicha avtomatik ravishda ishlatiladi)
  • indikator ma'lumotnomalari uchun ixtiyoriy filtr
  • ifoda - natijasi son bo'lgan istalgan sintaktik jihatdan to'g'ri ifoda
Misol

F.COUNT(A)
Hisobot davri uchun "A" indikatori bo'yicha yozuvlar sonini qaytaradi.

F.COUNT(A, 20140101, 20141231, rep.everymonth)
Belgilangan davr uchun "A" indikatori bo'yicha yozuvlar sonini qaytaradi.

F.COUNT(A, F.TODAY (0, rep.bystart), F.TODAY (0, rep.byend), rep.byreport)
Belgilangan davr uchun "A" indikatori bo'yicha yozuvlar sonini qaytaradi

F.COUNT(A, 20140101, F.TODAY, rep.everymonth, 'fil' = 'Moscow branch' AND 'fil' = 'Tver')
2014-yil 1-yanvardan boshlab Moskvadagi va Tverdagi filiallar bo'yicha "A" indikatori uchun oyma-oy davrda yozuvlar sonini qaytaradi

F.COUNT([A, B]) massivdagi elementlar sonini qaytaradi - 2

Tavsif

F.GETREFVALUE funksiyasi maʼlumotnomada birinchi koʻrsatilgan maydonda namuna boʻyicha elementni qidiradi. Muvaffaqiyatda ikkinchi maydon qiymatini qaytaradi, aks holda 0.

Sintaksis

F.GetRefValue (<maʼlumotnoma>, <maydon>, <namuna>, <maydon>)

  • maʼlumotnoma – maʼlumotnoma kodi satri
  • maydon – maʼlumotnoma maydoni identifikatori satri
  • namuna – qidiruv namunasi
  • maydon – maʼlumotnoma maydoni identifikatori satri
Misol

F.GetRefValue ('ByudjetSrez', 'Code', '5206463403', 'DocID')
«ByudjetSrez» maʼlumotnomasiga koʻrsatkich maʼlumotlaridagi havola maydoniga '5206463403' maʼlumotnoma qiymatiga havolani yozadi

F.GetRefValue ('Rasporjaditel', 'DocID', Zatraty.Rasporjaditel, 'DocID')
Baza koʻrsatkichidagi «Rasporjaditel» maʼlumotnomasiga havola maydon qiymatini «Zatraty» maʼlumotnomasidagi shu maʼlumotnoma «Rasporjaditel» havola maydoni qiymati boʻyicha hisoblaydi

F.GetRefValue ('Rasporjaditel', 'Code', Zatraty.Rasporjaditel, 'DocID')
Baza koʻrsatkichidagi «Rasporjaditel» maʼlumotnoma qiymatini «Zatraty» maʼlumotnomasidagi «Rasporjaditel» satr maydoni boʻyicha hisoblaydi

F.GetRefValue ('Protsenty','DocID', f.matrixrefvalue ('DSS') , 'Name')
Baza koʻrsatkichining satr maydoniga «Protsenty» maʼlumotnomasi qiymatining nomini yozadi, u «DSS» kodli Dinamik roʻyxat/Maʼlumotnoma yordamida hisoblangan

F.GetRefValue ('Period', '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')
Koʻrsatkich maʼlumotlaridagi «Period» tizim maʼlumotnomasiga havola maydon qiymatini koʻrsatkich qiymati sanasi boʻyicha hisoblaydi

Tavsif

F.MATRIXREFVALUE funksiyasi tahliliy kalit boʻyicha hisoblangan maʼlumotnoma qiymatlarini qaytaradi «Dinamik roʻyxat/Maʼlumotnoma» va «Dinamik roʻyxat/Son» matritsalar turlari versiyasidan sanada.

Sintaksis

F.MATRIXREFVALUE (<matritsa>{, <sana>})

  • matritsa – «Dinamik roʻyxat/Maʼlumotnoma» yoki «Dinamik roʻyxat/Son» oʻzgartirish matritsasi kodi satri
  • sana – matritsa versiyasi olinadigan sana ixtiyoriy maydoni (koʻrsatilmasa, DateOper maydonidagi sana qiymati olinadi)
Misol

F.MatrixRefValue ('ByudjetSrez')   yoki   F.MatrixRefValue ('ByudjetSrez', DateOper)

Koʻrsatkich maʼlumotlariga «Byudjet srez» maʼlumotnomasiga havola maydoniga «ByudjetSrez» kodli oʻzgartirish matritsasi boʻyicha hisoblanadigan maʼlumotnoma qiymatiga havolani yozadi, koʻrsatkich qiymati sanasida

Tavsif

F.PREVVALUE funksiyasi ko‘rsatkich davri qadamida olingan ko‘rsatkich qiymatini berilgan qadamlar soniga qaytaradi

Sintaksis

"F.PREVVALUE (<ko‘rsatkich>, int <ifoda>)

  • ko‘rsatkich - oldingi davr uchun qiymat qaytariladigan o‘zgaruvchi
  • ifoda - ko‘rsatkich davri qadamidagi qadamlar soni"
Misol

"F.PREVVALUE (<ko‘rsatkich>, int <ifoda>)

  • ko‘rsatkich - oldingi davr uchun qiymat qaytariladigan o‘zgaruvchi
  • ifoda - ko‘rsatkich davri qadamidagi qadamlar soni"
Tavsif

F.PREVVALUETHIS funksiyasi ko‘rsatkich davri qadamida olingan joriy ko‘rsatkich qiymatini berilgan qadamlar soniga qaytaradi.

Sintaksis

"F.PREVVALUETHIS (int <ifoda>)

  • ifoda - ko‘rsatkich davri qadamidagi qadamlar soni"
Misol

"A + F.PREVVALUETHIS (1)
"A" ko‘rsatkichining joriy va o‘tgan davrdagi qiymatlari yig‘indisini qaytaradi.

A + F.PREVVALUETHIS (2)

Joriy davr va undan oldingi davr uchun "A" ko‘rsatkichi qiymatlari yig‘indisini qaytaradi.

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))))

Summani yil boshidan o‘sib boruvchi yakun bilan hisoblash uchun o‘tgan davrdagi "A" o‘zgaruvchiga teng qiymatni qaytaradi."

Tavsif

F.PROGRESSIVESUM funksiyasi ko‘rsatilgan davrlardan birida o‘sib boruvchi yakun bilan ko‘rsatkichning davr qadami bo‘yicha guruhlangan ma’lumotlar yig‘indisini hisoblaydi.

Sintaksis

"F.PROGRESSIVESUM (<ko‘rsatkich>, rep.everyyear|rep.everyhalf|rep.everyquarter |rep.everymonth)

  • ko‘rsatkich - ko‘rsatkichning o‘zgaruvchisi bo‘lib, u uchun ko‘rsatkichning davr bosqichidagi ma’lumotlar yig‘indisini ko‘rsatilgan davr uchun o‘sib boruvchi yakun bilan hisoblash kerak
  • rep.everyyear - o‘sib boruvchi yakun har yil boshidan hisoblanadi
  • rep.everyhalf - o‘sib boruvchi yakun har yarim yillik boshidan hisoblanadi.
  • rep.everyquarter - o‘sib boruvchi natija har chorak boshidan hisoblanadi
  • rep.everymonth - o‘sib boruvchi natija har oyning boshidan hisoblanadi."
Misol

"F.PROGRESSIVESUM (A, Rep.EveryYear)

Bir yoki bir necha yillarning yanvaridan dekabrigacha bo‘lgan davr uchun har bir yil doirasida oyma-oy o‘sib boruvchi yakun bilan hisob-kitob qilinadi:

  • yanvar uchun yanvar qiymati qaytariladi,

  • fevral oyi uchun - yanvar+fevral,

  • mart- yanvar+fevral+mart oylari uchun

va hokazo."

Tavsif

F.REPORTSTEP funksiyasi REP.EVERY* doimiy qiymatlaridan birini qaytaradi, bu ko‘rsatkich yoki hisobot davrining joriy qadamiga mos keladi.

Sintaksis

"F.REPORTSTEP ({<ko‘rsatkich>})

  • ko‘rsatkich - o‘zgaruvchining kodi"
Misol

"f.if (F.REPORTSTEP (A) = rep.everymonth, 1, 2)
"A" ko‘rsatkichi uchun bir oylik qadam bilan - 1, boshqa qadamli ko‘rsatkich uchun - 2 qaytaradi.

F.REPORTSTEP (A)

"A" ko‘rsatkich qadamini qaytaradi

kun - 4

hafta - 5

oy - 6,

chorak - 7

yarim yillik - 8

yil - 9

F.REPORTSTEP.
Hisobot qadamini qaytaradi (4 - 9) "

Tavsif

F.SUM funksiyasi davrning berilgan qadamidagi davr uchun ko‘rsatkichning yig‘indisini yoki massivdan yig‘indini hisoblaydi.

Sintaksis

"F.SUM (<ko‘rsatkich>, int <boshlanish sanasi>, int <tugash sanasi>, REP.EVERY*, {<filtr>},{bool <ifoda>})

F.SUM (<ko‘rsatkich>) F.SUM (<ko‘rsatkich>, F.ToDay (0, Rep.ByStart), F.ToDay (0, Rep.ByEnd), F.ReportStep (<ko‘rsatkich>)) ga teng

F.SUM ([<ifoda>{,<ifoda>}])

  • ko‘rsatkich - o‘zgaruvchi kodi yoki ifoda
  • boshlanish sanasi - hisoblash amalga oshiriladigan sana (standart bo‘yicha hisobot davri ishlatiladi)
  • tugash sanasi - hisob-kitob amalga oshiriladigan sana (standart bo‘yicha hisobot davri ishlatiladi).
  • REP.EVERY*- tegishli davr qadami konstantasi (standart bo‘yicha hisobot davri qadami ishlatiladi).
  • ko‘rsatkich ma’lumotnomalari uchun majburiy bo‘lmagan filtr
  • ifoda - natijasi "son" bo‘lgan har qanday sintaktik to‘g‘ri ifoda
Misol

F.SUM(A, 20140101, 20141231, rep.everymonth)
2014 yil uchun «A» ko'rsatkichining oylik qiymatlari yig'indisini qaytaradi.

F.SUM(A, 20140101, 20141231, rep.everymonth, 'фил' = 'Московский филиал')
«Filiallar» ma'lumotnomasidagi («fil» ma'lumotnoma kodi) «Moskva filiali» analitikasi uchun «A» ko'rsatkichining oylik qiymatlari yillik yig'indisini qaytaradi.

F.SUM(A, F.TODAY(-1, rep.bystart), F.TODAY(0, rep.byend), rep.everymonth)
Oldingi hisob oyining boshidan joriy hisob oyining oxirigacha bo'lgan davr uchun A ko'rsatkichining yig'indisini qaytaradi.
Boshlanish sanasi va tugash sanasini hisoblash uchun siljish bilan F.TODAY funksiyasi ishlatiladi.

F.TODAY(-1, rep.bycurrent) -- hisobot qadami oy bo'lganda joriy sana minus 1 oy.
F.TODAY(0, rep.byend) -- hisobot qadami oy bo'lganda ko'rsatkich noyabr uchun hisoblanganda, noyabr oxiri.

F.SUM(A, F.REPORTDATE(rep.bystart), F.TODAY(0, rep.byend), rep.everymonth)
Davr uchun summani o'sib boruvchi yakun tarzida qaytaradi.

F.REPORTDATE(rep.bystart) – hisobot boshlangan sanani qaytaradi.
F.TODAY(0, rep.byend) - ustun sanasini qaytaradi.

2014 yil yanvardan dekabrigacha bo'lgan davr uchun summa har oy bo'yicha joriy hisobot ustunigacha o'sib boruvchi yakun ko'rinishida hisoblanadi:

  • yanvar uchun faqat yanvar qiymati qaytariladi,
  • fevral uchun – yanvar+fevral,
  • mart uchun – yanvar+fevral+mart

va hokazo.

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)
Joriy davr uchun «A» ko'rsatkichining yig'indisini bir yillik siljish bilan qaytaradi.

2015 yil uchun «Chorak» qadami bilan hisobot tuzilganda ko'rsatiladigan summa:

  • 2015 yil birinchi choragida – 2014 yil birinchi choragi summasi,
  • 2015 yil ikkinchi choragida – 2014 yil ikkinchi choragi summasi

va hokazo.

2015 yil uchun «Yarim yil» qadami bilan hisobot tuzilganda

  • 2015 yil birinchi yarim yilligida 2014 yil birinchi yarim yilligi qiymatlarining summasi ko'rsatiladi.

2015 yil uchun qadam «Yil» bo'lganda 2014 yil qiymatlari yig'indisi ko'rsatiladi.

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)
Hisobot yilining har bir choragi bo'yicha haftalar kesimida o'sib boruvchi yakunni qaytaradi.

F.SUM(A, F.DATE(01, 01, F.YEAR(F.REPORTDATE(rep.byreport))), F.TODAY(0, rep.byend), rep.everymonth)
Har bir hisobot yili uchun oylik o'sib boruvchi yakunni qaytaradi. O'sib boruvchi yakunni hisoblashni tezlashtirish uchun quyidagi formuladan ham foydalanish mumkin:

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])
Massivdagi o'zgaruvchilar yig'indisini A+B amaliga qaraganda samaraliroq tarzda qaytaradi.

Tavsif

F.SUMTAB funksiyasi ma’lumotnoma bo‘yicha ajratilgan ko‘rsatkichning yig‘indisini hisoblaydi.

Sintaksis

"F.SUMTAB (<ko‘rsatkich>, <ma’lumotnoma>)

  • ko‘rsatkich - o‘zgaruvchi kodi yoki ifoda
  • ma’lumotnoma - ma’lumotnoma kodi bo‘lib, uning qiymatlari bo‘yicha jamlashda ajratiladi."
Misol

"F.SUMTAB (X, ’filial’)

Hisobot davri uchun X o‘zgaruvchisining yakuniy summasini "filial" ma’lumotnomasi bo‘yicha ajratgan holda hisobot davri qadamida qaytaradi

X - har biri "filial" ma’lumotnomasi bo‘yicha analitikaga ega bo‘lgan ikkita asosiy A*V ko‘rsatkichlarining ko‘paytmasiga teng bo‘lgan hisob-kitob ko‘rsatkichi:

| Filial | A | B |
|----------------------------------------
| filial 1 | 1,00 | 7,00 |
| filial 2 | 2,00 | 8,00 |
| filial 3 | 3,00 | 9,00 |
Jami: 6,00 24,00

F.SUMTAB funksiyasi hisobot davri uchun filial ma’lumotnomasi (jadval hisobotidagi kabi) kesimida A*B ko‘paytmalarining yakuniy yig‘indisini hisoblaydi:

F.SUMTAB (X, ’fil’) = 7+16+27=50

Bu holda F.SUM funksiyasi ko‘rsatilgan davr uchun "A" ko‘rsatkichi bo‘yicha yig‘indini hisoblaydi va uni shu davr uchun "V" ko‘rsatkichi bo‘yicha yig‘indiga ko‘paytiradi:

F.SUM (X, 20140101, 20143112, rep.everymonth) = 6+24=30"

Tavsif

F. VALPOSTAB funksiyasi analitik ma’lumotnoma kesimida saralangan ro‘yxat raqami bo‘yicha ko‘rsatkich qiymatini qaytaradi.

Sintaksis

"F. VALPOSTAB (<ko‘rsatkich>, ’<ma’lumotnoma kodi>’, <pozitsiya>, <saralash yo‘nalishi>)

  • ko‘rsatkich - qiymati bo‘yicha saralangan va ma’lumotnoma bo‘yicha ajratilgan pozitsiyadan qaytarilishi kerak bo‘lgan ko‘rsatkich o‘zgaruvchisi
  • ma’lumotnoma kodi - ajratish amalga oshiriladigan ma’lumotnoma kodi
  • pozitsiya - ma’lumotnoma bo‘yicha bo‘lingan qiymatni qaytarish kerak bo‘lgan pozitsiya raqami.

Har qanday sintaktik jihatdan to‘g‘ri ifoda, u 1 dan ma’lumotnoma bo‘yicha ajratilgan elementlar sonigacha bo‘lgan diapazondagi sonni qaytaradi, ya’ni 1 dan F.AnalitCount () gacha o‘sha ma’lumotnoma bo‘yicha.

Boshqa har qanday qiymatlarda funksiya 0 ni qaytaradi.

Agar ma’lumotnoma bo‘yicha ajratishda qiymatlar ro‘yxati bo‘sh bo‘lsa, ya’ni F.AnalitCount () = 0 bo‘lsa, u holda funksiya ham 0 ni qaytaradi. Pozitsiya - ma’lumotnoma bo‘yicha ajratilgan qiymatni qaytarish kerak bo‘lgan pozitsiya raqami

  • saralash yo‘nalishi - true (yoki 1) - qiymatlarning o‘sishi bo‘yicha saralash, false (yoki 0) - qiymatlarning kamayishi bo‘yicha saralash"
Misol

"F. VALPOSTAB (A, ’OrgStruktura’, 3, 1)
"OrgStruktura" ma’lumotnomasi bo‘yicha qiymatlarga ega bo‘lgan A o‘zgaruvchisi bilan bog‘liq asosiy ko‘rsatkich uchun:

15 - Energoblok 1
20 - Energoblok 2
10 - Energoblok 3

ko‘rsatilgan funksiya saralangan qiymatlar ro‘yxatining 3-pozitsiyasi qiymatini qaytaradi:

10 - Energoblok 3
15 - Energoblok 1
20 - Energoblok 2

Ya’ni funksiyaning ish natijasi 20 ga teng bo‘ladi."

Tavsif

F.PERIODNUMBER funksiyasi hozirda hisoblanayotgan qadam raqamini qaytaradi.

Sintaksis

"F.PERIODNUMBER (REP.BYREPORT | REP.BYCURRENT)

  • REP.BYCURRENT - hisoblanayotgan ko‘rsatkichning davr qadamidagi qadam raqamini qaytaradi,
  • REP.BYREPORT - hisobot davri qadamidagi qadam raqamini qaytaradi."
Misol

"F.PERIODNUMBER (REP.BYREPORT | REP.BYCURRENT)

  • REP.BYCURRENT - hisoblanayotgan ko‘rsatkichning davr qadamidagi qadam raqamini qaytaradi,
  • REP.BYREPORT - hisobot davri qadamidagi qadam raqamini qaytaradi."

Ssenariy konfiguratsiyasini import qilish bo'yicha ustki

Tavsif

F.DIST funksiyasi belgilangan aniqlik (parametr 1) bilan berilgan yigʻindi (parametr 2) uchun ogʻirlik qiymati (parametr 3) boʻyicha taqsimot.

Sintaksis

F.DIST (int <ifoda1>, float <ifoda2>, float <ifoda3>)

ifoda1 – 0 dan 16 gacha butun son: parametr 2 qiymati va parametr 3 (satr uchun taqsimlash koeffitsienti) koʻpaytmasi yigʻindisi orasidagi delta (xatolik) uchun verguldan keyingi raqamlar soni
ifoda2 – taqsimlash uchun umumiy son (yigʻindi) ni belgilovchi son yoki parametr
ifoda3 – satr uchun koeffitsientni hisoblovchi oʻzgaruvchi yoki formula

Misol

Hisoblanadigan maydonda (4) har bir boʻlim xodimlari sonining (1) kompaniya umumiy xodimlar soniga (3) ulushi hisoblanadi.
(4) ustunidagi barcha qiymatlar yigʻindisi 1 ga teng boʻlishi kerak, ammo koʻp sonli qiymatli satrlar va kichik yigʻindilar (1) tufayli yaxlitlashlar sababli yigʻindi 1 ga teng boʻlmasligi mumkin.
1 va olingan yigʻindi (4) orasidagi farqni hisoblash va uni har bir satr qiymatiga (4) mutanosib taqsimlash kerak.

  AParametrF. TSUM (A)A/BF.DIST(5, 1, A/B )
  12345
  20,00Boʻlim 111 565,000,00177746178…0,00177746178…
  5,00PBoʻlim 211 565,000,00177746178…
 ... P1Boʻlim N11 565,00...
Yigʻindi11 565,00     0,99...1,00000
F.DIST(5, 1, A/B ) funksiyasi A/B qiymatlari yigʻindisini hisoblaydi, uni 1 bilan solishtiradi va yetishmayotgan farqni satrlarga mutanosib taqsimlaydi (5). (5) qiymatlari yigʻindisini 1 bilan solishtiradi. Agar olingan yigʻindi (5) verguldan keyin 5 ta belgi aniqligi bilan kerakli 1 ga yetmasa, farqni hisoblaydi va uni yana satrlarga mutanosib taqsimlaydi. Va hokazo, (5) qiymatlari yigʻindisi 1 ga teng boʻlguncha.
Tavsif

F.TSUM funksiyasi berilgan shart boʻyicha koʻrsatilgan sonli maydon qiymatlarini yigʻadi. Shart koʻrsatish majburiy emas, bunda barcha sanab oʻtilgan maydonlar qiymatlari yigʻindisi olinadi.

Sintaksis

F.TSUM(float <ifoda>{,float <ifoda1>, ..., float <ifodaN>})

  • ifoda - yigʻiladigan qiymatlari sonli maydon yoki yigʻish uchun sonni hisoblovchi formula
Misol

Yigʻish uchun:\

\

  • «A» maydon qiymatlari (4),\

\

  • «A» va «B» maydonlari qiymatlari (5)\

  • parametri «P1» boʻlgan «A» maydon qiymatlari (6)\

\

| A | B | Parametr | F. TSUM (A)| F. TSUM (A, B) | F. SUM ( F.IF (Parametr = 'P1' , A, 0) |\

|----------|----------|----------|----------|----------|----------|\

| 1 | 2 | 3 | 4 | 5 | 6 |\

| 15,00 | 1,00 | P1 | 45,00 | 51,00 | 25,00 |\

| 20.00 | 2,00 | P | 45,00 | 51,00 | 25,00 |\

| 10,00 | 3,00  | P1 | 45,00 | 51,00 | 25,00 |parametri «P1» boʻlgan «A» maydon qiymatlari (6)

Tavsif

F.GROUPSUM funksiyasi koʻrsatilgan sonli maydon qiymatlarini belgilangan guruhlash maydonlari boʻyicha yigʻadi. Guruhlash maydonlarini koʻrsatish majburiy emas, bunda butun maʼlumotlar toʻplami boʻyicha yigʻindi olinadi.

Sintaksis

F.GROUPSUM(float <ifoda>, { <argument1>, ..., <argumentN>})

  • ifoda – yigʻiladigan qiymatlari sonli maydon
  • yigʻish amalga oshiriladigan guruhlash maydonlari ixtiyoriy parametri
Misol

“Summa” maydon qiymatlarini “Parametr1” va “Parametr2” maydonlari boʻyicha guruhlab yigʻish uchun funksiya quyidagi koʻrinishda boʻladi:\

\

| Summa | Parametr1 | Parametr2 |F.GROUPSUM (Summa, Parametr1) | F.GROUPSUM (Summa, Parametr1, Parametr2) |\

|----------|----------|----------|----------|----------|\

| 15 | P1 | P21 | 25 | 45 |\

| 20 | P1 | P22 | 20 | 45 |\

| 10 | P1 | P21 | 25 | 45 |

Tavsif

F.HI funksiyasi satr qiymatini katta harflarga oʻtkazadi.

Sintaksis

F.HI (string <ifoda>)

  • ifoda – katta harflarga oʻtkazilishi kerak boʻlgan qiymati satr
Tavsif

F.LO funksiyasi satr qiymatini kichik harflarga oʻtkazadi.

Sintaksis

F.LO (string <ifoda>)

  • ifoda – kichik harflarga oʻtkazilishi kerak boʻlgan qiymati satr
Tavsif

F.LTRIM funksiyasi satrning chap tomonidagi boʻshliqlarni olib tashlaydi.

Sintaksis

F.LTRIM(string <ifoda>)

  • ifoda – chap tomonidagi boʻshliqlarni kesish kerak boʻlgan satr
Tavsif

F.REPLACE funksiyasi satrda (1-parametr) birinchi qiymatni (2-parametr) ikkinchi qiymatga (3-parametr) almashtiradi.

Sintaksis

"F.REPLACE (string < ifoda1>, string < ifoda2>, string < ifoda3>)

  • ifoda1 - almashtirish amalga oshiriladigan satr
  • ifoda2 - almashtiriladigan satr/qiymat
  • ifoda3 - almashtirish amalga oshiriladigan satr/qiymat
Tavsif

F.RTRIM funksiyasi satrning o‘ng tomonidagi bo‘sh joylarni olib tashlaydi

Sintaksis

"F.RTRIM (string <ifoda>)

  • ifoda - o‘ng tomondagi bo‘sh joylarni kesish kerak bo‘lgan satr
Tavsif

F.STR funksiyasi sonning satrli ko‘rinishini qaytaradi.

Sintaksis

"F.STR (float <ifoda>)

  • ifoda - satrga aylantirilishi kerak bo‘lgan ifoda
Tavsif

F.STRDATE funksiyasi sananing satrli ko‘rinishini qaytaradi.

Sintaksis

F.STR(float <ifoda>)

  • ifoda – satrga aylantirilishi kerak bo'lgan ifoda
Tavsif

F.TRIM funksiyasi satrda chap va o‘ngdan bo‘sh joylarni olib tashlaydi

Sintaksis

"F.TRIM (string <ifoda>)

  • ifoda - chap va o‘ng tomondagi bo‘sh joylarni kesish kerak bo‘lgan satr

KPI diagramma funksiyalari

Tavsif

F.VARISENABLED funksiyasi, agar ko‘rsatilgan o‘zgaruvchi KPI kartasi hisob-kitobiga kiritilgan satrdan bo‘lsa, ROSTNI qaytaradi. Aks holda - YOLG‘ON

Sintaksis

"F.VARISENABLED (<o‘zgaruvchi>)

  • o‘zgaruvchi - KPI kartasi katakchasi o‘zgaruvchisi "
Misol

"F.VARISENABLED (<H1>)

Agar o‘zgaruvchi hisoblashda qatnashayotgan satrdan bo‘lsa, 1 (rost) ni qaytaradi.

Aks holda 0 (yolg‘on) qaytaradi."

Parametrlar

  • davrning joriy qadami
  • davr oxiri
  • hisobot davri qadami
  • davr boshi
  • davr qadami kun
  • yarim yillik davr qadami
  • davr qadami soat
  • davr qadami daqiqa
  • davr qadami oy
  • chorak davri qadami
  • davr qadami soniya
  • haftalik davr qadami
  • davr qadami yil
  • davrning noma’lum qadami