Functievelden in de nieuwe RapportGenerator

Bij het samenstellen van een rapport gebruik je de velden uit de gegevensverzameling. Je kunt echter ook zelf velden toevoegen, dit zijn de functievelden. Er zijn verschillende soorten functievelden:

  • Tekstblok

    Met een tekstblok kun je vaste tekst in een rapport plaatsen, eventueel in combinatie met velden. Je kunt de tekst ook opmaken.

  • Conditionele inhoud

    Op basis van een filter wordt een bepaalde waarde getoond.

  • Totalisatie

    Bepalen van de som, het gemiddelde, de laagste waarde of de hoogste waard van een veld, of van het aantal regels.

  • Berekening

    Je kunt een rekenveld toevoegen voor een berekening in het rapport. Bijvoorbeeld, wat is het effect van 10% korting? Maak een rekenveld met de inhoud Verkoopprijs*0,9 en klaar ben je!

De mogelijkheden van rekenvelden zijn uitgebreid. Je hebt nu functies om bijvoorbeeld een negatief getal om te zetten in een positief getal, kijken of een veld een waarde heeft, een tekst omzetten in hoofdletters, etc.

Je kunt functievelden nu ook kopiƫren.

Inhoud

  • Tekstblok
  • Conditionele inhoud
  • Veld met Totalisatie
  • Rekenvelden
  • Functies gebruiken in Rekenvelden
Tekstblok

Gebruik een tekstblok om velden en tekst te combineren. Hierbij nemen de velden precies de ruimte in die nodig is, waardoor je onnodige/ongewenste witruimte voorkomt. Je kunt de tekst opmaken en de tekst kan enters bevatten.

Let op:

Gebruik een tekstblok niet als je een label boven een veld wilt toevoegen. Voor meer informatie, zie Label toevoegen.

Tekstveld invoegen:

  1. Plaats de muis op Functievelden en klik op +.

    Vul de veldnaam in en selecteer Tekstblok.

  2. Combineer tekst en velden.

    In het onderstaande voorbeeld zijn de velden gecombineerd met haakjes:

    Org. eenheid omschrijving (Org. eenheid)

  3. Als je op een veld klikt, heb je nog enkele extra opties. Bij tekstvelden bepaal je bijvoorbeeld of deze in hoofdletters of kleine letters worden afgedrukt. Bij bedragvelden bepaal je bijvoorbeeld hoeveel cijfers achter de komma moeten worden afgedrukt.

  4. Het resultaat kan er als volgt uitzien. De teksten sluiten keurig op elkaar aan, ook al hebben deze steeds een andere lengte.

Functieveld dupliceren:

  1. Plaats de muis op het te dupliceren veld.
  2. Klik op de puntjes en dan op Dupliceren.

Hyperlink in een tekstblok plaatsen:

Je kunt een hyperlink naar een externe site in het rapport opnemen.

  1. Selecteer de tekst waar de hyperlink onder moet komen.
  2. Klik op de knop .

  3. Vul de URL in.

  4. Druk op: Enter.
Conditionele inhoud

Met conditionele inhoud wordt de waarde van een veld bepaald op basis van een conditie.

Enkele voorbeelden:

  • Op de saldilijst debiteuren staan de velden Saldo en Kredietlimiet. De kredietlimiet mag uiteraard niet overschreden worden. Daarom maak je een tekstveld met de conditie Saldo > Kredietlimiet. Als aan deze conditie voldaan wordt, toon je de tekst 'Saldo te hoog!' op het rapport.
  • Je wilt ook weten in hoeverre de kredietlimiet overschreven wordt. Dat valt eenvoudig te berekenen.
  • Als de kredietlimiet 0 is. dan niets doen.

In het filter kun je geen tags gebruiken.

Functieveld met conditionele inhoud toevoegen:

In deze stappen wordt het volgende voorbeeld gebruikt. Elk cursusevenement heeft een bepaalde minimumbezetting. Dit is het minimumaantal deelnemers. Als het feitelijke aantal ingeschreven deelnemers onder het minimumaantal ligt, dan moet de tekst Onderbezet! op het rapport getoond worden.

  1. Plaats de muis op Functievelden en klik op +.

