Implementare i parametri per le origini dati

Per rendere le origini dati più flessibili, è possibile implementare parametri runtime nelle query per consentire alle origini dati di utilizzare le variabili.

Può trattarsi di variabili di sostituzione definite in Essbase, di parametri runtime definiti mediante il contesto della griglia quando gli utenti di Smart View eseguono il drill-through di dati esterni oppure di funzioni definite dall'utente scritte in un sistema di origine esterno.

Ogni volta che si prevede di utilizzare variabili nelle origini dati Essbase, è necessario

  1. includerne la sintassi nella query Origine dati. Ad esempio, la query Origine dati deve includere ? nella sintassi, dove ? è un segnaposto per alcune variabili da definire in runtime.

  2. Effettuare una delle operazioni indicate di seguito.

    • Impostare un valore di parametro predefinito fisso nell'origine dati per Essbase da utilizzare come valore di fallback nel caso in cui il contesto della variabile risulti non valido in runtime OPPURE

    • Impostare la variabile di sostituzione che deve essere utilizzata dall'origine dati
    • Passare come parametro una funzione (o una stored procedure) definita dall'utente esterna

Per definire le origini dati e implementarne i parametri, è necessario disporre del ruolo Gestione applicazioni o di un ruolo superiore.

L'abilitazione dell'uso delle variabili nelle origini dati Essbase facilita le operazioni in quanto limita il numero di origini dati da gestire. L'implementazione delle variabili nelle origini dati consente di specificare il contesto di query runtime che verrà applicato durante ogni accesso utente a un'origine dati associata a un cubo Essbase.

Si suppongano, ad esempio, i casi d'uso seguenti.

  • Un utente che dispone del ruolo Gestione database supervisiona un job di caricamento dati ricorrente che carica i dati nel cubo ogni mese. Ora questo utente può utilizzare una variabile di sostituzione per caricare i dati per il mese corrente anziché gestire una regola di carico per ogni mese.

  • Un utente che dispone del ruolo Gestione applicazioni gestisce le definizioni dei report drill-through per diversi casi d'uso aziendali. Questo utente implementa le variabili nell'origine dati di base da cui gli utenti di Smart View eseguono il pull nelle operazioni di drill-through. Ne risulta che l'utente che dispone del ruolo Gestione applicazioni avrà un minor numero di definizioni di report drill-through da gestire e di cui eseguire il debug.

Impostare un parametro predefinito in un'origine dati

Impostare un parametro predefinito in un'origine dati se si desidera abilitare l'utilizzo di variabili nelle query generate da Essbase quando utilizza i dati memorizzati all'esterno del cubo.

