Implementare parametri pentru sursele de date

Pentru a face sursele de date mai flexibile, puteţi implementa parametri de runtime în interogare pentru a permite sursei de date să utilizeze variabile.

Acestea pot fi variabilele de substituţie definite în Essbase, parametrii de runtime definiţi după contextul grilei atunci când utilizatorii Smart View detaliază folosind date externe, sau funcţii definite de utilizatori scrise într-un sistem sursă extern.

De câte ori plănuiţi să utilizaţi variabilele în sursele de date Essbase, trebuie mai întâi să

  1. Includeţi sintaxa variabilei în interogarea sursei de date. De exemplu, interogarea sursei de date trebuie să includă ? în sintaxă, unde ? este un substituent pentru o variabilă de definit la runtime.

  2. Variante disponibile:

    • Setaţi o valoare fixă, parametru prestabilit în sursa de date pentru Essbase pentru utilizare ca fallback în cazul în care variabila are un context nevalid la runtime, SAU

    • Setaţi o variabilă de substituţie pentru utilizare în sursa de date
    • Treceţi o funcţie externă, definită de utilizator (sau procedură stocată) ca un parametru

Pentru definirea surselor de date şi implementarea parametrilor pentru acestea, trebuie să aveţi rolul de manager de aplicaţie sau superior.

Activarea utilizării variabilelor în sursele de date Essbase vă ajută să simplificaţi operaţiile necesitând menţinerea unui număr mai mic de surse de date. Implementarea variabilelor pentru sursele de date vă permite să specificaţi un context de interogare runtime ce va fi aplicat de câte ori un utilizator accesează o sursă de date asociată cu un cub Essbase.

De exemplu, să presupunem următoarele cazuri de utilizare.

  • Un manager de baze de date supraveghează un job recurent de încărcare a datelor ce încarcă datele în cub în mod lunar. Managerul de baze de date poate utiliza acum o variabilă de substituţie pentru încărcarea datelor pentru luna curentă, în locul menţinerii unei reguli de încărcare pentru fiecare lună.

  • Un manager de aplicaţie menţine definiţii pentru raportul de detaliere pentru diferitele cazuri de utilizare în activitate. Managerul de aplicaţie implementează variabilele în sursa de date de bază din care utilizatorii Smart View extrag în operaţiile de detaliere. Ca urmare, managerul de aplicaţie are mai puţine definiţii de raport de detaliere de menţinut şi remediat.

Setaţi un parametru prestabilit într-o sursă de date

Setaţi un parametru prestabilit într-o sursă de date dacă doriţi să activaţi utilizarea variabilelor în interogările generate de Essbase atunci când lucrează cu datele stocate în afara cubului.

