Tecniche avanzate: riferimento a valori memorizzati in variabili

Si supponga di voler creare un'analisi il cui titolo visualizzi il nome dell'utente corrente. È possibile fare ciò facendo riferimento a una variabile.

Nelle analisi, nei dashboard e nelle azioni, è possibile fare riferimento a numerosi tipi di variabili diversi: di sessione, di modello semantico (repository), di presentazione, di richiesta e globali. Gli autori di contenuto possono definire personalmente le variabili di presentazione, di richiesta e global, mentre gli altri tipi (variabili di sessione e di modello semantico (repository)) sono automaticamente definiti nel modello semantico.

Nota: Oracle Analytics non supporta le variabili :user e :password nelle credenziali di connessione all'origine dati.

Tipo di variabile Definito in Definito da Ulteriori informazioni

Sessione

  • Di sistema

  • Non di sistema

Modello semantico

Autori modello dati

Informazioni sulle variabili di sessione

Modello semantico (repository)

  • Dinamica

  • Statica

Modello semantico

Autori modello dati

Informazioni sulle variabili di modello semantico (repository)

Presentazione

Prompt per analisi e dashboard

Autori di contenuto

Informazioni sulle variabili di presentazione

Richiesta

Prompt per analisi e dashboard

Autori di contenuto

Informazioni sulle variabili di richiesta

Globale

Analisi

Amministratori

Informazioni sulle variabili globali e Creare variabili globali

Informazioni sulle variabili di sessione

Le variabili di sessione vengono inizializzate quando un utente si collega.

Queste variabili rimangono disponibili per ogni utente per la durata della sessione di ricerca e scadono quando l'utente chiude il browser o si scollega. Esistono due tipi di variabile di sessione: di sistema e non di sistema.

Variabili di sessione di sistema

Esistono numerose variabile di sessione di sistema che possono essere utilizzate nei report e nei dashboard.

Le variabili di sessione di sistema hanno nomi riservati che non possono essere utilizzati per nessun altro tipo di variabile.

Variabile di sessione di sistema Descrizione Valore query SQL di esempio (finestra di dialogo Variabile)

PORTALPATH

Identifica il dashboard predefinito visualizzato dall'utente quando si collega (è possibile sostituire questa preferenze dopo essersi collegati).

Per visualizzare 'mydashboard' quando un utente si collega:

 select ‘/shared/_portal/mydashboard’ from dual;

TIMEZONE

Specifica il fuso orario predefinito per l'utente quando si collega.

Il fuso orario viene in genere acquisito dal profilo dell'utente. Gli utenti possono modificare il fuso orario predefinito nelle preferenze (Account personale).

Per impostare il fuso orario quando l'utente si collega:

select ‘(GMT-08:00) Pacific Time (US & Canada)’ from dual;

DATA_TZ

Specifica un offset rispetto al fuso orario originale per i dati.

Questa variabile consente di convertire un fuso orario in modo che gli utenti visualizzino il fuso orario appropriato.

Per convertire i dati dell'ora nell'ora standard fuso orientale (EST):

select ‘GMT-05:00’ from dual;

Questo esempio significa Ora GMT - 5 ore

DATA_DISPLAY_TZ

Specifica il fuso orario per la visualizzazione dei dati.

Per visualizzare l'ora standard fuso orientale (EST):

select ‘GMT-05:00’ from dual;

Questo esempio significa Ora GMT - 5 ore

Variabili di sessione non di sistema

Le variabili di sessione non di sistema vengono denominate e create nel modello semantico.

Ad esempio, è possibile creare una variabile SalesRegion che inizializzi il nome dell'area di vendita di un utente quando l'utente si collega.

Informazioni sulle variabili di modello semantico (repository)

Una variabile di modello semantico (repository) è una variabile con un unico valore in qualsiasi momento.

Le variabili di modello semantico (repository) possono essere statiche o dinamiche. Una variabile di modello semantico (repository) statica ha un valore persistente e non cambia a meno che l'amministratore non decida di modificarla. Una variabile di modello semantico (repository) dinamica ha un valore che viene aggiornato dai dati restituiti dalle query.

