PANTHEON™ Help

 Sadržaj
[Collapse]Poštanska knjiga
 [Collapse]Pošiljke
   Vrsta pošiljke
  Šifarnici
  Pošta
 Glavna strana- Dobrodošli u PANTHEON uputstva
[Collapse]PANTHEON
 [Collapse]PANTHEON priručnici
  [Collapse]Priručnik za PANTHEON
   [Collapse]Podešavanja
    [Expand]Subjekti
    [Expand]Identi
    [Expand]POS
    [Expand]Proizvodnja
    [Expand]Zaposleni
     Kalendar
    [Expand]Računovodstvo
    [Expand]Carina
    [Collapse]Program
     [Expand]Vrste dokumenata
     [Collapse]Oblici ispisa
       Podešavanja u Administratorskoj konzoli
      [Expand]Šifarnik ispisa
       Pregled štampe
      [Expand]Štampanje - dizajn
      [Expand]Pravljenje izveštaja
      [Collapse]Grupe i Agregati
        Izveštaj sa Grupama
        Karakteristike Grupe
        Numerisanje linija
        Agregatne funkcije
        Stranica i Izveštaj Ukupno
        Korišćenje "SysText" objekta
        Grupisanje i numerisanje
      [Expand]Formatiranje i Isticanje
       Ugnježdene izveštaje (podizveštaji)
      [Expand]Specifičnosti ispisa
      [Expand]Skripta
       Primer opšteg podešavanja u AK
      [Expand]Upotreba izraza SQLEXP u ispisima
      [Expand]Obaveštenja prilikom oblikovanja ispisa
      [Expand]Oblikovanje ispisa
      Šifarnik tekstova
      Načini dostave
     [Expand]Ispisi u PANTHEON-u
     [Expand]Kartice poverenja
     [Expand]Administratorska konzola
     [Expand]Elementi kontrolne table
      Izveštaji na kontrolnoj tabli
      Ad-hoc analiza
     [Expand]ARES
      SQL editor
     [Expand]Ad-hoc analize
      Klasifikacijski plan
    [Expand]Dokumentacija
    [Expand]Trenutni korisnik Ctrl - U
   [Expand]Narudžbine
   [Expand]Roba
   [Expand]Proizvodnja
   [Expand]POS
   [Expand]Servis
   [Expand]Novac
   [Expand]Kadrovi
   [Expand]Plansko-analitički alat ZEUS
   [Expand]Radna površina
   [Expand]Pomoć
   [Expand]Obaveštenja programa
   [Expand]Poslovni saveti
   [Expand]Dodatni programi
    Sistemska okolina
  [Expand]Priručnik za mobilni POS
  [Expand]Priručnik za PANTHEON Vet
  [Expand]Vodič po DataLab PANTHEON™ Farming
 [Collapse]PANTHEON korisnički priručnici
  [Expand]Operativni priručnik za datalab PANTHEON Farming
  [Expand]Korisnički priručnik za PANTHEON
  [Expand]Korisnički vodič za mobilni POS
  [Expand]Korisnički priručnik za PANTHEON VET
  [Expand]Korisnički priručnik za PANTHEON Farming
[Collapse]PANTHEON Web
 [Collapse]Priručnici za PANTHEON Web
  [Expand]Priručnik za PANTHEON Web Light
  [Expand]Priručnik za PANTHEON Web Terminal
  [Expand]Priručnik za PANTHEON Web Legal
 [Collapse]Korisnički priručnici za PANTHEON Web
  [Expand]Kako početi? PANTHEON Web
  [Expand]Korisnički priručnik za PANTHEON Web Light
  [Expand]Korisnički priručnik za PANTHEON Web Terminal
  [Expand]Korisnički priručnik za PANTHEON Web Legal
