![]() ![]() |
Klassen Total er en beholder til beregningsfunktionerne. Klassen Total indeholder en række funktioner til beregning. Funktionerne er BIRT-udvidelser af JavaScript, der beregner totalen for et sæt rækker. En funktion udføres i to faser af BIRT-rapportprogrammet:
BIRT omskriver scripts, der indeholder en beregningsfunktion, så de udfører de to faser. Det eneste tidspunkt, hvor det er vigtigt at være opmærksom på denne proces, er under fejlfinding af et udtryk, der indeholder en beregningsfunktion. Eksempel: Der skal vises en værdi i bundteksten til en gruppe, hvor værdien er en procentdel af det samlede beløb for alle konti. Følgende sætning udfører funktionen:
I eksemplet ovenfor bevirker Total.OVERALL, at BIRT beregner summen for alle rækker, selvom udtrykket er placeret i en gruppetotal. Når BIRT skal beregne udtrykket i eksemplet, foretages ét gennemløb, der beregner den samlede saldo, og et andet gennemløb, som beregner værdien for hver konto.
Der er følgende generelle regler for klassen Total:
Til alle beregningsfunktioner kan der overføres to argumenter for at angive filtrering og gruppering:
Et filterargument indeholder et boolesk udtryk, som BIRT evaluerer for hver række. Ved beregning af sumværdien medtager BIRT kun de rækker, der matcher filtret. En rapport kunne f.eks. lægge alle aktive kunders kreditmaksimum sammen for at finde den maksimale kreditrisiko.
Udtrykket udføres i datatransformeringsfasen. Det har adgang til kolonner i rækken, parametre, brugerdefinerede funktioner og andre ressourcer, der er defineret i ovenstående kontekstbeskrivelse. Eksempel:
Hvis filtret er NULL, ikke-defineret eller Total.INTET_FILTER betyder det, at der ikke er angivet et filter. Hvis programmet ikke leverer et filter, bruges standardværdien, som er Ikke-defineret. Hvis du angiver et gruppeargument, skal du enten angive NULL eller Total.INTET_FILTER for at indikere ingen filtrering.
Der skal ofte vises totaler for det aktuelle grupperingsniveau i rapporter. Antag f.eks., at en rapport er grupperet efter kunder og ordrer, og at oplysningsrecords'ene repræsenterer produktlinjeelementer i ordrerne. Hvert produktlinjeelement har en enhedspris og et antal som i følgende beregningsfunktion:
Beregningsfunktionen lægger værdierne i den aktuelle gruppe sammen. Hvis den placeres i bundteksten, vises summen for den pågældende ordres produktlinjeelementer. Hvis den placeres i kundebundteksten, vises summen for alle produktlinjeelementerne i alle den pågældende kundes ordrer. Hvis den placeres i rapportbundteksten, vises summen for alle produktlinjeelementer for alle kunder.
Undertiden skal et program imidlertid bruge en total fra et andet grupperingsniveau. Det gælder f.eks., hvis der er brug for at få vist den samlede værdi af en ordre som en procent af alle kundens ordrer. I det tilfælde skal der hentes en total for en anden gruppe end den aktuelle gruppe. Det gøres vha. gruppeargumentet:
Gruppeargumentet kan have følgende indhold:
Følgende eksempler illustrerer disse typer gruppeargumenter:
Total.sum( row["myCol"] null, null ); // Aktuel gruppe Total.sum( row["myCol"], null, "Kunde" ); // Efter navn Total.sum( row["myCol"], null, "row['kundeId']" ); // Efter grupperingsnøgle Total.sum( row["myCol"], null, 1 ); // Efter gruppeindeks Total.sum( row["myCol"], null, "Overall" ); // Samlet total Total.sum( row["myCol"], null, 0 ); // Samlet total
Filterargumentet skal angives, når du bruger grupperingsargumentet. Angiv NULL som filterværdien, hvis du ikke har brug for et filter. Gruppeindekset skal ikke sættes i anførselstegn. Det skal angives som et tal. Med andre ord betyder 1 gruppen på niveau 1, mens "1" betyder gruppen ved navn "1".
OVERALL
Beregningsfunktionen beregner den matematiske gennemsnitsværdi. Hvis udtrykket evalueres til et tal, returnerer funktionen gennemsnittet af tallene. Hvis udtrykket evalueres til en dato, returnerer funktionen gennemsnitsdatoen.
Total.ave( expr [, filter [, group ]] )
Funktionen returnerer gennemsnitsværdien af det angivne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Følgende sætning returnerer gennemsnitsalderen for elever i en klasse:
Brug følgende sætning til at returnere gennemsnitsfødselsdatoen for elever i en klasse:
Beregningsfunktionen Total.median
Beregningsfunktionen Total.mode
Beregningsfunktionen Total.movingAve
Beregningsfunktionen Total.stdDev
Beregningsfunktionen Total.variance
Beregningsfunktionen Total.weightedAve
Funktionen tæller antallet af rækker i gruppen.
Total.count( [ filter [, group ]] )
I eksemplet tælles antallet af drenge og piger i en klasse. De to dataelementer skal oprettes. Angiv den første til:
Angiv den anden til:
Beregningsfunktionen Total.countDistinct
Beregningsfunktionen Total.sum
Funktionen beregner antallet af forskellige værdier i gruppen eller datasættet. Argumentet expr angiver det udtryk, værdierne skal grupperes efter. Udtrykket refererer til en datarækkekolonne. Flere NULL-værdier tælles som én værdi.
Total.countDistinct( expr [, filter [, group ]] )
Antallet af forskellige værdier i gruppen eller datasættet. Returnerer nul, hvis der ikke er nogen tilgængelige rækker.
Antag, at du vil finde ud af, hvor mange forskellige lande en gruppe elever repræsenterer. Du kan definere et dataelement, der bruger følgende udtryk:
I sætningen er row.Land en kolonne, der indeholder navnet på eller landekoden for elevens hjemland. Antag, at nogle rækker indeholder NULL, fordi hjemlandet er ukendt. Brug følgende sætning til at udelade rækkerne fra antallet:
Beregningsfunktionen Total.count
Beregningsfunktionen returnerer den første værdi, der forekommer i et datasæt. Det er den første værdi, der hentes fra datasættet, når der hentes rækker i den sorteringsrækkefølge, der er defineret for tabellen eller listen.
Total.first( expr [, filter [, group ]] )
Funktionen returnerer den første værdi, der forekommer i rækkesekvensen, eller NULL, hvis datasættet ikke indeholder nogen rækker.
Antag, at rapporten viser transaktioner for et bestemt værdipapir i en periode. Følgende sætning viser den tidligste købstransaktion for værdipapiret:
Beregningsfunktionen Total.isBottomNPercent
Beregningsfunktionen Total.max
Beregningsfunktionen Total.min
Funktionen returnerer en boolesk værdi, der angiver, om værdien af et angivet numerisk felt er en af de laveste n værdier.
Total.isBottomN(expr, n, [, filter [, group ]] )
Funktionen returnerer true eller false. Funktionen returnerer true, hvis værdien i det numeriske felt findes blandt de nederste n af alle kolonnens værdier.
Antag, at en rapportkolonne har fem rækker, der henholdsvis indeholder værdien 1, 2, 3, 4 og 5. Total.isBottomN(expr, 2) undersøger, om det felt, som repræsenteres af expr, indeholder 1 eller 2 - de to laveste tal i kolonnen.
Funktionen returnerer en boolesk værdi, der angiver, om værdien af et angivet numerisk felt er blandt de nederste n procent af alle værdierne i kolonnen.
Total.isBottomNPercent(expr, n, [, filter [, group ]] )
Funktionen returnerer true eller false. Funktionen returnerer true, hvis værdien i feltet findes blandt de nederste n procent af alle kolonnens værdier.
Antag, at en rapportkolonne har fem rækker, der henholdsvis indeholder værdien 1, 2, 3, 4 og 5. Total.isBottomNPercent(expr, 60) undersøger, om det felt, som repræsenteres af expr, indeholder 1, 2 eller 3 - de laveste 60 procent af tallene i kolonnen.
Funktionen returnerer en boolesk værdi, der angiver, om værdien af et angivet numerisk felt er en af de højeste n værdier.
Total.isTopN(expr, n, [, filter [, group ]] )
Funktionen returnerer true eller false. Funktionen returnerer true, hvis værdien i det numeriske felt findes blandt de øverste n for alle kolonnens værdier.
Antag, at en rapportkolonne har fem rækker, der henholdsvis indeholder værdien 1, 2, 3, 4 og 5. Total.isTopN(expr, 2) undersøger, om det felt, som repræsenteres af expr, indeholder 4 eller 5 - de to højeste tal i kolonnen.
Funktionen returnerer en boolesk værdi, der angiver, om værdien af et angivet numerisk felt er blandt de øverste n procent af alle værdierne i kolonnen.
Total.isTopNPercent(expr, n, [, filter [, group ]] )
Funktionen returnerer true eller false. Funktionen returnerer true, hvis værdien i feltet findes blandt de øverste n procent af alle kolonnens værdier.
Antag, at en rapportkolonne har fem rækker, der henholdsvis indeholder værdien 1, 2, 3, 4 og 5. Total.isTopNPercent(expr, 60) undersøger, om det felt, som repræsenteres af expr, indeholder 3, 4 eller 5 - de højeste 60 procent af tallene i kolonnen.
Funktionen returnerer den sidste værdi, der forekommer i et datasæt. Det er den sidste værdi, der hentes fra datasættet, når der hentes rækker i den sorteringsrækkefølge, der er defineret for tabellen eller listen.
Total.last( expr [, filter [, group ]] )
Funktionen returnerer den sidste værdi, der forekommer i rækkesekvensen, eller NULL, hvis datasættet ikke indeholder nogen rækker.
Antag, at rapporten viser transaktioner for et bestemt værdipapir i en periode. Følgende sætning viser den seneste salgstransaktion for værdipapiret:
Beregningsfunktionen Total.first
Beregningsfunktionen Total.max
Beregningsfunktionen Total.min
Funktionen beregner den højeste værdi for det givne udtryk. Udtrykket evalueres for hver række, og den største værdi bevares. Funktionen fungerer med datatyperne tal, dato og streng.
Total.max( expr [, filter [, group ]] )
Funktionen returnerer den højeste værdi for det givne udtryk. Den returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Følgende sætning finder den ældste elev i en klasse:
Beregningsfunktionen Total.first
Beregningsfunktionen Total.isBottomNPercent
Beregningsfunktionen Total.min
Beregningsfunktionen beregner den matematiske medianværdi. Halvdelen af værdierne findes over medianen og halvdelen under.
Total.median( expr [, filter [, group ]] )
Funktionen returnerer en medianværdi for det givne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Følgende sætning returnerer medianalderen for elever i en klasse:
Følgende sætning kan bruges til at returnere medianfødselsdatoen for elever i en klasse:
Beregningsfunktionen Total.ave
Beregningsfunktionen Total.mode
Beregningsfunktionen Total.movingAve
Beregningsfunktionen Total.stdDev
Beregningsfunktionen Total.variance
Beregningsfunktionen Total.weightedAve
Beregningsfunktionen beregner den mindste værdi for det givne udtryk. Udtrykket evalueres for hver række, og den mindste værdi bevares. Funktionen fungerer med alle simple typer: tal, dato eller streng.
Total.min( expr [, filter [, group ]] )
Funktionen returnerer den laveste værdi for det givne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Følgende sætning returnerer alderen på den yngste elev i en klasse:
Beregningsfunktionen Total.first
Beregningsfunktionen Total.isBottomNPercent
Beregningsfunktionen Total.max
Beregningsfunktionen beregner den matematiske typeværdi. Typeværdien eller modalværdien er den værdi, der forekommer hyppigst i dataene. I sekvensen {1, 2, 3, 2, 4, 7} er 2 typeværdien, fordi tallet forekommer to gange, mens alle de andre tal kun forekommer én gang. Hvis et datasæt har flere typeværdier, f.eks. i sekvensen {1,2,3,2,3}, returnerer typeberegningen NULL.
Total.mode( expr [, filter [, group ]] )
Funktionen returnerer en typeværdi for det givne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker, eller hvis datasættet har mere end én typeværdi.
Følgende sætning returnerer den alder, som flest elever i en klasse har:
Beregningsfunktionen Total.ave
Beregningsfunktionen Total.median
Beregningsfunktionen Total.movingAve
Beregningsfunktionen Total.stdDev
Beregningsfunktionen Total.variance
Beregningsfunktionen Total.weightedAve
Beregningsfunktion beregner et løbende gennemsnit. Argumentet expr angiver den værdi, gennemsnittet skal findes af, og argumentet window angiver det antal rækker, der skal behandles. Gennemsnittet af rækkerne beregnes i den rækkefølge, som bestemmes af konteksten, normalt den rækkefølge, der angives af sorteringen for liste- eller tabelelementet.
Total.movingAve( expr, window [, filter [, group ]] )
Funktionen returnerer en løbende gennemsnitsværdi af det angivne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Antag, at en rapport viser dagskursen for et værdipapir. Følgende sætning kan bruges til at få vist det løbende gennemsnit for værdipapiret i de seneste fem dage:
Beregningsfunktionen Total.ave
Beregningsfunktionen Total.median
Beregningsfunktionen Total.mode
Beregningsfunktionen Total.stdDev
Beregningsfunktionen Total.variance
Beregningsfunktionen Total.weightedAve
Funktionen undersøger et sæt værdier, og returnerer den værdi, som findes ved en angivet fraktil for alle værdierne i sættet. Den kan f.eks. bruges til at finde det resultat, der repræsenterer den 90. fraktil for alle testresultater.
Funktionen returnerer den værdi, som findes på den angivne fraktil i sættet med analyserede værdier.
Følgende sætning returnerer resultatværdien på 50. fraktil:
Hvis sættet af testresultater i den angivne kolonne er 10, 20, 30, 40 og 50, returnerer sætningen 30.
Funktionen beregner den procentvise rang for en værdi i et angivet felt.
percentRank( expr, filter [, group ]] )
Funktionen returnerer den procentvise rang for en værdi i et angivet felt. Returværdien ligger i intervallet fra nul til 1.
Følgende sætning returnerer et resultats procentvise rang blandt alle resultaterne i en kolonne:
Hvis resultaterne i evalueringsområdet er 10, 10, 20 og 50, og resultatet i den celle, der indeholder sætningen, er 30, er returværdien 0,5, da halvdelen af værdierne er over 20, og halvdelen er under 20.
Funktionen beregner en sum.
percentSum( expr [, filter [, group ]] )
Funktionen returnerer denne værdis bidrag i procent til summen af alle værdierne i området.
Følgende sætning returnerer dette ordrebeløbs bidrag i procent til summen af alle ordrebeløb:
Funktionen beregner den værdi i et defineret sæt værdier, som er mindre end 0 %, 25 %, 50 %, 75 % eller 100 % af værdierne i sættet.
quartile( expr, quartile, [, filter [, group ]] )
Funktionen returnerer den værdi i det angivne sæt, der ligger på den angivne kvartil.
Følgende sætning returnerer det ordrebeløb, for hvilket der findes 75 % mindre beløb og 25 % større:
Funktionen beregner en værdis rang i forhold til et sæt værdier. Rangværdien kan ligge fra 1 til antallet af værdier i sættet. Hvis to værdier er ens, har de samme rang.
rank( expr [, filter [, group ]] )
Funktionen returnerer et heltal, der afspejler værdiens rang, og har et interval fra 1 til antallet af elementer i værdisættet
Følgende sætning returnerer rangen for feltet OrdreBeloeb i forhold til alle beløbene i kolonnen OrdreBeloeb.
Funktion beregner et løbende antal rækker.
runningCount( filter [, group ]] )
Funktion returnerer det løbende antal rækker.
Følgende sætning returnerer det løbende antal for en rapport:
Beregningsfunktionen Total.count
Beregningsfunktionen Total.percentRank
Beregningsfunktionen beregner den statistiske standardafvigelse for en række tal. Standardafvigelsen er et mål for et sæt værdiers spredning.
Total.stdDev( expr [, filter [, group ]] )
Funktionen returnerer en standardafvigelse for det givne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Beregningsfunktionen Total.ave
Beregningsfunktionen Total.median
Beregningsfunktionen Total.mode
Beregningsfunktionen Total.movingAve
Beregningsfunktionen Total.variance
Beregningsfunktionen Total.weightedAve
Beregningsfunktionen beregner en sum, der fremkommer, ved at en værdi for hver række i gruppen lægges sammen med hinanden. Værdien for hver række beregnes ud fra det udtryk, der angives i argumentet expr. Summen findes, ved at alle disse værdier lægges sammen.
Total.sum( expr [, filter [, group ]] )
Summen af det givne udtryk. Returnerer nul, hvis der ikke er nogen tilgængelige rækker.
Følgende sætning finder de samlede ordrebeløb for en kunde:
Beregningsfunktionen Total.count
Beregningsfunktionen Total.percentRank
Beregningsfunktionen beregner den statistiske varians for en række tal. Variansen er et mål for et sæt værdiers spredning.
Total.variance( expr [, filter [, group ]] )
Funktionen returnerer variansen for det givne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Beregningsfunktionen Total.ave
Beregningsfunktionen Total.median
Beregningsfunktionen Total.mode
Beregningsfunktionen Total.movingAve
Beregningsfunktionen Total.stdDev
Beregningsfunktionen Total.weightedAve
Beregningsfunktionen beregner den matematiske, vægtede gennemsnitsværdi. Hvis enten argumentet expr eller weight evalueres til NULL, udelades rækken i gennemsnittet.
Total.weightedAve( expr, weight [, filter [, group ]] )
Funktionen returnerer den vægtede gennemsnitsværdi af det angivne udtryk. Returnerer NULL, hvis der ikke er nogen tilgængelige rækker.
Antag, at et finansprogram holder styr på de portioner, der er købt af et givet værdipapir på forskellige tidspunkter. De enkelte portioner har hver sin købspris og hver sit antal aktier, der er købt til den pris. Følgende sætning beregner den vægtede gennemsnitskøbspris:
Beregningsfunktionen Total.ave
Beregningsfunktionen Total.median
Beregningsfunktionen Total.mode
Beregningsfunktionen Total.movingAve
Beregningsfunktionen Total.stdDev
Beregningsfunktionen Total.variance
![]() ![]() |