Informazioni sulle variabili di presentazione

È possibile creare una variabile di presentazione quando si crea un prompt colonna o un prompt variabile.

Tipo Descrizione

Prompt colonna

Una variabile di presentazione creata come parte di un prompt colonna viene associata a una colonna e i valori che può avere provengono dai valori della colonna.

Per creare una variabile di presentazione come parte di un prompt colonna, nella finestra di dialogo Nuovo prompt è necessario selezionare Variabile presentazione nel campo Imposta una variabile. Immettere un nome per la variabile nel campo Nome variabile.

Prompt variabile

Una variabile di presentazione creata come parte di un prompt variabile non viene associata ad alcuna colonna ed è l'utente a definire i valori che può avere.

Per creare una variabile di presentazione come parte di un prompt variabile, nella finestra di dialogo Nuovo prompt è necessario selezionare Variabile presentazione nel campo Prompt per. Immettere un nome per la variabile nel campo Nome variabile.

Il valore di una variabile di presentazione viene inserito dal prompt colonna o variabile con il quale è stato creato. In altre parole, ogni volta che un utente seleziona uno o più valori in un prompt colonna o variabile, il valore della variabile di presentazione viene impostato sul valore o sui valori selezionati dall'utente.

Informazioni sulle variabili di richiesta

Una variabile di richiesta consente di sostituire il valore di una variabile di sessione, ma solo per la durata di una richiesta al database avviata da un prompt colonna. È possibile generare una variabile di richiesta come parte del processo di creazione di un prompt colonna.

È possibile creare una variabile di richiesta nell'ambito del processo di creazione di uno dei tipi di prompt dei dashboard riportati di seguito.

  • Una variabile di richiesta creata all'interno di un prompt colonna viene associata a una colonna e i valori che può avere provengono dai valori della colonna.

    Per creare una variabile di richiesta come parte di un prompt colonna, nella finestra di dialogo Nuovo prompt è necessario selezionare Variabile richiesta nel campo Imposta una variabile. Immettere il nome della variabile di sessione da sostituire nel campo Nome variabile.

  • Una variabile di richiesta creata come parte di un prompt variabile non viene associata ad alcuna colonna e i valori che può assumere vengono definiti dall'utente.

    Per creare una variabile di richiesta come parte di un prompt variabile, nella finestra di dialogo Nuovo prompt o Modifica prompt è necessario selezionare Variabile richiesta nel campo Prompt per. Immettere il nome della variabile di sessione che si desidera sostituire nel campo Nome variabile.

Il valore di una variabile di richiesta viene inserito dal prompt colonna con il quale è stato creato. In altre parole, ogni volta che un utente seleziona un valore in un prompt colonna, il valore della variabile di richiesta è impostato su quello selezionato dall'utente. Il valore, tuttavia, diventa effettivo solo quando l'utente fa clic sul pulsante Vai per il prompt e fino a quando i risultati dell'analisi vengono restituiti al dashboard.

Certe variabili di sessione di tipo Sistema, ad esempio USERGUID o ROLES, non possono essere sostituite da variabili di richiesta. Altre variabili di sessione di tipo Sistema, quali DATA_TZ e DATA_DISPLAY_TZ (fuso orario), possono essere sostituite se configurate in Model Administration Tool.

Solo le variabili di richiesta di stringa e numeriche supportano più valori. Tutti gli altri tipi di dati passano solo il primo valore.

Informazioni sulle variabili globali

Una variabile globale è una colonna creata mediante la combinazione di uno specifico tipo di dati con un valore. I valori possono essere una data, una data e un'ora, un numero, un testo e un'ora.

La variabile globale viene valutata nel momento in cui viene eseguita l'analisi e il valore della variabile globale viene sostituito in modo appropriato.

Solo gli utenti che dispongono del ruolo Amministratore di servizi BI possono gestire (aggiungere, modificare ed eliminare) le variabili globali.

Durante il processo di creazione di un'analisi, è possibile creare un valore globale utilizzando la finestra di dialogo Modifica formula colonna. La variabile globale viene quindi salvata nel catalogo e resa disponibile per tutte le altre analisi all'interno di un determinato sistema tenant.

