Implementare i parametri per le origini dati

Per rendere più flessibili le origini dati, è possibile implementare i parametri di runtime, consentendo a Essbase di utilizzare le variabili nella query. L'uso delle variabili nelle origini dati consente di semplificare le operazioni richiedendo meno origini dati da gestire.

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. Procedere in uno dei seguenti modi:

    • Impostare un valore fisso di parametro predefinito nell'origine dati per Essbase da utilizzare come fallback nel caso in cui la variabile risulti non valida in runtime

    • Impostare una variabile di sostituzione da utilizzare 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 Application Manager o superiore.

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 Database Manager sovrintende a un processo di caricamento dati ricorrente che carica i dati nel cubo su base mensile. Ora Database Manager può utilizzare una variabile di sostituzione per caricare i dati per il mese corrente anziché gestire una regola di carico per ogni mese.

  • Un Application Manager gestisce le definizioni di report drill-through per diversi casi d'uso aziendali. Application Manager implementa variabili nell'origine dati di base di cui gli utenti di Smart View eseguono il pull nelle operazioni del drill-through. Ne risulta che l'Application Manager avrà un minor numero di definizioni di report drill-through da gestire ed 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 essere un amministratore del servizio. Nella Home page fare clic su Origini, fare clic sulla scheda Origini dati sotto il nome utente e fare clic su Crea origine dati.

      In alternativa, per creare un'origine dati a livello di applicazione, è necessario essere un Application Manager o un utente avanzato con l'autorizzazione di gestione dell'applicazione per l'applicazione specificata. Nella Home page, fare clic sul nome di un'applicazione. Quindi fare clic su Origini, fare clic sulla scheda Origini dati sotto il nome utente e fare clic su Crea origine dati.

    2. Nel passo Generale, in Connessione, selezionare la connessione a Oracle Database 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 del 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 Successivo.

    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 Successivo.

    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 del testo sotto Valore, quindi immettere 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 Usa variabili di sostituzione in un'origine dati anziché questo argomento.

    9. Fare clic su Successivo.

    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 Salva per creare l'origine dati in base alla 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 di livello applicazione.


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

  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, in Connessione, selezionare la connessione a Oracle Database 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 del 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 Successivo.

    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 Successivo.

    7. Nel passo Parametri viene creato Param1: questo parametro esiste perché nella query del passo Generale è stata utilizzata la funzione ?. Per personalizzare Param1 in modo da far 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 Successivo.

    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 Salva per creare l'origine dati in base alla query sui dati di origine esterna.