Parameters voor gegevensbronnen implementeren

Als u gegevensbronnen flexibeler wilt maken, kunt u runtimeparameters in de zoekvraag implementeren om variabelen voor de gegevensbron te gebruiken.

Deze kunnen het volgende zijn: in Essbase gedefinieerde vervangingsvariabelen, runtimeparameters die zijn gedefinieerd door de rastercontext als Smart View gebruikers een drill-through naar externe gegevens uitvoeren, of door gebruikergedefinieerde functies die zijn geschreven in een extern bronsysteem.

Wanneer u variabelen wilt gebruiken in Essbase gegevensbronnen, moet u eerst

  1. Variabelensyntaxis opnemen in de gegevensbronzoekopdracht De gegevensbronzoekvraag moet bijvoorbeeld ? in de syntaxis bevatten, waarbij ? een plaatsaanduiding is voor een variabele die bij runtime moet worden gedefinieerd.

  2. Voer een van de volgende acties uit:

    • Stel een vaste waarde in voor de standaardparameter in de gegevensbron die door Essbase moet worden gebruikt als fallback als de variabele een ongeldige context heeft bij runtime, OF

    • Stel een vervangingsvariabele in voor gebruik door de gegevensbron.
    • Geef een externe, gebruikergedefinieerde functie (of opgeslagen procedure) door als parameter.

Als u gegevensbronnen wilt definiëren en hier parameters voor wilt implementeren, moet u een applicatiebeheerder of hoger zijn.

Door het gebruik van variabelen in Essbase gegevensbronnen mogelijk te maken helpt u bewerkingen te stroomlijnen doordat er minder gegevensbronnen hoeven worden beheerd. Door variabelen voor gegevensbronnen te implementeren kunt u een context voor de runtimezoekvraag opgeven die wordt toegepast wanneer een gebruiker toegang verkrijgt tot een gegevensbron die is gekoppeld aan een Essbase kubus.

Ga bijvoorbeeld uit van de volgende cases.

  • Een databasebeheerder ziet toe op een periodieke taak waarmee gegevens maandelijks naar de kubus worden geladen. De databasebeheerder kan nu een vervangingsvariabele gebruiken om de gegevens voor de huidige maand te laden in plaats van een laadregel voor elke maand te beheren.

  • Een applicatiebeheerder beheert drill-through-rapportdefinities voor verschillende bedrijfscases. De applicatiebeheerder implementeert variabelen in de onderliggende gegevensbron waaruit Smart View gebruikers gegevens ophalen bij hun drill-through-bewerkingen. Hierdoor hoeft de applicatiebeheerder minder drill-through-rapportdefinities te beheren en hierin fouten op te sporen.

Een standaardparameter instellen in een gegevensbron

Stel een standaardparameter in een gegevensbron in als u het gebruik van variabelen wilt activeren in de zoekvragen die Essbase genereert bij het werken met gegevens die buiten de kubus zijn opgeslagen.