Creare variabili globali

È possibile salvare un calcolo come variabile globale per riutilizzarlo in seguito in altre analisi.

  1. Aprire l'analisi per la modifica.
  2. Nel riquadro Colonne selezionate, fare clic su Opzioni accanto al nome di colonna.
  3. Selezionare Modifica formula per visualizzare la scheda Formula colonna.
  4. Fare clic su Variabile e selezionare Globale.
  5. Fare clic su Aggiungi nuova variabile globale.
  6. Immettere il valore per il campo Nome. Ad esempio, gv_region, date_and_time_global_variable o rev_eastern_region_calc_gv.
    Il nome di una variabile globale deve essere completamente qualificato quando si fa riferimento alla variabile, pertanto è preceduto dalla dicitura "global.variables". Ad esempio, una variabile globale impostata per calcolare il fatturato viene visualizzata nella finestra di dialogo Formula colonna come riportato di seguito.

    "Base Facts"."1- Revenue"*@{global.variables.gv_qualified}

  7. Immettere i valori per Tipo e Valore.
    • Se si seleziona "Data e ora" come tipo di dati, immettere il valore come nel seguente esempio: 03/25/2004 12:00:00 AM
    • Se si intende immettere un'espressione o un calcolo come valore, è necessario utilizzare il tipo di dati Testo, come nel seguente esempio: "Base Facts"."1- Revenue"*3.1415
  8. Fare clic su OK. La nuova variabile globale viene aggiunta nella finestra di dialogo Inserisci variabile globale.
  9. Selezionare la nuova variabile globale appena creata, quindi fare clic su OK. La finestra di dialogo Modifica formula colonna viene visualizzata con la variabile globale inserita nel riquadro Formula colonna. La casella di controllo Intestazioni colonna viene selezionata automaticamente.
  10. Immettere un nuovo nome per la colonna a cui è stata assegnata una variabile globale per indicare in modo più accurato la variabile.
  11. Fare clic su OK.

Sintassi per fare riferimento alle variabili

È possibile fare riferimento alle variabili in analisi e dashboard.

La modalità di riferimento a una variabile dipende dal task che si sta eseguendo. Per i task in cui vengono visualizzati campi in una finestra è necessario specificare solo il tipo e il nome della variabile (non la sintassi completa), ad esempio quando si fa riferimento a una variabile in una definizione di filtro.

Per altri task, ad esempio il riferimento a una variabile in una vista del titolo, è necessario specificare la sintassi della variabile. La sintassi che si utilizza dipende dal tipo di variabile, come descritto nella tabella riportata di seguito.

Tipo Sintassi Esempio

Sessione

@{biServer.variables['NQ_SESSION.variablename']}

dove variablename è il nome della variabile di sessione, ad esempio DISPLAYNAME.

@{biServer.variables['NQ_SESSION.SalesRegion']}

Modello semantico (repository)

@{biServer.variables.variablename}

oppure

@{biServer.variables['variablename']}

dove variablename è il nome della variabile, ad esempio prime_begin

@{biServer.variables.prime_begin}

oppure

@{biServer.variables['prime_begin']}

Presentazione o richiesta

@{variables.variablename}[format]{defaultvalue}

oppure

@{scope.variables['variablename']}

dove:

variablename è il nome della variabile di presentazione o di richiesta, ad esempio MyFavoriteRegion.

(facoltativo) format è una maschera di formato che dipende dal tipo di dati della variabile, ad esempio #,##0, MM/DD/YY hh:mm:ss. Il formato non viene applicato al valore predefinito.

(facoltativo) defaultvalue è una costante o un riferimento di variabile che indica un valore da utilizzare se la variabile alla quale fa riferimento variablename non contiene dati.

scope identifica i qualificatori per la variabile. Specificare l'ambito se si utilizza una variabile in più livelli (analisi, pagine del dashboard e dashboard) e si desidera accedere a un valore specifico. Se non si specifica l'ambito, l'ordine di precedenza sarà analisi, pagine del dashboard e dashboard.