Per impostare il parametro predefinito, effettuare le operazioni riportate di seguito.

  1. Ottenere o creare una connessione all'origine dati esterna (ad esempio, creare una connessione al database Oracle).

    È possibile utilizzare una connessione globale, se ne esiste già una nella pagina Origini dell'interfaccia Web di Essbase, oppure è possibile creare una connessione a livello di applicazione.

  2. Creare un'origine dati per la connessione che verrà utilizzata per accedere al database Oracle.

    È possibile definire un'origine dati a livello globale, se deve essere disponibile per tutte le applicazioni, oppure a livello di applicazione.

    1. Per creare un'origine dati globale, è necessario disporre del ruolo di amministratore servizi. Fare clic su Origini, fare clic sulla scheda Origini dati sotto il nome utente, quindi fare clic su Crea origine dati.

      In alternativa, per creare un'origine dati a livello di applicazione, è necessario disporre del ruolo di gestione applicazioni o utente avanzato con autorizzazione di gestione per l'applicazione specificata. Nella scheda Applicazioni fare clic sul nome di un'applicazione. Quindi fare clic su Origini, sulla scheda Origini dati sotto il nome utente e su Crea origine dati.

    2. Nel passo Generale impostare l'opzione Connessione selezionando la connessione al database Oracle creata.

    3. Per Nome specificare il nome da assegnare all'origine dati.

    4. Per Query specificare una query (in questo esempio viene utilizzato SQL). Per fare della query una query con parametri, è necessario includere una condizione di filtro (clausola WHERE) che esegua il mapping di una colonna relazionale nell'origine a un segnaposto. Per indicare la posizione della variabile si utilizza un segnaposto, ?, nella sintassi della query. Il segnaposto è per un parametro che verrà passato durante un passo successivo.

      select * from SB_DT where DIMENSION_YEAR=?

      Si supponga, ad esempio, che il database relazionale contenga la tabella seguente, denominata SB_DT. La tabella contiene la colonna DIMENSION_YEAR con valori costituiti da mesi:
      Immagine di una tabella di database relazionale con la colonna DIMENSION_YEAR selezionata. Tutti i valori della tabella sono mesi: Jul, Aug, Aug, Sep, Sep, Oct e così via.

      Per utilizzare una variabile per la selezione dei valori del mese dalla colonna DIMENSION_YEAR, applicare la sintassi di filtro seguente nella query: where DIMENSION_YEAR=?
      Immagine della scheda Generale nella procedura guidata Crea origine dati. Connessione: SAMPLE.oracledb_conn, Nome: oracledb_ds, Descrizione: Origine dati per database Oracle, Query: select * from SB_DT where dimension_year=?

    5. Fare clic su Avanti.

    6. Nel passo Colonne applicare il tipo di dati appropriato che Essbase deve associare a ogni colonna dei dati dell'origine relazionale.

      Ad esempio, impostare le colonne numeriche sul tipo Double e non modificare l'impostazione del tipo String per le colonne alfanumeriche.


      Immagine della scheda Colonne della procedura guidata Crea origine dati con selezioni di tipo Double e String.

    7. Fare clic su Avanti.

    8. Nel passo Parametri viene creato Param1: questo parametro esiste perché nella query del passo Generale è stato utilizzato il segnaposto ?.

      Lasciare l'opzione Usa variabili deselezionata, fare doppio clic sul campo di testo sotto Valore, quindi digitare il valore predefinito per il parametro di runtime. Il valore predefinito viene specificato per essere utilizzata come fallback da Essbase nel caso in cui il parametro disponga di un contesto non valido in runtime. Questo passo è importante se si intende utilizzare i parametri di runtime come parte delle definizioni dei report drill-through.

      È inoltre possibile rinominare Param1 specificando un nome significativo per il proprio caso d'uso. Ad esempio, è possibile rinominarlo in param_G_month per indicare che il parametro utilizza una variabile globale per il mese corrente oppure rinominarlo in param_<appName>_month per indicare che utilizza una variabile a livello di applicazione per il mese corrente. La personalizzazione dei nomi dei parametri può rivelarsi utile quando si esegue il debug dei parametri utilizzando i file di log del server Essbase.


      Immagine della scheda Parametri nella procedura guidata Crea origine dati. L'opzione Usa variabili è deselezionata e il valore immesso è Jan.

      Se si desidera personalizzare il parametro per fare riferimento a una variabile di sostituzione, non è necessario fornire un valore predefinito. Vedere Utilizzare le variabili di sostituzione in un'origine dati anziché questo argomento.

    9. Fare clic su Avanti.

    10. In Anteprima osservare come il parametro predefinito sia stato applicato alla query. Di conseguenza l'anteprima viene popolata solo con record di origine esterni in cui il valore della colonna DIMENSION_YEAR è Jan.


      Immagine della scheda Anteprima nella procedura guidata Crea origine dati, che mostra solo i record in cui DIMENSION_YEAR = Jan.

      Sebbene l'anteprima visualizzi solo i valori con il parametro predefinito applicato, in seguito, durante l'implementazione dei parametri runtime per la definizione del report drill-through, si avrà accesso a un numero di dati esterni maggiore rispetto a quelli visibili nell'anteprima.

    11. Fare clic su Crea per creare l'origine dati in base a questa query sui dati di origine esterna. L'origine dati è abilitata per l'implementazione dei parametri runtime.

Utilizzare le variabili di sostituzione in un'origine dati

Il workflow riportato di seguito illustra le modalità di creazione di un'origine dati Essbase da una query eseguita sui dati di un'origine esterna utilizzando una variabile di sostituzione definita in Essbase. La variabile di sostituzione garantisce maggiore flessibilità per la progettazione della query con cui vengono estratti i dati di origine.

