In de volgende paragrafen is in 6 stappen beschreven hoe een eenvoudig dynamisch rapport in Swing te maken is. Voor het maken van een rapport dient men te zijn ingelogd in Studio.
Rapport aanmaken in Studio
Ga in het menu via ‘Weergave’ naar ‘Rapporten’. De pagina ‘Rapporten’ opent zich in hetzelfde scherm.
Klik onderaan de pagina ‘Rapporten’ op de button ‘Item toevoegen’ om een nieuw rapport aan te maken. Een pop-up met de rapportinstellingen opent zich.
Hierin zijn de volgende kenmerken van het rapport in te stellen:
- Rapportcode: unieke code die is opgebouwd uit uitsluitend letters, cijfers en/of een underscore (standaard staat hier een willekeurige code, die te wijzigen is)
- Naam: de naam van het rapport is zichtbaar in de themaboom en bovenin het weergavescherm
- Vast rapport: voor een vast rapport (bijvoorbeeld een pdf) moet deze optie zijn aangevinkt
- Type: de meest gebruikte typen zijn pdf voor vaste rapporten en html (nodig voor dit rapport) voor dynamische rapporten
- Bestandsnaam: bij een vast rapport wordt hier een bestand (pdf) gekoppeld, dat is opgenomen bij de rapportbestanden
- WordTemplate: voor de download van het rapport in Word wordt hier een Wordsjabloon opgegeven, dat is opgenomen bij de rapportbestanden (optioneel)
- PowerPointTemplate:voor de download van het rapport in Powerpoint wordt hier een Powerpointsjabloon opgegeven, dat is opgenomen bij de rapportbestanden (optioneel)
- Beschrijving: mogelijkheid om een korte beschrijving voor bij het rapport op te geven (optioneel)
- Meer informatie: mogelijkheid om link naar een informatiebestand of andere website op te geven (optioneel)
- Openen in een nieuw venster: optie om het rapport te openen in een nieuw venster (standaard uit)
- Pdf export toegestaan: optie om het rapport te kunnen downloaden in pdf (standaard aan)
- Word export toegestaan: optie om het rapport te kunnen downloaden in Word (standaard aan)
- Powerpoint export toegestaan: optie om het rapport te kunnen downloaden in Word (standaard aan)
- UseUserLayout: indien deze optie is ingeschakeld dan wordt de opmaak gebruikt welke is gedefinieerd bij de gebruikersgroep
- Zoektermen: vul hier algemene zoektermen in voor dit rapport, gebruik aanhalingsteken om zoektermen van elkaar te scheiden. De zoektermen worden door Swing gebruikt om het zoekresultaat te optimaliseren
- Gebruik Base href: deze instelling zorgt ervoor dat er een base element toegevoegd wordt aan de pagina. Daarin staat een verwijzing naar de rapportbestanden map waar bijvoorbeeld stylesheets en scripts in staan. Als deze instelling uit staat moet ervoor gezorgd worden dat de link naar een stylesheet of script rechtstreeks gelinkt wordt dus met de hele url in de verwijzing. Het grote nadeel van het uitzetten van deze instelling is dat de links steeds moeten worden aangepast bij het wisselen tussen de live en studio omgeving.
- Gebruik Scroll script: als "Gebruik Base href" aanstaat werken interne links niet meer goed, bijvoorbeeld bij een inhoudsopgave. Een oplossing hiervoor is het aanzetten van de instelling "Gebruik Scroll script", hiermee wordt javascript toegevoegd aan het rapport dat ervoor zorgt dat de links weer goed werken.
Klik na het invullen van de velden op ‘Ok’ om de kenmerken op te slaan en het rapport aan te maken. Het rapport is toegevoegd in een nieuwe regel.
Door te klikken op het veld ‘Inhoud’ opent zich een pop-up waarin het mogelijk is de inhoud van het rapport aan te passen. Standaard is het rapport voorzien van enkele noodzakelijke regels html, waaronder de ‘title’ en de verwijzing naar het stijlbestand (css). Vul de titel in tussen de elementen
en en wijzig indien nodig de verwijzing naar het stijlbestand of de naam van het stijlbestand. Klik op ‘Ok’ om de wijzigingen op te slaan.
Presentaties maken in Viewer
Ga in het menu via ‘Versie’ naar ‘Testen’ om de testversie op te starten.
Maak in de testversie de presentaties aan die in het rapport zullen worden weergegeven. Maak hiervoor gebruik van de tabbladen (klik op het plusje om een nieuw tabblad toe te voegen, zie de rode rechthoek in het onderstaande voorbeeld) om meerdere presentaties in één rapport weg te kunnen schrijven. Als alle presentaties gemaakt zijn open dan het menu linksboven door op te klikken.
Kies onderin het menu voor ‘Toevoegen als rapport (studio)’ om de presentaties op te slaan als een nieuw rapport in Studio. Er verschijnt pop-up met de melding dat het rapport is opgeslagen.
SRL code toevoegen
Ga terug naar de pagina ‘Rapporten’ in Studio. Het zojuist aangemaakte rapport is hier opgeslagen. Als het rapport nog niet zichtbaar is, druk op F5 om de pagina te verversen. Hierna zou het rapport zichtbaar moeten zijn.
Klik bij het nieuwe rapport op ‘Inhoud’ om de inhoud van het rapport te bekijken. In de nieuw geopende pop-up is de code van het rapport zichtbaar. Voor het opvragen van de presentaties in het rapport is een speciale rapportcode gebruikt genaamd Swing Report Language (SRL). SRL begint en eindigt altijd met een hashtag (‘#’). Hieronder een korte uitleg van de SRL die gebruikt is om een presentatie te definiëren in een rapport:
- #
De SRL wordt geopend met een hashtag (‘#’).
- pres_1 = Presentation {Hier wordt een presentatie gedefinieerd met als naam ‘pres_1’. De presentatie wordt geopend met een accolade (‘{’).
- Selection {Dit is de selectie die wordt gebruikt in de presentatie. Hierin staan per regel de onderwerpen, perioden, gebieden en (eventueel) gebiedsvergelijkingen vermeld. Als er van een type meerdere items geselecteerd zijn, betreft het een lijst. Een lijst wordt gedefinieerd binnen blokhaken en de items worden gescheiden door een komma (‘,’). In het bovenstaande voorbeeld is dit zichtbaar in de regels met Ind., Per. en Compare. Elke regel wordt afgesloten met een puntkomma (‘;’).
- [Ind.pbev0014, Ind.pbev1524, Ind.pbev2534, Ind.pbev3544];Dit zijn de onderwerpen. De onderwerpcodes worden voorafgegaan door ‘Ind.’ (van Indicator). Bij gebruik van kubusdata wordt de kubus opgenomen als onderwerp (‘Ind.’). De opvraag van kubusdata kan worden verfijnd door voor elke gewenste dimensie een extra regel op te nemen met de code van de dimensie of de codes van de dimensie-items. Om aan te geven dat het om een dimensie(-item) gaat wordt de code voorafgegaan door ‘Dim.’ (van Dimension), bijvoorbeeld ‘[Dim.leeftijd_0, Dim.leeftijd_1, Dim.leeftijd_2, Dim.leeftijd_3];’
- [Per._2000, Per._2001, Per._2002, Per._2003];Dit zijn de gekozen perioden, die voorafgegaan worden gegaan door ‘Per.’ (van Period). Het liggende streepje (‘_’) geeft aan dat het een code is in plaats van een getal.
- Geo.gemeente._503;Dit is het gekozen gebied. ‘Geo.’ geeft aan dat het over een gebied gaat, vervolgens geeft ‘gemeente’ aan dat het gebiedsniveau gemeente is en ‘_503’ is de gebiedscode, gescheiden van elkaar door een punt (‘.’). Het liggende streepje bij de gebiedscode geeft aan dat het om een code gaat in plaats van een getal.
- Compare: [Geo.provincie._9, Geo.nederland._1]; (optioneel)Via ‘Compare’ worden de vergelijkingsgebieden gekozen, in dit geval provincie en Nederland. Deze codes zijn op dezelfde manier opgebouwd als hierboven beschreven bij ‘Geo.gemeente._503’.
- };De selectie wordt afgesloten door een accolade (‘}’).
- View: Table;Via ‘View’ wordt de presentatievorm gekozen, in dit voorbeeld een tabel (‘Table’).
- }De presentatie wordt afgesloten met een accolade (‘}’).
- #SRL wordt afgesloten met een hashtag (‘#’).
Met de codes 'Ind.', 'Per.' en 'Geo.' wordt dus aangegeven dat het om respectievelijk een onderwerp, periode of gebied gaat. Dit is van belang om eventuele conflicten in de Studio database te voorkomen. Indien bijvoorbeeld
gelijknamige objecten (onderwerp-, bron-, eenheidscode etc.) in de database aanwezig zijn, kan dit voor problemen zorgen. Wordt bijvoorbeeld, in plaats van 'Geo.gemeente', de code 'gemeente' gebruikt terwijl er al een onderwerp met de code 'gemeente' in de database aanwezig is. Dan kan dit problemen opleveren in het rapport.
Kopieer alle SRL inclusief de hashtags (alles selecteren en vervolgens met Ctrl+c kopiëren) en sluit de pop-up door rechts onderin op ‘Annuleren’ te klikken. Open nu het in stap 1 aangemaakte rapport door op ‘Inhoud’ te klikken en plak (Ctrl+v) de gekopieerde SRL boven de html van het rapport. Klik rechts onderin op ‘Ok’ om de inhoud op te slaan.
Uitcommentariëren SRL
Desgewenst kan er commentaar worden toegevoegd binnen de SRL of bepaalde delen van SRL kunnen tijdelijk worden uitgezet. Dit kan op 2 manieren:
- //De regel “Met de dubbele slash commentarieer je 1 regel uit” dient als commentaar. Door de ‘//’ negeert Swing hetgeen wat er op deze regel staat. Zo kan je je SRL van commentaar voorzien, of bepaalde stukken code tijdelijk uitschakelen. Let op: alleen hetgeen wat op dezelfde regel staat (in onderstaand voorbeeld is dat regel 22) wordt genegeerd.
- /*…*/In onderstaand voorbeeld hebben we de ‘input_period’ uitgecommentarieerd. Swing zal deze input negeren en er verder niets meer mee doen. Alles wat binnen de /* en de */ staat wordt dus genegeerd. Hier is het niet zo dat hetgeen wat uitgecommentarieerd is, op 1 regel moet staan.
Presentaties weergeven in rapport
Nu de SRL van de presentaties is toegevoegd aan het rapport kan met de functie Show op elke gewenste plek binnen de body van de html een presentatie worden weergegeven. Dit wil dus zeggen dat de eerste presentatie in de SRL niet de eerste presentatie in het rapport hoeft te zijn. De SRL voor het weergeven van een presentatie (met de code ‘pres_1’) ziet er als volgt uit: #show(pres_1)#. Deze SRL kan tussen de html worden geplaatst, maar kan ook binnen een html-element (bijvoorbeeld het element ‘figure’) worden geplaatst. Dit ziet er dan als volgt uit:
Klik bij het rapport op ‘Inhoud’ en plaats de SRL om de presentaties weer te geven (zoals hierboven beschreven) op de gewenste plekken binnen de html. Klik vervolgens op ‘Ok’ om de wijzigingen op te slaan.
Bekijk het resultaat in Viewer door te klikken op ‘Aanpassen in Viewer’. Hiermee opent het rapport zich in de rapporteneditor. Hierin kan het rapport worden gewijzigd, waarna direct het resultaat van de wijzigingen zichtbaar is. Bij het eerste gebruik van de rapporteneditor kan het zijn dat de browser het openen van de editor in een nieuw scherm blokkeert. Door pop-ups van de betreffende Studioversie toe te laten, zal de editor wel openen.
Als eenmaal presentaties aangemaakt zijn dan is het mogelijk om deze te openen als tabel, te downloaden als Excel of te openen in Swing Viewer middels een link. Deze verschijnen middels icoontjes onderaan te betreffende presentatie. Pas hiervoor de opmaakinstellingen aan van het betreffende rapport (zie onderdeel 'Base').
Dynamiseren van presentaties
Het rapport toont de presentaties nu nog met de ingestelde periode(n) en gebied(en). Deze staan ‘hard’ in de SRL van de presentaties gecodeerd. Om de presentaties dynamisch te maken, moeten er één of meerdere inputs aan de SRL toegevoegd worden. Deze inputs geven de gebruiker de mogelijkheid om een of meerdere perioden, gebieden en/of vergelijkingsgebieden te selecteren. Aan de hand van de selectie van de gebruiker wijzigen de presentaties in het rapport zich. Hoe deze inputs eruit zien en hoe ze werken, staat hieronder beschreven.
Hierbij is het van belang dat met de codes 'Ind.', 'Per.' en 'Geo.' wordt aangegeven dat het om respectievelijk een onderwerp, periode of gebied gaat. Dit om eventuele conflicten in de Studio database te voorkomen. Indien bijvoorbeeld gelijknamige objecten (onderwerpcodes, broncodes, eenheidscode etc.) in de database aanwezig zijn, kan dit voor problemen zorgen.
Wordt bijvoorbeeld, in plaats van 'Geo.gemeente', de code 'gemeente' gebruikt terwijl er al een onderwerp met de code 'gemeente' in de database aanwezig is. Dan kan dit problemen opleveren in het rapport.
Input_period: selectie van periode(n)
Met het opnemen van de input_period is het voor een gebruiker mogelijk om één of meerdere perioden te kiezen. De input_period bevat de volgende onderdelen:
- Type: geef hier aan om welk type input het gaat, in dit geval ‘Period’
- Caption: geef hier de titel op van het selectiescherm voor de perioden (alleen zichtbaar bij meerdere inputs)
- Instruction: hier kan een instructie voor de gebruiker bij deze input worden opgegeven
- Level: geef hier een periodeniveau (code) op (MONTH, QUARTER, HALFYEAR of YEAR)
- Subset: geef hier de periode(n) (code) op die gekozen mag/mogen worden. Met de functie Range kan ook een bereik van perioden worden opgegeven door de eerste en de laatste periode van het bereik op te geven, bijvoorbeeld ‘Range(_2000, _2004)’.
- Min: geef hier op hoeveel perioden er minimaal gekozen moeten worden
- Max:; geef hier op hoeveel perioden er maximaal gekozen mogen worden
Input_geo: selectie van gebied(en)
Met het opnemen van de input_geo is het voor een gebruiker mogelijk om van een (gekozen) gebiedsniveau één of meerdere gebieden te kiezen. De input_geo bevat de volgende onderdelen:
- Type: geef hier aan om welk type input het gaat, in dit geval ‘Geo’
- Caption: geef hier de titel op van het selectiescherm voor de gebieden (alleen zichtbaar bij meerdere inputs)
- Instruction: hier kan een instructie voor de gebruiker bij deze input worden opgegeven
- Level: geef hier één of meerdere gebiedsniveaus (codes) op
- Min: geef hier op hoeveel gebieden er minimaal gekozen moeten worden
- Max:; geef hier op hoeveel gebieden er maximaal gekozen mogen worden
Input_compare: selectie van vergelijkingsgebied(en)
Met het opnemen van de input_compare is het voor een gebruiker mogelijk om één of meerdere vergelijkingsgebieden te kiezen. De input_compare bevat de volgende onderdelen:
- Type: geef hier aan om welk type input het gaat, in dit geval ‘GeoItem’
- Caption: geef hier de titel op van het selectiescherm voor de vergelijkingsgebieden (alleen zichtbaar bij meerdere inputs)
- Instruction: hier kan een instructie voor de gebruiker bij deze input worden opgegeven
- Subset:geef hier één of meerdere ouders op van het gekozen gebied bij de input_geo. Door gebruik te maken van de functie parent(s) is het mogelijk de oudergebieden van het gekozen gebied bij de input_geo als keuze te tonen. ‘Parent(input_geo, provincie)’ toont een specifiek oudergebied, in dit geval de betreffende provincie, en ‘Parents(input_geo)’ toont alle (beschikbare) oudergebiedsniveaus.
- Min: geef hier op hoeveel vergelijkingsgebieden er minimaal gekozen moeten worden
- Max:; geef hier op hoeveel vergelijkingsgebieden er maximaal gekozen mogen worden
Input verbergen
Desgewenst is het mogelijk om een input te verbergen door een regel met de code ‘Hidden: true;’ toe te voegen aan de input.
Toepassen van inputs
Met behulp van deze inputs is het mogelijk de presentaties dynamisch te maken. Vervang hiertoe in de SRL van de presenatie(s) de perioden door ‘input_period’, de gebieden door ‘input_geo’ en de vergelijkingsgebieden door ‘input_compare’. Bij het vervangen van de vergelijkingsgebieden blijft het stukje code ‘compare:’ staan! Alle regels worden nog steeds afgesloten door een puntkomma. In het volgende voorbeeld is door het toepassen van de inputs de statische presentatie dynamisch gemaakt.
Statische presentatie:
Dynamische presentatie:
Presentaties opmaken
Presentaties kunnen nog verder opgemaakt worden. Zoals lettertypes, kleuren, het wel of niet tonen van een legenda etc. De opmaakinstellingen die binnen Studio beschikbaar zijn (Weergave > Opmaakinstellingen) zijn ook toe te passen voor de rapporten. De opmaakinstellingen zijn toe te passen voor het rapport als geheel, dus voor alle presentaties binnen het rapport. Maar ze zijn ook per presentatie instelbaar, deze overrulen de algemene opmaakinstellingen.
Binnen de rapportentabel zijn via de kolom ‘Presentatie instellingen’ de opmaakinstellingen van rapporten te benaderen. De instellingen die hier worden aangepast worden op alle presentaties binnen een rapport toegepast. Om hiervan af te wijken kunnen zogenaamde opmaakprofielen worden toegevoegd, deze kunnen aan specifieke presentaties worden gekoppeld en overrulen de algemene opmaakinstellingen. Nadat de presentatie instellingen van een specifiek rapport zijn geopend kan via de button ‘Voeg opmaakprofiel toe’ een opmaakprofiel worden toegevoegd. Per opmaakprofiel moet een unieke naam worden opgegeven en kunnen de opmaakinstellingen worden bepaald. Deze opmaakprofielen zijn via het drop down menu te selecteren. Om vervolgens een opmaakprofiel de koppelen aan een presentatie zal de volgende regel moeten worden toegevoegd bij de betreffende presentatie binnen de SRL code van het rapport: LayoutClass: "[Naam opmaakprofiel]";
In onderstaand voorbeeld is het opmaakprofiel ‘pres_1’ toegevoegd:
Alle afwijkingen t.o.v. de standaard opmaakinstellingen binnen Studio worden weggeschreven als XML code en zijn voor de gevorderde gebruiker aanpasbaar binnen de rapporten editor middels de button .De lay-out classes worden gescheiden door het element binnen het element . Onder default staan de algemene opmaakinstellingen.
Tekst toevoegen
Het rapport bevat nu dynamische presentaties. Het is mogelijk om deze aan te vullen met tekst. Dit kan alleen ‘vaste’ tekst zijn, maar is ook te combineren met ‘dynamische’ tekst(delen), die wijzigen aan de hand van de selectie van de gebruiker. Daarbij geldt vaak dat hoe meer keuzemogelijkheden de gebruiker bij de selectie van het rapport heeft (de eerder beschreven inputs), des te complexer de code voor de dynamische tekst kan worden.
Html
Swingrapporten maken gebruik van html in combinatie met een stylesheet (css) voor de structuur en de stijl van het rapport. Dat betekent dus dat alle (tekst)onderdelen moeten zijn voorzien van html-elementen. In het gekoppelde stylesheet staat opgegeven welke stijl de (tekst)onderdelen tussen html-elementen moeten krijgen. Bekende html-elementen zijn: <h1>, <h2>, etc., om aan te geven dat het om een kop gaat en <p> om aan te geven dat het om standaard tekst gaat. Belangrijk is dat alle (tekst)onderdelen ingesloten zijn tussen een openend html-element zoals bijvoorbeeld <p> en een sluitend html-element, in dit voorbeeld </p>. Bij bewerking van een rapport in de rapporteneditor wordt bij het invoeren van een openend element dit automatisch aangevuld met het sluitende element. Hieronder is een voorbeeld te zien van de html van een rapport (links) en de uiteindelijke weergave van het rapport (rechts).
In de rapporteneditor zit een ingebouwde controle op de toegepaste HTML. Klik voor de controle van de HTML op de button links in de werkbalk van het rapport. In een pop-up verschijnt een overzicht met het aantal geconstateerde fouten en waar deze in het rapport te vinden zijn. Meer informatie over html en css is te vinden op websites als http://www.w3schools.com.
Dynamische tekst
Met behulp van diverse functies (SRL) is het ook mogelijk om (delen van de) tekst dynamisch te maken. Zo is er een functie waarmee de namen van de (vergelijkings)gebieden) en perioden uit de inputs zijn op te vragen. En ook van specifieke presentaties zijn zowel de namen van de (vergelijkings)gebieden en perioden, als de namen van de variabelen en items van dimensieniveaus op te vragen. Hieronder staan enkele voorbeelden van de meest gebruikte functies voor het opvragen van (dynamische) tekst. Overige functies staan in het volgende hoofdstuk beschreven.
De functie Name geeft de naam van een object weer. De SRL ziet er als volgt uit: #Name(object)#. Voorbeelden van objecten zijn een gebied, een periode, een variabele, maar ook een input. Dit zijn enkele voorbeelden waarbij de functie Name is gebruikt:
SRL |
Resultaat |
#Name(input_geo)# |
de naam van het gekozen gebied (uit de input_geo) |
#Name(input_period)# |
de naam van de gekozen periode (uit de input_period) |
#Name(input_compare)# |
de naam van het gekozen vergelijkingsgebied (uit de input_compare) |
Bovenstaande voorbeelden werken alleen als er bij een input maximaal één item selecteerbaar is. Als er meer dan één item te kiezen is, dan is het nodig om met de functie Item en een opgegeven index specifiek te verwijzen naar één van de gekozen items. De SRL ziet er als volgt uit: #Item(object, 0)# (de index ‘0’ verwijst naar het eerste item).
De volgende voorbeelden laten zien hoe de functies Name en Item gecombineerd te gebruiken zijn:
SRL |
Resultaat |
#Name(Item(input_geo,0))# |
de naam van het eerst gekozen gebied (uit de input_geo) |
#Name(Item(input_period,0))# |
de naam van de eerst gekozen periode (uit de input_period) |
#Name(Item(input_compare,0))# |
de naam van het eerst gekozen vergelijkingsgebied (uit de input_compare) |
Om het tweede gekozen (vergelijkings)gebied of periode te tonen dient de 0 vervangen te worden door 1, etc.
Het is ook mogelijk om alle gekozen items van een input weer te geven (kommagescheiden):
SRL |
Resultaat |
#Write(input_geo)# |
de namen van de gekozen gebieden (uit de input_geo) |
#Write(input_period)# |
de namen van de gekozen perioden (uit de input_period) |
#Write(input_compare)# |
de namen van de gekozen vergelijkingsgebieden (uit de input_compare) |
Het opvragen van namen van objecten uit een presentatie gebeurt ook met behulp van een combinatie van de functies Name en Item. De functie Item verwijst in dit geval naar een item van een van de dimensies van een presentaties. Een presentatie bevat in ieder geval de volgende dimensies: ‘dim_geo’ (gebieden), ‘dim_period’ (perioden), dim_variable (onderwerpen). Als er sprake is van een gebiedsvergelijking, dan zijn alle gebieden opgenomen in de dimensie ‘dim_geocompare’. Bij presentaties met kubusdata is ook mogelijk de namen van items van geselecteerde kubusdimensies op te vragen door de betreffende dimensie te vermelden in de code. De SRL ziet er als volgt uit: #Name(Item(code van presentatie, dimensieniveau, index))#.
De volgende voorbeelden geven per dimensie aan hoe de code er uitziet (voor presentatie een fictieve ‘pres_1’):
SRL |
Resultaat |
#Name(Item(pres_1, dim_geo, 0))# |
de naam van het eerste gebied uit de presentatie (‘pres_1’) |
#Name(Item(pres_1, dim_period, 0))# |
de naam van de eerste periode uit de presentatie (‘pres_1’) |
#Name(Item(pres_1, dim_geocompare, 0))# |
de naam van het eerste gebied uit de presentatie (‘pres_1’) als er ook een vergelijkingsgebied in de selectie is opgenomen (alle gebieden samen vormen één lijst) |
#Name(Item(pres_1, dim_variable, 0))# |
de naam van het eerste onderwerp uit de presentatie (‘pres_1’) |
#Name(Item(pres_1, dim_lft_kl_5, 0))# |
de naam van het eerste (geselecteerde) item van de kubusdimensie met code ‘dim_lft_kl_5’ uit de presentatie (‘pres_1’) |
Dynamische waarden
Naast dynamische tekst is het ook mogelijk om dynamische waarden op te vragen aan de hand van de selectie uit de input(s). Waarden zijn zowel vanuit tabelpresentaties in het rapport, als direct uit de database op te vragen.
Vanuit tabellen zijn waarden op te vragen met de functie Data. In deze functie wordt de code van de betreffende presentatie (tabel) opgegeven en met indexen wordt verwezen naar een cel van de tabel. Let op: een index begint bij 0. Tabellen kunnen 2, 3 of meer dimensies bevatten en voor iedere dimensie wordt een index in de functie opgenomen.
Bij een tabel (met code ‘pres_1’) met 2 dimensies ziet de SRL er als volgt uit:
#Data (pres_1, index van dimensie 1, index van dimensie 2)#
|
Dimensie 2, item 1 |
Dimensie 2, item 2 |
Dimensie 2, item 3 |
Dimensie 1, item 1 |
Data(0,0) |
Data(0,1) |
Data(0,2) |
Dimensie 1, item 2 |
Data(1,0) |
Data(1,1) |
Data(1,2) |
Dimensie 1, item 3 |
Data(2,0) |
Data(2,1) |
Data(2,2) |
Dimensie 1, item 4 |
Data(3,0) |
Data(3,1) |
Data(3,2) |
Bij een tabel met 3 dimensies ziet de SRL er als volgt uit:
#data (pres_1, (index van dimensie 1, index van dimensie 2, index van dimensie 3)#
|
Dimensie 2, item 1 |
Dimensie 2, item 2 |
|
Dimensie 3, item 1 |
Dimensie 3, item 2 |
Dimensie 3, item 3 |
Dimensie 3, item 1 |
Dimensie 3, item 2 |
Dimensie 3, item 3 |
Dimensie 1, item 1 |
Data(0,0,0) |
Data(0,0,1) |
Data(0,0,2) |
Data(0,1,0) |
Data(0,1,1) |
Data(0,1,2) |
Dimensie 1, item 2 |
Data(1,0,0) |
Data(1,0,1) |
Data(1,0,2) |
Data(1,1,0) |
Data(1,1,1) |
Data(1,1,2) |
Dimensie 1, item 3 |
Data(2,0,0) |
Data(2,0,1) |
Data(2,0,2) |
Data(2,1,0) |
Data(2,1,1) |
Data(2,1,2) |
Dimensie 1, item 4 |
Data(3,0,0) |
Data(3,0,1) |
Data(3,0,2) |
Data(3,1,0) |
Data(3,1,1) |
Data(3,1,2) |
Dimensie 1, item 5 |
Data(4,0,0) |
Data(4,0,1) |
Data(4,0,2) |
Data(4,1,0) |
Data(4,1,1) |
Data(4,1,2) |
Met dezelfde functie Data is het ook mogelijk om een waarde direct uit de database op te vragen, hiervoor zijn er twee mogelijkheden. Ten eerste kan eerst een nieuwe variabele worden gedefinieerd om deze vervolgens in het rapport weer te geven. Ten tweede kan de waarde direct in het rapport worden opgevraagd en getoond. Voor beide mogelijkheden is hieronder een voorbeeld van de SRL opgenomen.
Opvragen via een variabele:
unieke code = Data { onderwerpcode; periodecode; gebiedscode; }
bijvoorbeeld: #data_inw = Data { Ind.inw3112; Item(input_period,0); Item(input_geo,0); }#
De variabele is op te vragen in de inhoud van rapport met functie Show: #Show(data_inw)#
Direct Opvragen:
Bovengenoemde SRL van de variabele kan ook worden samengevoegd met de functie Show om zo de waarde direct op te vragen.
Show (Data { onderwerpcode; periodecode; gebiedscode; })
bijvoorbeeld: #Show(data{Ind.inw3112;Item(input_period,0);item(input_geo,0);})#
Bij het opvragen van een waarde uit een kubus met de functie Data kan de selectie (tussen accolades) worden uitgebreid met items van een of meer dimensieniveaus.
Data { onderwerpcode; dimensiecode_itemcode; periodecode; gebiedscode; })
Onderstaand voorbeeld (in combinatie met functie Show) toont het aantal vrouwen tussen 40 en 45 jaar in een geselecteerde gemeente voor een geselecteerde periode:
#Show(data{Ind.bevolking; Dim.lft_kl_5_9; Dim.geslacht_V; Item(input_period,0);item(input_geo,0);})#