Погледнете ги упатствата за PANTHEON™

 Категории
 Главна страна - Добре дојдовте во помош за PANTHEON
[Collapse]PANTHEON
 [Collapse]PANTHEON упатства
  [Expand]Водич за PANTHEON Farming
  [Collapse]Водич за Datalab PANTHEON™
   [Expand]Помош
   [Expand]ПОС
   [Collapse]Подесувања
    [Expand]Партнери
    [Expand]Иденти
    [Expand]Производство
    [Expand]ПОС
    [Expand]Вработени
     Календар
    [Expand]Сметководство
    [Expand]Царина
    [Collapse]Програм
     [Expand]Програма за доверба
     [Expand]Видови документи
     [Collapse]Облици на испис
       Поставки во Администраторска конзола
       Изоз на испис
       Узоз на испис
       Кратенка за испис
      [Expand]Облици на испис
       Клонирање исписи и менување тип на исписи
       Преглед на испис
      [Expand]Користење SQLEXP израз во исписи
      [Expand]Дизајнер на извештаи
      [Expand]Пораки поврзани со исписи
      [Expand]Создавање Извештаи
      [Collapse]Групи и Агрегати
        Извештај со Групи
        Групни Карактеристики
        Нумерирање на линии
        Агрегатни Функции
        Страница и вкупно на извештаи
        Користење на објектот "SysText"
        Мулти-Ниво Групирање
      [Expand]Креирање исписи
      [Expand]Форматирање и Истакнување
       Вгнездени Извештаи (Подизвештаи)
      [Expand]Спецификации на печатите во ПАНТЕОН
      [Expand]Скрипт
       Разглед на дизајн на извештајот
      Текстови на документи
      Начин на достава
     [Expand]АРЕС
     [Expand]Администраторска конзола
     [Expand]Картички за доверба
      Ад-хок анализа
     [Expand]Тековен корисник
     [Expand]Елементи на контролна табла
      Извештаи на контролна табла
      SQL уредувач
    [Expand]Документација
   [Expand]Нарачки
   [Expand]Материјално
   [Expand]Производство
   [Expand]Сервис
   [Expand]ПОС
   [Expand]Финансии
   [Expand]Кадри
   [Expand]Работна површина
   [Expand]Анализи
    Додатно
   [Expand]Аналитика
   [Expand]Пораки и предупредувања
   [Expand]Системско окружување за Даталаб програми
   [Expand]Официјални објаснувања
    Речник на термини
   [Expand]Дополнителни програми
   [Expand]Застарени производи
  [Expand]Водич за PANTHEON Ретал
  [Expand]Водич за PANTHEON Вет
 [Expand]PANTHEON кориснички прирачници
[Expand]PANTHEON Web
[Expand]PANTHEON Гранула
[Expand]Кориснички сервер

Load Time: 796,8831 ms
print   |
Label

Агрегатни Функции

Агрегатни Функции

Во повеќето случаи, групните извештаи треба да прикажуваат некои резиме информации (како: “вкупно на групата”, “број на елементи во групата” итн). FastReport обезбедува агрегатни функции за пресметување агрегатни вредности преку некој опсег на податоци.

Агрегатните функции се:

Функција Опис
СУМ враќа вкупно на израз
МИН враќа минимална вредност на израз
МАКС враќа максимална вредност на израз
AVG враќа просечна вредност на израз
БРОЈ враќа број на редови (редови) во опсегот на податоци

Синтаксата на сите агрегатни функции (освен БРОЈ) е слична на онаа на функцијата СУМ:

 

СУМ(израз, бенд, флагови)

СУМ(израз, бенд)

СУМ(израз)

 

Параметрите се:

израз – изразот што треба да се пресмета

бенд – името на податочниот бенд во кој се извршува пресметката

флагови – битно поле, со вредности

                 1 : вклучи невидливи бендови во пресметката

                 2 : акумулирај агрегатот како тековна сума

                      (не ресетирај го агрегатот кога тековниот опсег на податоци се ресетира)

                 3 : (обе од двете претходни опции)

 

Изразот е единствениот задолжителен параметар, другите два се опционални. Сепак, за да се избегнат грешки, се препорачува параметрите на бендот секогаш да се даваат.

Агрегатната функција “БРОЈ” има следна синтакса:

БРОЈ(бенд, флагови)

БРОЈ(бенд)

каде што параметрите имаат исто значење како погоре.

Постоји општо правило за сите агрегатни функции: агрегатот може да се пресмета само преку податочен бенд и може да се користи само во фудерот на тој бенд, кој може да биде еден од: фудер, фудер на страница, фудер на група, фудер на колона или фудер на извештај (резиме бенд).

Како функционираат агрегатните функции? Ќе погледнеме ова користејќи го нашиот пример со групен извештај. Да додадеме некои нови елементи во извештајот:

clip0177

Полето Група.“ItemsTotal” во податочниот бенд прикажува тековната вкупна нарачка. Поставете објект “Текст” во фудерот на групата што содржи агрегатот СУМ прикажан погоре. Тоа ќе ја прикаже вкупната сума на сите нарачки направени од дадениот клиент. Користејќи калкулатор, можеме да провериме дека резултатот е точен:

_img134

Агрегатните функции работат на следниов начин: пред да се излезе извештај, FastReport скенира содржината на објектот “Текст” за да најде било какви агрегатни функции. Најдените агрегати се поврзани со податочните бендови во нивните параметри (во нашиот пример “СУМ” е поврзан со бендот “MasterData1”). За време на излезот на извештајот (кога се прикажува податочниот бенд) се пресметуваат вредностите на агрегатите поврзани со него. Во нашиот случај, вредностите на полето Група.“ItemsTotal” се акумулираат. Откако ќе се излезе фудерот на групата што го прикажува агрегатот, вредноста на агрегатот се ресетира на нула, а циклусот се повторува за следната група, и така натаму.

Која е целта на опционалниот параметар “Флагови” во агрегатните функции? Извештаите можат да имаат некои, или сите, од податочните бендови скриени. Сепак, можеби ќе треба да пресметаме агрегати преку сите податочни бендови, без разлика дали се видливи или не. Во нашиот пример, поставете “Видливо” својството на податочниот бенд на лажно, така што ќе се спречи неговото прикажување. За да се вклучи овој скриен податочен бенд во пресметките, мораме да го поставиме третиот, опционален параметар во повикот на функцијата на бројот 1, т.е.:

[СУМ(<Група."ItemsTotal">,MasterData1,1)]

Ова произведува извештај што изгледа вака:

_img135

Кога вредноста на параметарот “Флагови” е поставена на 2, вредноста на агрегатот не се ресетира веднаш по неговото прикажување: агрегатот станува “тековна” пресметка за секој последователен излез. Да ја измениме повикот на функцијата како што е прикажано тука:

[СУМ(<Група."ItemsTotal">,MasterData1,3)]

Вредноста “3” е битна комбинација на “1” и “2”, што значи дека треба да ги вклучиме невидливите бендови, без да го ресетираме вкупното по секоја група. Како резултат, имаме:

_img136

 Ако постои услов за видливост во настанот "OnBeforePrint" на бендот, флаговите немаат ефект.



Rate this topic
Was this topic usefull?
Comments
Comment will also bo visible in forum!