Pentru setarea parametrului prestabilit,

  1. Obţineţi sau creaţi o conexiune la sursa de date externă (de exemplu, creaţi o conexiune la baza de date Oracle).

    Puteţi utiliza o conexiune globală, dacă există deja una în pagina Surse din interfaţa web Essbase, sau puteţi crea o conexiune la nivel de aplicaţie.

  2. Creaţi o sursă de date prin conexiunea pe care o veţi utiliza la accesarea bazei de date Oracle.

    Puteţi defini o sursă de date globală dacă trebuie să fie disponibilă tuturor aplicaţiilor, sau o puteţi defini la nivel de aplicaţie.

    1. Pentru a crea o sursă de date globală, trebuie să fiţi administrator de servicii. Faceţi clic pe Surse, apoi pe fila Surse de date de sub numele dvs. de utilizator, apoi faceţi clic pe Creare sursă de date.

      Sau, pentru a crea o sursă de date la nivel de aplicaţie, trebuie să fiţi manager de aplicaţii sau utilizator avansat, cu permisiuni de administrare pentru aplicaţia specificată. În pagina Aplicaţii, faceţi clic pe numele unei aplicaţii. Apoi, faceţi clic pe Surse, apoi pe fila Surse de date de sub numele dvs. de utilizator, apoi faceţi clic pe Creare sursă de date.

    2. În pasul General, pentru Conexiune, selectaţi conexiunea la baza de date Oracle creată.

    3. Pentru Nume, introduceţi un nume pentru sursa de date.

    4. Pentru Interogare, furnizaţi o interogare (acest exemplu utilizează SQL). Pentru a o face o interogare parametrizată, trebuie să includeţi o condiţie de filtrare (clauză WHERE) care mapează o coloană relaţională din sursă la un substituent. Indicaţi poziţia variabilei prin utilizarea unui substituent, ?, în sintaxa interogării. Substituentul este pentru un parametru ce va fi introdus într-un pas ulterior.

      select * from SB_DT where DIMENSION_YEAR=?

      De exemplu, presupuneţi că baza de date relaţională are următorul tabel, denumit SB_DT. Tabelul are coloana DIMENSION_YEAR cu lunile ca valori:
      Imaginea unui tabel de baze de date relaţionale cu coloana DIMENSION_YEAR selectată. Toate valorile sale sunt luni: Jul, Aug, Aug, Sep, Sep, Oct etc

      Pentru utilizarea unei variabile pentru selectarea valorilor pentru luni din coloana DIMENSION_YEAR, aplicaţi următoarea sintaxă de filtrare în interogare: where DIMENSION_YEAR=?
      Imagine a filei General din expertul de creare a sursei de date. Conexiune: SAMPLE.oracledb_conn, Nume: oracledb_ds, Descriere: Sursă de date pentru baza de date Oracle, Interogare: selectaţi * din SB_DT unde dimension_year=?

    5. Faceţi clic pe Înainte.

    6. În pasul Coloane, aplicaţi tipul de date adecvat pe care Essbase trebuie să îl asocieze cu fiecare coloană din datele sursei relaţionale.

      De exemplu, setaţi coloanele numerice la tipul Dublu, şi lăsaţi coloanele alfanumerice ca tipul Şir.


      Imagine a filei Coloane din expertul pentru crearea sursei de date, cu selecţii pentru Tip, dublu şi şir.

    7. Faceţi clic pe Înainte.

    8. În pasul Parametri, este creat Param1 – acest parametru există deoarece aţi utilizat un ? în interogare în pasul General.

      Lăsaţi Utilizare variabile nebifat, faceţi dublu clic pe câmpul de text sub Valoare, şi tastaţi o valoare prestabilită pentru parametrul de runtime. Scopul acestei valori prestabilite este utilizarea de către Essbase ca fallback în cazul când parametrul are un context nevalid la runtime. Acest pas este important dacă intenţionaţi să rulaţi parametrii de runtime ca parte a definiţiilor rapoartelor de detaliere.

      Puteţi redenumi şi Param1 la un nume ce are semnificaţie pentru cazul de utilizare. De exemplu, îl puteţi redenumi la param_G_month pentru a indica faptul că parametrul utilizează o variabilă globală pentru luna curentă, sau îl puteţi redenumi la param_<appName>_month pentru a indica faptul că parametrul utilizează o variabilă la nivel de aplicaţie pentru luna curentă. Personalizarea numelor parametrilor poate fi utilă la remedierea problemelor cu parametrii utilizând fişierele jurnal de server Essbase.


      Imagine a filei Parametri din expertul de creare a sursei de date. Utilizarea variabilelor este nebifată, iar valoarea introdusă este Jan.

      Dacă doriţi să personalizaţi parametru pentru a face referire la o variabilă de substituţie, atunci nu trebuie să furnizaţi o valoare prestabilită. Consultaţi Utilizaţi variabilele de substituţie într-o sursă de date în locul acestui subiect.

    9. Faceţi clic pe Înainte.

    10. Din Previzualizare, observaţi că parametrul prestabilit a fost aplicat interogării dvs. Ca urmare, previzualizarea este populată doar cu înregistrările sursei externe în care valoarea coloanei DIMENSION_YEAR este Jan.


      Imagine a filei Previzualizare în expertul pentru crearea sursei de date, afişând doar înregistrările în care DIMENSION_YEAR = Jan.

      Deşi previzualizaţi numai valorile afişate ale parametrului prestabilit aplicat, ulterior, când implementaţi parametrii de runtime pentru definiţia raportului de detaliere, veţi avea acces la mai multe date externe faţă de câte au fost vizibile în previzualizare.

    11. Faceţi clic pe Creare pentru a crea sursa de date pe baza acestei interogări pentru datele sursei externe. Sursa de date este activată pentru implementarea parametrilor de runtime.

Utilizaţi variabilele de substituţie într-o sursă de date

Următorul flux de lucru ilustrează modul de creare a unei surse de date Essbase dintr-o interogare a datelor sursei externe, utilizând o variabilă de substituţie definită în Essbase. Variabila de substituţie adaugă mai multă flexibilitate modului în care proiectaţi interogarea care extrage din datele sursă.