Quando si usa un prompt del dashboard con una variabile di presentazione che può assumere più valori, la sintassi varia a seconda del tipo di colonna. In presenza di più valori, questi vengono formattati in valori separati da virgole, di conseguenza qualsiasi clausola FORMAT viene applicata a ogni valore prima di essere unito dalle virgole.

@{variables.MyFavoriteRegion}{EASTERN REGION}

oppure

@{dashboard.MyFavoriteRegion}{EASTERN REGION}

oppure

@{dashboard.variables['MyFavoriteRegion']}

oppure

(@{myNumVar}[#,##0]{1000})

oppure

(@{variables.MyOwnTimestamp}[YY-MM-DD hh:mm:ss]{)

oppure

(@{myTextVar}{A, B, C})

Globale

@{global.variables.variablename}

dove variablename è il nome della variabile globale, ad esempio gv_region. Quando si fa riferimento a una variabile globale, è necessario utilizzare il nome completamente qualificato come indicato nell'esempio.

La convenzione di denominazione per le variabili globali deve essere conforme alle specifiche del linguaggio di script ECMA per JavaScript. Il nome non deve superare i 200 caratteri, né contenere spazi incorporati, parole riservate e caratteri speciali. Se non si ha familiarità con i requisiti del linguaggio JavaScripting, consultare i manuali di terze parti

@{global.variables.gv_date_n_time}

È inoltre possibile fare riferimento alle variabili nelle espressioni. Le istruzioni per fare riferimento alle variabili nelle espressioni sono descritte negli argomenti seguenti:

Variabili di sessione

Per fare riferimento alle variabili di sessione nelle espressioni, attenersi alle istruzioni riportate di seguito.

  • Includere la variabile di sessione come argomento della funzione VALUEOF.
  • Racchiudere il nome della variabile tra virgolette.
  • Precedere la variabile di sessione da NQ_SESSION e un punto.
  • Racchiudere NQ_SESSION tra virgolette.
  • Racchiudere la parte NQ_SESSION e il nome della variabile di sessione tra parentesi.

Ad esempio:

"Market"."Region"=VALUEOF("NQ_SESSION"."SalesRegion")

Variabili di presentazione

Per fare riferimento alle variabili di presentazione nelle espressioni, attenersi alle istruzioni riportate di seguito.

Per fare riferimento a una variabile di presentazione, utilizzare questa sintassi:

@{variablename}{defaultvalue}

dove variablename è il nome della variabile di presentazione e defaultvalue (facoltativo) è una costante o un riferimento di variabile che indica un valore da utilizzare se la variabile alla quale fa riferimento variablename non contiene dati.

Per convertire la variabile in una stringa o includere più variabili, racchiudere l'intera variabile fra apici. Esempio:

'@{user.displayName}'

Il simbolo @, se non è seguito da una parentesi graffa ({), viene considerato come simbolo @. Quando si utilizza una variabile di presentazione che può assumere più valori, la sintassi varia a seconda del tipo di colonna.

In SQL, utilizzare la sintassi riportata di seguito per il tipo di colonna specificato in modo da generare istruzioni SQL valide.

  • Testo: (@{variablename}['@']{'defaultvalue'})

  • Numerico: (@{variablename}{defaultvalue})

  • Data-ora: (@{variablename}{timestamp 'defaultvalue'})

  • Data (solo la data): (@{variablename}{date 'defaultvalue'})

  • Ora (solo l'ora): (@{variablename}{time 'defaultvalue'})

Ad esempio:

'@{user.displayName}'

Variabili di modello semantico (repository)

Per fare riferimento alle variabili di modello semantico (repository) nelle espressioni, attenersi alle istruzioni riportate di seguito.

  • Includere la variabile come argomento della funzione VALUEOF.
  • Racchiudere il nome della variabile tra virgolette.
  • Fare riferimento a una variabile di modello semantico (repository) statica per nome.
  • Fare riferimento a una variabile di modello semantico (repository) dinamica con il rispettivo nome completamente qualificato.

Ad esempio:

CASE WHEN "Hour" >= VALUEOF("prime_begin") AND "Hour" < VALUEOF("prime_end") THEN 'Prime Time' WHEN ... ELSE...END