Navodila za PANTHEON

 Kazalo
 Glavna stran - Dobrodošli v PANTHEON navodila
[Collapse]PANTHEON
 [Collapse]Vodiči za PANTHEON
  [Collapse]Vodič po PANTHEON-u
   [Expand]Pomoč
   [Collapse]Nastavitve
    [Expand]Subjekti
    [Expand]Identi
    [Expand]POS
    [Expand]Proizvodnja
    [Expand]Zaposleni
     Koledar
    [Expand]Računovodstvo
    [Expand]Carina
    [Expand]Dokumentacija
    [Collapse]Program
     [Expand]Vrste dokumentov
     [Collapse]Izpisi v PANTHEON-u
       Delovno okolje
       Izvozi ime datoteke
       Poročila Register
       Posebnosti izpisov
       Nastavitve
       Predogled tiskanja
       Zgradba izpisa
       Objekti
      [Expand]Oblikovalec poročil
       Izrazi
      [Expand]Ustvarjanje poročil
      [Expand]Skupine in agregati
       Grupiranje in številčenje
      [Expand]Funkcije
      [Expand]Oblikovanje in označevanje
       Sistemske spremenljivke
       Vgrajena poročila (podporočila)
       Uvoz in izvoz
      [Expand]Skripta
       Tabele in poizvedbe
       Prenos izpisa v druge baze
       Izvoz oblike izpisa
       Uvoz oblike izpisa
       Bližnjica na izpis
       Podvajanje izpisov in spreminjanje tipa izpisa
      [Expand]Uporaba izraza SQLEXP v izpisih
      [Expand]Sporočila pri oblikovanju izpisov
      [Expand]Oblikovanje izpisov
     [Expand]Teksti za dokumente
      Načini dostave
     [Expand]Kartice zaupanja
     [Expand]Administratorska konzola
     [Expand]Gradniki nadzorne plošče
      Poročila nadzorne plošče
      Poročila nadzorne plošče
      Ad-hoc analize
     [Expand]ARES
      SQL urejevalnik
    [Expand]Zamenjaj uporabnika Ctrl - U
   [Expand]Naročila
   [Expand]Proizvodnja
   [Expand]Blago
   [Expand]Servis
   [Expand]Denar
   [Expand]Kadri
   [Expand]Namizje
   [Expand]Analitika
   [Expand]Sporočila programa
   [Expand]Uradna pojasnila
   [Expand]Sistemsko okolje
   [Expand]Dodatni programi
    Slovar izrazov
   [Expand]Zastareli produkti
  [Expand]Vodič po PANTHEON Farming
  [Expand]Vodič po PANTHEON Retail
  [Expand]Vodič po PANTHEON Vet
 [Expand]Uporabniški priročniki za PANTHEON
[Expand]PANTHEON Web
[Expand]PANTHEON Granule
[Expand]Uporabniške strani

Load Time: 781,2591 ms
print   |
Label

Agregatne funkcije

Funkcije



V tem poglavju so razložene agregatne funkcije, funkcija GetForValue, SQLEXP ter IIF. Funkcije, ki so napisane posebej za PANTHEON 5.5 in jih ni v standardnem FastReport-u pa smo razložili posebej v kategoriji Datalab Funkcije.
 


Oglejte si primere uporabe funkcij v uporabniškem priročniku




 

Agregatne funkcije


Agregatne funkcije so poznane iz SQL-a in so:

SUM – vsota
AVG – povprečje
MAX – največja vrednost
MIN – najmanjša vrednost
COUNT – število zapisov

Najlažje jih dobimo tako, da z orodne vrstice z objekti prenesemo na izpis objekt s sistemskim tekstom .  Odpre se pogovorno okno na spodnji sliki.



Slika 1 - Okno za vnos sistemskih spremenljivk in agregatnih funkcij