În acest exemplu, veţi utiliza variabila de substituţie în Essbase pentru declararea lunii curente. În loc de actualizarea surselor de date lunar pentru extragerea datelor pentru luna curentă, puteţi lăsa sursele de date neatinse, şi actualizaţi doar variabila de substituţie definită.

  1. Creaţi un nivel global sau de aplicaţie variabilă de substituţie.


    Imaginea unei variabile de substituţie create la nivel de aplicaţie. Nume: CurrMonth, Valoare: Aug

  2. Obţineţi sau creaţi o conexiune la sursa de date externă (de exemplu, creaţi o conexiune la baza de date Oracle).

    Puteţi utiliza o conexiune globală, dacă există deja una în pagina Surse din interfaţa web Essbase, sau puteţi crea o conexiune la nivel de aplicaţie.

  3. Creaţi o sursă de date prin conexiunea pe care o veţi utiliza la accesarea bazei de date Oracle.

    Puteţi defini o sursă de date globală dacă trebuie să fie disponibilă tuturor aplicaţiilor, sau o puteţi defini la nivel de aplicaţie.

    1. În pasul General, pentru Conexiune, selectaţi conexiunea la baza de date Oracle creată.

    2. Pentru Nume, introduceţi un nume pentru sursa de date.

    3. Pentru Interogare, furnizaţi o interogare (acest exemplu utilizează SQL). Pentru a o face o interogare parametrizată, trebuie să includeţi o condiţie de filtrare (clauză WHERE) care mapează o coloană relaţională din sursă la un substituent. Indicaţi poziţia variabilei prin utilizarea unui substituent, ?, în sintaxa interogării. Substituentul este pentru un parametru ce va fi introdus într-un pas ulterior.

      select * from SB_DT where DIMENSION_YEAR=?

      De exemplu, presupuneţi că baza de date relaţională are următorul tabel, denumit SB_DT. Tabelul are coloana DIMENSION_YEAR cu lunile ca valori:
      Imaginea unui tabel de baze de date relaţionale cu coloana DIMENSION_YEAR selectată. Toate valorile sale sunt luni: Jul, Aug, Aug, Sep, Sep, Oct etc

      Pentru utilizarea unei variabile pentru selectarea valorilor pentru luni din coloana DIMENSION_YEAR, aplicaţi următoarea sintaxă de filtrare în interogare: where DIMENSION_YEAR=?
      Imagine a filei General din expertul de creare a sursei de date. Conexiune: SAMPLE.oracledb_conn, Nume: oracledb_ds, Descriere: Sursă de date pentru baza de date Oracle, Interogare: selectaţi * din SB_DT unde dimension_year=?

    4. Faceţi clic pe Înainte.

    5. În pasul Coloane, aplicaţi tipul de date adecvat pe care Essbase trebuie să îl asocieze cu fiecare coloană din datele sursei relaţionale.

      De exemplu, setaţi coloanele numerice la tipul Dublu, şi lăsaţi coloanele alfanumerice ca tipul Şir.


      Imagine a filei Coloane din expertul pentru crearea sursei de date, cu selecţii pentru Tip, dublu şi şir.

    6. Faceţi clic pe Înainte.

    7. În pasul Parametri, este creat Param1 – acest parametru există deoarece aţi utilizat un ? în interogare în pasul General. Pentru a personaliza Param1 pentru a face referire la o variabilă de substituţie, faceţi clic pe Utilizare variabile, şi selectaţi o variabilă de substituţie din lista derulantă Valoare.

      Când creaţi o sursă de date în cadrul unei aplicaţii, sunt disponibile pentru selectare atât variabilele de substituţie globale cât şi cele la nivel de aplicaţie. Variabilele la nivel de aplicaţie au ca prefix numele aplicaţiei. Când creaţi o sursă de date globală, sunt disponibile pentru selectare numai variabilele de substituţie globale.

      Puteţi redenumi Param1 la un nume ce are semnificaţie pentru cazul de utilizare. De exemplu, îl puteţi redenumi la param_G_month pentru a indica faptul că parametrul utilizează o variabilă globală pentru luna curentă, sau îl puteţi redenumi la param_<appName>_month pentru a indica faptul că parametrul utilizează o variabilă la nivel de aplicaţie pentru luna curentă. Personalizarea numelor parametrilor poate fi utilă la remedierea problemelor cu parametrii utilizând fişierele jurnal de server Essbase.


      Imagine a filei Parametri din expertul de creare a sursei de date. Utilizarea variabilelor este bifată, iar valoarea este Sample.CurrMonth.

    8. Faceţi clic pe Înainte.

    9. Din Previzualizare, observaţi că variabila de substituţie este aplicată interogării dvs. Ca urmare, previzualizarea este populată doar cu înregistrările sursei externe în care valoarea coloanei DIMENSION_YEAR este Aug.


      Imagine a filei Previzualizare în expertul pentru crearea sursei de date, afişând doar înregistrările în care DIMENSION_YEAR = Aug.

    10. Faceţi clic pe Creare pentru a crea o sursă de date pe baza acestei interogări pentru datele sursei externe.