Погледнете ги упатствата за 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: 1343,77 ms
print   |
Label

Извештај со Групи

Извештај со Групи

Во претходниот пример конструиравме извештај со два нивоа базиран на податоците од две табели. Друг извештај кој изгледа исто може да се конструира во FastReport, овој пат базиран на сет на податоци добиен од споена упит.

За да се направи ова, потребен е SQL упит кој враќа податоци од двете табели и сортирани на одреден начин е потребен. Во нашиот пример, табелите ќе бидат споени на полето "acSubject" од купувачи и "acConsignee" поле од табелата за нарачки. Упитот може да биде:

select *
from tHE_SetSubj, tHE_Order 
where tHE_SetSubj.acSubject = tHE_Order.acConsignee
order by tHE_SetSubj.acSubject

Редот "order by" е потребен за да се сортираат записите на полето “acSubject” (купувач).

Како може да се дизајнира многу-нивовен извештај користејќи ги овие податоци? Постоји специјален бенд, “Групен Заглавие”. Услов (вредност на поле во базата на податоци или израз) е специфициран за бендот; бендот се издава секој пат кога вредноста на условот се менува. Следниот пример илустрира ова.

Да создадеме нов проект во Delphi и да поставиме компонентата “TfrxDlDBQuery”. Поставете ги својствата на новата компонента именувана "DlDBQuery​1" како што е прикажано тука:

SQL =

'select *
from tHE_SetSubj, tHE_Order       
where tHE_SetSubj.acSubject = tHE_Order.acConsignee
order by tHE_SetSubj.acSubject'

UserName = 'Group'

Додајте бенд “Групно заглавие” во извештајот. Поставете услов (во овој случај полето за податоци “Group.acSubject”) во уредникот на бендот “Групно заглавие”:

Исто така поврзете го бендот за податоци со изворот на податоци “Група” и распоредете некои објекти како што е прикажано (забележете дека групното заглавие мора да биде поставено над бендот за податоци):

Бендот “Групно заглавие” се издава само кога полето на кое е поврзано се менува во вредност. Во спротивно, бендот за податоци поврзан со сетот на податоци “Група” се прикажува. Ако го споредиме овој извештај со извештајот за главен-детаљ конструиран порано, е очигледно дека бројките на нарачките воопшто не се сортирани. Ова може лесно да се исправи со промена на клаузулата 'order by' во SQL упитот:

select *
from tHE_SetSubj, tHE_Order
where tHE_SetSubj.acSubject = tHE_Order.acConsignee
order by tHE_SetSubj.acSubject, tHE_Order.acKey

Извештаи со вложени групи можат да се дизајнираат на сличен начин. Длабочината на вложување на групите е неограничена. Извештаите кои користат групи имаат некои предности во однос на извештаите од типот главен-детаљ:

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

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

 



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