Vul de veldnaam in. Deze moet uniek zijn en mag niet voorkomen in de gegevensverzameling.

  1. Selecteer Conditionele inhoud bij Functie.
  2. Selecteer bij type wat je wilt zien bij uitvoer. Wil je bijvoorbeeld een tekst tonen op het rapport, dan selecteer je Tekst, wil je een nummer/getal, dan selecteer je Nummer, etc.
  3. Klik op Conditie toevoegen.

    Vul de conditie in. Je kunt bijvoorbeeld twee velden vergelijken, zoals in het onderstaande voorbeeld.

  4. Na het toevoegen van de conditie vul je de tekst in die getoond moet worden:

  5. Je kunt meerdere condities toevoegen, elk met een eigen tekst. Het kan natuurlijk voorkomen dat aan geen enkele conditie voldaan wordt, dan gebruik je het onderdeel Anders om toch iets te tonen.
  6. Plaats het functieveld in het rapport.
  7. Controleer het voorbeeld.

Veld met Totalisatie

Bepalen van de som, het gemiddelde, de laagste waarde of de hoogste waard van een veld, of van het aantal regels. Je kunt een veld van het type Totalisatie gebruiken in andere rekenvelden en in tekstblokken.

Als je alleen een totaal nodig hebt in de totalensectie, dan hoef je hiervoor geen totalisatieveld te gebruiken. Zie verder Velden totaliseren en transporttotalen. Een veld dat in de totalensectie getotaliseerd is, kan echter niet gebruikt worden in berekening. Daarvoor heb je een veld van het type Totalisatie nodig.

Functieveld van het type Totalisatie toevoegen:

  1. Plaats de muis op Functievelden en klik op +.

  2. Vul de veldnaam in. Deze moet uniek zijn en mag niet voorkomen in de gegevensverzameling.
  3. Selecteer Totalisatie bij Functie.
  4. Selecteer de bewerking.

Rekenvelden

Met een functieveld kun je een berekening uitvoeren met rapportvelden. Een veld met een berekening noemen we een rekenveld.

Functieveld met een berekening toevoegen:

  1. Plaats de muis op Functievelden en klik op +.

  2. Vul de veldnaam in. Deze moet uniek zijn en mag niet voorkomen in de gegevensverzameling.
  3. Selecteer Berekening bij Functie.
  4. Vul de berekening in.

    Om de rekenvelden en functies te zien, klik je op het pijltje.

  5. Je kunt hierbij gebruik maken van de velden die aan de rechterkant staan. Hier staan alleen velden die geschikt zijn voor een berekening (aantallen en bedragen).

    Je kunt een veld selecteren in de lijst, of beginnen met typen. Als je in de onderstaande situatie bijvoorbeeld curs typt, dan wordt dit automatisch aangevuld tot Cursusprijs. Druk op Enter en vul de rest van de formule in.

  6. Klik op: Opslaan.
  7. Sleep het veld in het rapport. Het voorbeeld kan er bijvoorbeeld zo uitzien:

    Je hebt dezelfde mogelijkheden als bij andere velden in het rapport, waaronder veld totaliseren, opmaak, conditionele opmaak en conditionele zichtbaarheid.

Rekenveld gebruiken in een ander rekenveld:

Je kunt een rekenveld ook gebruiken in een ander rekenveld.

In de bovenstaande stappen wordt de omzet per cursusevenement uitgerekend, door het aantal deelnemers te vermenigvuldigen met de cursusprijs.

In het onderstaande voorbeeld wordt de gemiste omzet berekend. Elke cursus heeft immers een maximaal aantal deelnemers, maar meestal is het ingeschreven aantal deelnemers lager. De gemiste omzet is de maximale omzet - de feitelijke omzet. De berekening is als volgt:

Functies gebruiken in Rekenvelden

Voor specifieke bewerkingen in rekenvelden gebruik je functies. Enkele voorbeelden:

  • De waarde van een veld omzetten in een positief getal.
  • Een numeriek veld omzetten in tekst of omgekeerd.
  • Een tekst omzetten in hoofdletters of kleine letters.
  • Bepalen of een veld inhoud heeft.

Je ziet hieronder eerst hoe je functies gebruikt. Daarna volgt een uitleg per functieveld.

Let op:

Er is een verschil tussen de bewerking op basis van een functie en de presentatie van het veld in het rapport.

Je kunt bijvoorbeeld het veld TotaalAfgerond aanmaken, waarbij je een bedrag afrondt op gehele getallen (aantal decimalen =0). Hierdoor wordt bijvoorbeeld de waarde 50,25 afgerond naar 50. Als je het veld TotaalAfgerond gebruikt in een berekening, dan wordt gerekend met de waarde 50.