In questo esempio si utilizzerà una variabile di sostituzione in Essbase per dichiarare il mese corrente. Anziché aggiornare mensilmente le origini dati per estrarre i dati per il mese corrente, è possibile non intervenire sulle origini dati ma aggiornare solo la variabile di sostituzione definita.

  1. Creare una variabile di sostituzione globale o a livello di applicazione.


    Immagine di una variabile di sostituzione creata a livello di applicazione. Nome: CurrMonth, Valore: Aug

  2. Ottenere o creare una connessione all'origine dati esterna (ad esempio, creare una connessione al database Oracle).

    È possibile utilizzare una connessione globale, se ne esiste già una nella pagina Origini dell'interfaccia Web di Essbase, oppure è possibile creare una connessione a livello di applicazione.

  3. Creare un'origine dati per la connessione che verrà utilizzata per accedere al database Oracle.

    È possibile definire un'origine dati a livello globale, se deve essere disponibile per tutte le applicazioni, oppure a livello di applicazione.

    1. Nel passo Generale impostare l'opzione Connessione selezionando la connessione al database Oracle creata.

    2. Per Nome specificare il nome da assegnare all'origine dati.

    3. Per Query specificare una query (in questo esempio viene utilizzato SQL). Per fare della query una query con parametri, è necessario includere una condizione di filtro (clausola WHERE) che esegua il mapping di una colonna relazionale nell'origine a un segnaposto. Per indicare la posizione della variabile si utilizza un segnaposto, ?, nella sintassi della query. Il segnaposto è per un parametro che verrà passato durante un passo successivo.

      select * from SB_DT where DIMENSION_YEAR=?

      Si supponga, ad esempio, che il database relazionale contenga la tabella seguente, denominata SB_DT. La tabella contiene la colonna DIMENSION_YEAR con valori costituiti da mesi:
      Immagine di una tabella di database relazionale con la colonna DIMENSION_YEAR selezionata. Tutti i valori della tabella sono mesi: Jul, Aug, Aug, Sep, Sep, Oct e così via.

      Per utilizzare una variabile per la selezione dei valori del mese dalla colonna DIMENSION_YEAR, applicare la sintassi di filtro seguente nella query: where DIMENSION_YEAR=?
      Immagine della scheda Generale nella procedura guidata Crea origine dati. Connessione: SAMPLE.oracledb_conn, Nome: oracledb_ds, Descrizione: Origine dati per database Oracle, Query: select * from SB_DT where dimension_year=?

    4. Fare clic su Avanti.

    5. Nel passo Colonne applicare il tipo di dati appropriato che Essbase deve associare a ogni colonna dei dati dell'origine relazionale.

      Ad esempio, impostare le colonne numeriche sul tipo Double e non modificare l'impostazione del tipo String per le colonne alfanumeriche.


      Immagine della scheda Colonne della procedura guidata Crea origine dati con selezioni di tipo Double e String.

    6. Fare clic su Avanti.

    7. Nel passo Parametri viene creato Param1: questo parametro esiste perché nella query del passo Generale è stato utilizzato il segnaposto ?. Per personalizzare Param1 in modo da fare riferimento a una variabile di sostituzione, fare clic su Usa variabili e selezionare una variabile di sostituzione dall'elenco a discesa Valore.

      Se si sta creando un'origine dati all'interno di un'applicazione, sono disponibili per la selezione variabili di sostituzione sia globali che a livello di applicazione. Per le variabili a livello di applicazione viene inserito come prefisso il nome dell'applicazione. Se si sta creando un'origine dati globale, sono disponibili per la selezione solo le variabili di sostituzione globali.

      È possibile rinominare Param1 specificando un nome significativo per il proprio caso d'uso. Ad esempio, è possibile rinominarlo in param_G_month per indicare che il parametro utilizza una variabile globale per il mese corrente oppure rinominarlo in param_<appName>_month per indicare che utilizza una variabile a livello di applicazione per il mese corrente. La personalizzazione dei nomi dei parametri può rivelarsi utile quando si esegue il debug dei parametri utilizzando i file di log del server Essbase.


      Immagine della scheda Parametri nella procedura guidata Crea origine dati. L'opzione Usa variabili è selezionata e il valore è Sample.CurrMonth.

    8. Fare clic su Avanti.

    9. In Anteprima osservare come la variabile di sostituzione sia stata applicata alla query. Di conseguenza l'anteprima viene popolata solo con record di origine esterni in cui il valore della colonna DIMENSION_YEAR è Aug.


      Immagine della scheda Anteprima nella procedura guidata Crea origine dati, che mostra solo i record in cui DIMENSION_YEAR = Aug.

    10. Fare clic su Crea per creare l'origine dati in base a questa query sui dati di origine esterna.