Izberemo Aggregate value in v spustnih menijih ter potrditvenih poljih izberemo želene vrednosti:
 

  • Agregatno funkcijo (Function).

  • Pas (Data band), na katerega se nanaša funkcija.

  • Dataset, ki je običajno isti kot lastnost DataSet izbranega pasu.

  • Polje v tabeli ali poizvedbi (DataField), ki ga hočemo imeti za argument funkcije. Pri funkciji COUNT je ta lastnost brez pomena.

  • Ali naj upošteva podatke tudi, če je pas skrit (Count invisible bands). Ta možnost pride v poštev npr. pri izpisu zaloge, če nas zanimajo samo skupne količine. Predstavlja vrednost 1 zadnjega argumenta agregatnih funkcij.

  • Kumulativna vsota (Running total). Ta lastnost določa, ali naj se količine (vsote) prenesejo v naslednjo grupo. Predstavlja vrednost 2 zadnjega argumenta agregatnih funkcij.

  • V polje Izraz (Expression) lahko vneseno poljuben izraz brez oglatega oklepaja na začetku in koncu izraza. Pomagamo si lahko z gumbom fx, ki nam odpre ExpressionEditor, ki je pravzaprav DataTree.


Če hočemo v enem objektu izpisati izraz in spremno besedilo ali več izrazov, izberemo Text in v vnosno polje vpišemo poljubno besedilo. V tem primeru s posebnim objektom nismo pridobili ničesar, ker je to popolnoma enako, kot če bi pisali v navaden tekstovni objekt.
V tem oknu lahko izberemo tudi sistemske spremenljivke, vendar niso na voljo vse. Bolj enostavno je, da jih povlečemo preko DataTree (drevesa s podatki).




Pri vseh funkcijah je obvezen samo prvi argument
 

Funkcija IIF


Funkcija IIF  je podobna pogojnemu stavku if - then – else.

Glava funkcije:

function IIF(Expr: Boolean; TrueValue, FalseValue: Variant): Variant;


 

Funkcija GetFormValue

Funkcija GetFormValue vrne vrednost v objektu v oknu programa. Njen argument je ime objekta v oknu skupaj z imenom okna. Če objekt ne obstaja ali forma ni kreirana, funkcija vrne prazen niz.

Glava funkcije:


function GetFormValue(FormComponentName: String): Variant;
 

 

Funkcija SQLExp 



Edini parameter funkcije SQLExp je SQL stavek SELECT, ki se izvede na bazi podatkov.

Glava funkcije:


function SQLExp(sql: String): String;

Funkcija vrne celoten resultset stavka SELECT. Če je v rezultatu več zapisov, zapiše vsakega v svojo vrstico. Če sintaksa stavka SELECT ni pravilna ali vsebuje napačna imena tabel oziroma polj v njih, funkcija ne javi napake, ampak vrne prazen niz.

 

Razlika med funkcijo SQLExp na MS-SQL in Oracle



Sintaksa stavka SELECT na Oraclu se malo razlikuje od tiste na MS-SQL, mi pa bi želeli uporabljati iste izpise na obeh strežnikih. Zato moramo pisati izraze SQLExp, ki so hkrati pravilni za oba. Pri tem nam malo pomaga sam PANTHEON, ki ima zelo enostaven konverter za prevajanje stavkov SELECT med obema strežnikoma in pravilno prevede samo nekatere enostavne stavke.
 
Najpomembnejša razlika v sintaksi  je operator za sestavljanje nizov, ki je na MS-SQL-u '+' in na Oraclu '||'. 


 

Spodnji stavek na MS-SQL vrne šifro države in identifikacijsko številko za DDV našega podjetja

[SQLexp('select ltrim(acVATCodePrefix+ltrim(acCode)) from tHE_SetSubj where acSubject = ''' + <tbParameter."acOurCompany"> + '''')]

Ustrezen stavek na Oraclu je

[SQLexp('select ltrim(acVATCodePrefix||ltrim(acCode)) from tHE_SetSubj where acSubject = ''' + <tbParameter."acOurCompany"> + '''')]

Zaradi konverterja se bo stavek pravilno izvedel na obeh strežnikih, če ga zapišemo v eni ali drugi obliki. Kot rečeno, konverter ne zna pravilno prevesti vsega. Najpomembnejši primer je izpis samo prvih zapisov, za katerega MS-SQL uporablja ukaz TOP, Oracle pa ukaz ROWNUM, razlika pa je tudi v sintaksi.
 



Ali so bila ta navodila uporabna?
Vaše povratne informacije bodo prispevale k boljši pomoči.
Komentarji
Komentarji so izpostavljeni tudi na forumu.