Als u de standaardparameter wilt instellen,

  1. Verkrijg of maak een verbinding met de externe gegevensbron (maak bijvoorbeeld een verbinding met Oracle Database).

    U kunt een algemene verbinding gebruiken als er al één bestaat op de pagina 'Bronnen' van de Essbase webinterface U kunt ook een verbinding op applicatieniveau maken.

  2. Maak een gegevensbron via de verbinding die u gebruikt om toegang te krijgen tot Oracle Database.

    U kunt een gegevensbron algemeen definiëren die voor alle applicaties beschikbaar moet zijn. U kunt ook een gegevensbron op applicatieniveau definiëren.

    1. Als u een algemene gegevensbron wilt maken, moet u een servicebeheerder zijn. Klik op Bronnen, klik op het tabblad Gegevensbronnen onder uw gebruikersnaam en klik op Gegevensbron maken.

      Als u een gegevensbron op applicatieniveau wilt maken, moet u een applicatiebeheerder of een hoofdgebruiker zijn met rechten voor applicatiebeheer voor die bepaalde applicatie. Klik op het tabblad Applicaties, op een applicatienaam. Klik vervolgens op Bronnen, klik op het tabblad Gegevensbronnen onder uw gebruikersnaam en klik op Gegevensbron maken.

    2. Selecteer in de stap Algemeen voor Verbinding de Oracle Database verbinding die u hebt gemaakt.

    3. Geef bij Naam een naam op voor de gegevensbron.

    4. Geef bij Zoekvraag een zoekvraag op (in dit voorbeeld wordt SQL gebruikt). Om er een zoekvraag met parameters van te maken moet u een filtervoorwaarde (WHERE-clausule) opnemen waarmee een relationele kolom in de bron aan een plaatsaanduiding wordt toegewezen. U duidt de positie van de variabele aan door een plaatsaanduiding, ?, in de zoekvraagsyntaxis te gebruiken. De plaatsaanduiding is bestemd voor een parameter die u in een latere stap doorgeeft.

      select * from SB_DT where DIMENSION_YEAR=?

      Stel bijvoorbeeld dat uw relationele database de volgende tabel, genaamd SB_DT, heeft. De tabel heeft kolom DIMENSION_YEAR met maanden als waarden:
      Afbeelding van een tabel van een relationele database met de kolom DIMENSION_YEAR geselecteerd. Alle bijbehorende waarden zijn: Jul, Aug, Aug, Sep, Sep, Oct, enzovoort

      Als u een variabele wilt gebruiken voor de selectie van maandwaarden van de kolom DIMENSION_YEAR, past u de volgende filtersyntaxis toe in de zoekvraag: where DIMENSION_YEAR=?
      Afbeelding van het tabblad 'Algemeen' in de wizard voor het maken van een gegevensbron. Verbinding: SAMPLE.oracledb_conn, naam: oracledb_ds, omschrijving: Gegevensbron voor Oracle DB, zoekvraag: select * from SB_DT where dimension_year=?

    5. Klik op Volgende.

    6. Pas in de stap Kolommen het gegevenstype toe dat Essbase moet koppelen aan elke kolom in de relationele brongegevens.

      Stel bijvoorbeeld de numerieke kolommen in op het type Dubbel en laat voor de alfanumerieke kolommen het type String ingesteld.


      Afbeelding van het tabblad 'Kolommen' in de wizard 'Gegevensbron maken', met geselecteerde typen 'Dubbel' en 'String'

    7. Klik op Volgende.

    8. In de stap 'Parameters' wordt Param1 gemaakt; deze parameter bestaat omdat u een ? hebt gebruikt in de zoekvraag van de stap 'Algemeen'.

      Laat Variabelen gebruiken uitgeschakeld, dubbelklik op het tekstveld onder Waarde en typ een standaardwaarde voor de runtimeparameter. De standaardwaarde wordt door Essbase gebruikt als fallback als de parameter een ongeldige context heeft bij runtime. Deze stap is belangrijk als u van plan bent runtimeparameters te gebruiken als onderdeel van drill-through-rapportdefinities.

      U kunt de naam Param1 ook wijzigen in een naam die betekenisvol is voor uw situatie. U kunt deze bijvoorbeeld hernoemen in param_G_monthom aan te geven dat de parameter een algemene variabele gebruikt voor de huidige maand of u kunt deze hernoemen in param_<appName>_month om aan te geven dat de parameter een variabele op applicatieniveau gebruikt voor de huidige maand. Het aanpassen van de parameternamen kan handig zijn bij het opsporen van fouten in parameters met behulp van Essbase serverlogbestanden.


      Afbeelding van het tabblad 'Parameters' in de wizard voor het maken van een gegevensbron. 'Variabelen gebruiken' is uitgeschakeld en de ingevoerde waarde is Jan.

      Als u de parameter zo wilt aanpassen dat deze verwijst naar een vervangingsvariabele, hoeft u geen standaardwaarde op te geven. Zie Vervangingsvariabelen in een gegevensbron gebruiken in plaats van dit onderwerp.

    9. Klik op Volgende.

    10. Zoals u in het voorbeeld ziet, is de standaardparameter toegepast op uw zoekvraag. Daardoor wordt het voorbeeld gevuld met alleen externe bronrecords waarin de waarde van de kolom DIMENSION_YEAR Jan is.


      Afbeelding van het tabblad 'Voorbeeld' in de wizard voor het maken van een gegevensbron, waarbij alleen records met DIMENSION_YEAR = Jan worden getoond.

      Hoewel er in het voorbeeld alleen waarden met de toegepaste standaardparameter worden weergegeven, hebt u bij het implementeren van runtimeparameters voor een drill-through-rapportdefinitie toegang tot meer externe gegevens dan wat er in het voorbeeld zichtbaar is.

    11. Klik op Maken om op basis van deze zoekvraag een gegevensbron te maken van uw externe brongegevens. De gegevensbron is geactiveerd voor de implementatie van runtimeparameters.

Vervangingsvariabelen in een gegevensbron gebruiken

De volgende workflow illustreert hoe u een Essbase gegevensbron kunt maken van een zoekvraag voor externe brongegevens met behulp van een vervangingsvariabele die is gedefinieerd in Essbase. De vervangingsvariabele voegt meer flexibiliteit toe aan hoe u de zoekvraag ontwerpt waarmee gegevens uit de bron worden opgehaald.