[Collapse]PANTHEON Granule
 [Collapse]Priručnik za PANTHEON Granule
  [Expand]Granula Kadrovi
  [Expand]Granula Putni nalozi
  [Expand]Granula Dokumenti i zadaci
  [Expand]Granula Kontrolna tabla
  [Expand]Granula B2B naručivanje
  [Expand]Granula Servis na terenu
  [Expand]Granula Inventar osnovnih sredstava
  [Expand]Granula Inventar skladišta
 [Collapse]Korisnički priručnik za PANTHEON Granule
  [Expand]Kako početi?
  [Expand]Granula Kadrovi
  [Expand]Granula Putni nalozi
  [Expand]Granula Dokumenti i Zadaci
  [Expand]Granula B2B Naručivanje
  [Expand]Granula Kontrolna tabla
  [Expand]Granula Servis na terenu
  [Expand]Inventar Fiksne Imovine
  [Expand]Arhiva
  [Expand]Granula Inventar skladišta
 Obrazac za slanje fax-om
[Expand]Korisničke strane

Load Time: 2593.7881 ms
"
  1006269 | 218629 | 434527 | AI translated
Label

Izveštaj sa grupama

Izveštaj sa grupama

U prethodnom primeru konstruisali smo izveštaj sa dva nivoa na osnovu podataka iz dve tabele. Drugi izveštaj koji izgleda isto može se konstruisati u FastReport-u, ovaj put na osnovu skupa podataka dobijenog iz spojene upita.

Da bismo to uradili, potrebna je SQL upit koja vraća podatke iz obe tabele i sortira ih na određeni način  . U našem primeru, tabele će biti spojene na "acSubject" polju iz tabele kupaca i "acConsignee" polju iz tabele narudžbina. Upit može biti:

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

Linija "order by" je obavezna da bi se sortirali zapisi po polju “acSubject” (kupac).

Kako se može dizajnirati višeslojni izveštaj koristeći ove podatke? Postoji posebna traka, “Grupni zaglavlje”. Uslov (vrednost polja baze podataka ili izraz) je definisan za traku; traka se prikazuje svaki put kada se vrednost uslova promeni. Sledeći primer ilustruje ovo.

Hajde da kreiramo novi projekat u Delphiju i postavimo komponentu “TfrxDlDBQuery”. Postavite svojstva nove komponente nazvane "DlDBQuery​1" kao prikazano ovde:

SQL =

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

Korisničko ime = 'Grupa'

Dodajte traku “Grupni zaglavlje” u izveštaj. Postavite uslov (u ovom slučaju polje podataka “Group.acSubject”) u editoru trake “Grupni zaglavlje”:

Takođe povežite traku podataka sa izvorom podataka “Grupa” i rasporedite neke objekte kao što je prikazano (napomena da grupno zaglavlje mora biti postavljeno iznad trake podataka):

Traka “Grupni zaglavlje” se prikazuje samo kada se polje na koje je povezano menja u vrednosti. U suprotnom, traka podataka povezana sa “Grupa” skupom podataka se prikazuje. Ako uporedimo ovaj izveštaj sa izveštajem majstor-detalj konstruisanim ranije, očigledno je da brojevi narudžbina nisu uopšte sortirani. Ovo se može lako ispraviti promenom 'order by' klauzule SQL upita:

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

Izveštaji sa ugnježdenim grupama mogu se dizajnirati na sličan način. Dubina ugnježdenja grupa je neograničena. Izveštaji koji koriste grupe imaju neke prednosti u odnosu na izveštaje tipa majstor-detalj:

  • ceo izveštaj zahteva samo jedan skup podataka (upit)
  • broj nivoa grupisanja podataka je neograničen
  • sortiranje podataka postaje moguće
  • optimalnija upotreba resursa baze podataka (upit vraća samo jedan skup podataka za izlaz, sa filtriranjem koje se vrši putem upita).

Jedini nedostatak je potreba za pisanjem upita na SQL jeziku. Međutim, osnovno poznavanje SQL-a je praktično obavezno za svakog programera koji radi sa bazama podataka.

 

 

Oceni ovu temu
Da li je ova tema korisna?
Komentari
Komentari će biti vidljivi i na forumu!