Als je het veld TotaalAfgerond in het rapport sleept, kunnen de bedragen nog steeds met decimalen getoond worden, bijvoorbeeld 50,00. Om te zorgen dat het bedrag als 50 getoond wordt, moet je de presentatie aanpassen.

Functies gebruiken:

In dit voorbeeld wordt een functie gebruikt waarmee je het weeknummer van een datum kunt bepalen.

  1. Maak een rekenveld aan.
  2. Open de rubriek Functies.
  3. Klik op de functie die je wilt gebruiken.

  4. Vul de instellingen voor het gebruik van de functie in.

    In dit voorbeeld selecteer je alleen een datumveld.

  5. Klik op: Opslaan.

Is leeg(veld)

Kijk of het veld een waarde heeft.

  • 1 als het veld leeg is (geen inhoud heeft)
  • 0 als het veld niet leeg is.

Als je het veld in het rapport zet, dan kun je de presentatie aanpassen via de instelling Tonen als checkbox.

  • Als je deze instelling aanvinkt, dan zie je in het rapport een aangevinkte of uitgevinkte checkbox.
  • Als je deze instelling uitvinkt, dan zie je in het rapport de waarde Nee of Ja.

Bepaal datum / Bepaal datum en tijdstip

  • Bepaal datum

    Stel een datum samen op basis van dag, maand en jaar. Het formaat (in Nederland) is standaard dd-mm-jjj, bijvoorbeeld 01-02-2027.

  • Bepaal datum en tijdstip

    Stel een datum samen op basis van dag, maand, jaar, uren, minuten, seconden. Het formaat (in Nederland) is standaard dd-mm-jjj uu:mm:ss, bijvoorbeeld 01-02-2027 02:45:30.

Bewerkingen op datum

  • Dag van datum
  • Uur van tijdstip
  • Minuut van tijdstip
  • Maand van datum
  • Seconde van tijdstip
  • Weeknummer van datum
  • Jaar van datum

Bewerkingen van getallen

  • Absolute waarde

    Geeft altijd een positieve waarde terug. Als de waarde bijvoorbeeld -100 is, dan geeft het veld de waarde 100 terug. Als het veld de waarde 100 heeft, dan geeft het veld ook de waarde 100 terug.

  • Maximale waarde

    Geeft de hoogste waarde van alle regels terug. Als de detailsectie bijvoorbeeld 50 regels bevat, dan wordt in die regels gekeken wat de hoogste waarde is en deze wordt teruggegeven.

  • Minimale waarde

    Geeft de laagste waarde van alle regels terug.

  • Afronden

    Rond een getal af op een aantal decimalen. Je bepaalt hoeveel decimalen je wilt hebben en wat de afrondingsmethode is.

    De bewerking Afronden naar even houdt in, dat wordt afgerond naar het dichtstbijzijnde even getal. Bijvoorbeeld: 2,9 wordt afgerond naar 2 en 3,1 wordt afgerond naar 4.

    De bewerking Afronden van de nul af, houdt in een positief getal wordt afgerond op een hoger getal en een negatief getal wordt afgerond op een lager getal. Bijvoorbeeld: 2,4 wordt afgerond naar 3 en - 2,4 wordt afgerond naar -3.