In dit voorbeeld gebruikt u een vervangingsvariabele in Essbase om de huidige maand op te geven. In plaats van de gegevensbronnen maandelijks bij te werken om de gegevens voor de huidige maand op te halen, kunt u alleen de gedefinieerde vervangingsvariabele bijwerken en de gegevensbron met rust laten.

  1. Maak een vervangingsvariabele op algemeen of applicatieniveau.


    Afbeelding van een vervangingsvariabele die is gemaakt op applicatieniveau. Naam: CurrMonth, waarde: Aug

  2. Verkrijg of maak een verbinding met de externe gegevensbron (maak bijvoorbeeld een verbinding met Oracle Database).

    U kunt een algemene verbinding gebruiken als er al één bestaat op de pagina 'Bronnen' van de Essbase webinterface U kunt ook een verbinding op applicatieniveau maken.

  3. Maak een gegevensbron via de verbinding die u gebruikt om toegang te krijgen tot Oracle Database.

    U kunt een gegevensbron algemeen definiëren die voor alle applicaties beschikbaar moet zijn. U kunt ook een gegevensbron op applicatieniveau definiëren.

    1. Selecteer in de stap Algemeen voor Verbinding de Oracle Database verbinding die u hebt gemaakt.

    2. Geef bij Naam een naam op voor de gegevensbron.

    3. Geef bij Zoekvraag een zoekvraag op (in dit voorbeeld wordt SQL gebruikt). Om er een zoekvraag met parameters van te maken moet u een filtervoorwaarde (WHERE-clausule) opnemen waarmee een relationele kolom in de bron aan een plaatsaanduiding wordt toegewezen. U duidt de positie van de variabele aan door een plaatsaanduiding, ?, in de zoekvraagsyntaxis te gebruiken. De plaatsaanduiding is bestemd voor een parameter die u in een latere stap doorgeeft.

      select * from SB_DT where DIMENSION_YEAR=?

      Stel bijvoorbeeld dat uw relationele database de volgende tabel, genaamd SB_DT, heeft. De tabel heeft kolom DIMENSION_YEAR met maanden als waarden:
      Afbeelding van een tabel van een relationele database met de kolom DIMENSION_YEAR geselecteerd. Alle bijbehorende waarden zijn: Jul, Aug, Aug, Sep, Sep, Oct, enzovoort

      Als u een variabele wilt gebruiken voor de selectie van maandwaarden van de kolom DIMENSION_YEAR, past u de volgende filtersyntaxis toe in de zoekvraag: where DIMENSION_YEAR=?
      Afbeelding van het tabblad 'Algemeen' in de wizard voor het maken van een gegevensbron. Verbinding: SAMPLE.oracledb_conn, naam: oracledb_ds, omschrijving: Gegevensbron voor Oracle DB, zoekvraag: select * from SB_DT where dimension_year=?

    4. Klik op Volgende.

    5. Pas in de stap Kolommen het gegevenstype toe dat Essbase moet koppelen aan elke kolom in de relationele brongegevens.

      Stel bijvoorbeeld de numerieke kolommen in op het type Dubbel en laat voor de alfanumerieke kolommen het type String ingesteld.


      Afbeelding van het tabblad 'Kolommen' in de wizard 'Gegevensbron maken', met geselecteerde typen 'Dubbel' en 'String'

    6. Klik op Volgende.

    7. In de stap 'Parameters' wordt Param1 gemaakt; deze parameter bestaat omdat u een ? hebt gebruikt in de zoekvraag van de stap 'Algemeen'. Als u Param1 wilt aanpassen om naar een vervangingsvariabele te verwijzen, klikt u op Variabelen gebruiken en selecteert u een vervangingsvariabele in de vervolgkeuzelijst Waarde.

      Als u een gegevensbron in een applicatie maakt, kunnen zowel algemene vervangingsvariabelen als vervangingsvariabelen op applicatieniveau worden geselecteerd. De variabelen op applicatieniveau worden vooraf gegaan door de applicatienaam. Als u een algemene gegevensbron maakt, kunnen alleen algemene vervangingsvariabelen worden geselecteerd.

      U kunt Param1 hernoemen in een naam die betekenisvol is voor uw situatie. U kunt deze bijvoorbeeld hernoemen in param_G_monthom aan te geven dat de parameter een algemene variabele gebruikt voor de huidige maand of u kunt deze hernoemen in param_<appName>_month om aan te geven dat de parameter een variabele op applicatieniveau gebruikt voor de huidige maand. Het aanpassen van de parameternamen kan handig zijn bij het opsporen van fouten in parameters met behulp van Essbase serverlogbestanden.


      Afbeelding van het tabblad 'Parameters' in de wizard voor het maken van een gegevensbron. 'Variabelen gebruiken' is ingeschakeld en de waarde is Sample.CurrMonth.

    8. Klik op Volgende.

    9. Zoals u in het voorbeeld ziet, is de vervangingsvariabele toegepast op uw zoekvraag. Daardoor wordt het voorbeeld gevuld met alleen externe bronrecords waarin de waarde van de kolom DIMENSION_YEAR Aug is.


      Afbeelding van het tabblad 'Voorbeeld' in de wizard voor het maken van een gegevensbron, waarbij alleen records met DIMENSION_YEAR = Aug worden getoond.

    10. Klik op Maken om op basis van deze zoekvraag een gegevensbron te maken van uw externe brongegevens.