Bewerkingen van teksten

  • Einde van tekst

    Geeft het laatste aantal tekens van een tekst terug.

    Als je bijvoorbeeld van de tekst AFAS Software de laatste 8 tekens teruggeeft, dan is het resultaat Software.

  • Laatste positie in tekst

    Geeft de positie van een zoektekst in een tekst terug.

    Als de zoektekst gevonden wordt, dan levert dit de eerste positie op. Als de zoektekst niet gevonden wordt. dan is het resultaat 0.

    Voorbeeld

    In het veld Artikelomschrijving staan omschrijvingen zoals Schep [X001], Tuinslang [X002], Tuinaanleg, etc.

    Je wilt weten op welke positie de codes staan, deze beginnen altijd met [X.

    Je maakt een functieveld op het veld Artikelomschrijving waarbij gezocht wordt op [X.

    Bij Schep [X001] is het resultaat 7, Bij Tuinslang [X002] is het resultaat 11, etc.

    Bij Tuinaanleg is het resultaat 0, want dit artikel bevat de zoektekst niet.

    Standaard wordt van links naar rechts door de tekst gezocht en de eerste keer dat een zoektekst wordt gevonden, levert dit een resultaat op. Als de zoektekst twee keer voorkomt, dan levert alleen de eerste resultaat op. Bij het artikel Hark [X001] groot [X0011] is het resultaat 6.

    Er zijn twee manieren om af te wijken van het zoeken van links naar rechts:

    • Startpositie

      Begin met zoeken vanaf een bepaalde positie. Bij startpositie 8 bijvoorbeeld, zal Schep [X001] het resultaat 0 opleveren. Bij Tuinslang [X002] is het resultaat 11.

      Als de startpositie groter is dan de lengte van de tekst, dan levert dit een foutmelding op. Bij Schep [X001] bijvoorbeeld, kan de startpositie niet 20 zijn. De tekst Schep [X001] zelf heeft immers maar een lengte van 16 tekens.

    • Zoekrichting

      Standaard zoekt deze functie door de tekst van links naar rechts. Door de zoekrichting te veranderen, zoek je van rechts naar links.

    Daarnaast kun je in het veld Manier van vergelijken bepalen of je wel of niet hoofdlettergevoelig wilt zoeken.

  • Deel van tekst

    Geeft een deel van de tekst terug vanaf een bepaalde startpositie. Je kunt de lengte van het terug te geven resultaat opgeven. Als je dit niet doet, dan krijg je vanaf de startpositie de hele tekst terug als resultaat.

    Voorbeeld

    In het veld Cursuscode staan codes zoals EnYoi-001, EnYoi-002, Enyoi-003, Enyoi-003 Light, etc.

    Je maakt een functieveld op het veld Cursusomschrijving waarbij vanaf positie 7 een resultaat van 3 posities moet worden teruggegeven. Het resultaat is 001, 002, 003, 003, etc. Je hebt nu 2x de code 003 in het resultaat, daarom laat je de lengtebeperking van 3 tekens weg. Het resultaat is 001, 002, 003, 003 Light, etc.

  • Vervangen in tekst

    Zoek een tekst en vervang deze door een andere tekst.

  • Begin van tekst

    Geeft het eerste deel van de tekst terug op basis van een aantal tekens, bijvoorbeeld de eerste 10 tekens van een omschrijving.

  • Lengte van tekst

    De lengte van de tekst (het aantal tekens).

  • Kleine letters

    Zet de hele tekst om in kleine letters.

  • Hoofdletters

    Zet de hele tekst om in hoofd letters.

  • Spaties aan het einde verwijderen

    Verwijder alle spaties aan het einde van de tekst.

  • Spaties aan het begin verwijderen

    Verwijder alle spaties aan het begin van de tekst.

  • Spaties verwijderen

    Verwijder alle spaties aan het begin en einde van de tekst.

Bewerkingen van tijdsduur

  • Bepaal tijdsduur

    Geef de tijdsduur weer in het formaat uu:mm:ss.

  • Tijdsduur in aantal dagen
  • Tijdsduur in aantal uren

    Geef de tijdsduur aan in uren en decimalen. De tijd 10:30 bijvoorbeeld, wordt getoond als 10,5 uren.

  • Tijdsduur in aantal minuten

    Geef de tijdsduur aan in minuten. De tijd 10:30 bijvoorbeeld, wordt omgerekend naar minuten en getoond als 630,00 minuten.

  • Tijdsduur in aantal seconden

    Geef de tijdsduur aan in seconden. De tijd 00:05:20 bijvoorbeeld, wordt omgerekend naar seconden en getoond als 320,00 seconden.

  • Tijdsduur in aantal weken

    Geef de tijdsduur aan in weken.

Conversie van waarde

  • Converteer naar Ja/Nee

    De waarde 1 wordt geconverteerd naar Ja en de waarde 0 wordt geconverteerd naar Nee.

  • Converteer naar datum
  • Converteer naar unieke code (GUID)

    Deze code converteert een hex-string naar een GUID. Bijvoorbeeld de hex-string 08cd03ea-61e7-4dc7-b0be-e05d3f0a72e4 wordt geconverteerd naar de GUID 08cd03ea61e74dc7b0bee05d3f0a72e4.

  • Converteer naar getal
  • Converteer naar tekst
  • Converteer naar tijd
  • Converteer naar tijdsduur