Operazioni di database su misura testo e data

Le operazioni comuni eseguite sui cubi di Essbase con misure data sono simili a quelle di altri cubi. È possibile caricare, cancellare ed esportare valori di testo e data. È possibile consolidare le classifiche. È possibile eseguire query sui dati in MDX, Smart View, Report Writer o altri client Grid.

Carica, cancella ed esporta misure di testo e data

Caricare i valori delle misure digitate in Essbase a qualsiasi livello nei cubi BSO o a livello di input nei cubi ASO. Per ASO, è meglio eseguire il commit di un singolo buffer di caricamento, specificando l'opzione di sostituzione. Potrebbe essere necessario distinguere i valori di testo o di data dai nomi dei membri inserendo un prefisso #Txt:.

Per caricare i dati in misure di testo o di data, seguire la stessa procedura utilizzata per caricare i dati in membri con misure numeriche. I dati di input devono contenere valori data formattati o valori di testo corrispondenti all'oggetto elenco di testo associato alla misura di testo.

Se si tenta di caricare valori di testo non presenti nell'oggetto elenco di testo associato a tale membro, Essbase emette un messaggio di avvertenza.

Nei cubi di memorizzazione di aggregazione (ASO), i valori possono essere caricati solo a livello di input; questa limitazione si applica ugualmente alle misure di testo e data. Nei cubi di memorizzazione a blocchi (BSO), i valori di testo e data possono essere caricati a qualsiasi livello.

È possibile cancellare, bloccare e inviare ed esportare valori di testo o di data esattamente come si eseguono tali operazioni su valori numerici.

Formato delle misure testuali nelle esportazioni di dati e nelle importazioni di dati in formato libero

È possibile caricare valori di testo o data con o senza file di regole. Quando un file di regole non viene utilizzato (in un caricamento dati in formato libero), in alcuni casi è necessario distinguere i valori di testo o data dai nomi dei membri anteponendoli alla stringa #Txt: e racchiudendo il prefisso e i valori di testo tra virgolette doppie, ad esempio: "#Txt:Highly Satisfied".

Nota

L'intera stringa, incluso il prefisso, deve essere racchiusa tra virgolette.

Ecco un esempio di una linea di dati in un file di caricamento dati in formato libero. Questo è anche il modo in cui viene formattato un file di esportazione dati, quando si esportano dati da un cubo di memorizzazione di aggregazione con misure testuali:

"100-10" "New York" "Cust Index" "#Txt:Highly Satisfied"

Il valore di testo Highly Satisfied è il nome dell'oggetto elenco di testo, con il prefisso #Txt: per differenziarlo dai nomi dei membri, ad esempio "New York".

Il prefisso #Txt: è applicabile anche quando si caricano misure di data, valori #Missing e valori che sarebbero #OutOfRange.

Le misure testuali esportate vengono contrassegnate nel file di esportazione con #Txt: come prefisso prima del nome dell'oggetto elenco di testo. Di seguito sono riportati alcuni esempi.

"100-10" "New York" "Cust Index" "#Txt:Highly Satisfied"

Quando si reimportano misure testuali nel cubo utilizzando un caricamento dati in formato libero senza file di regole, gli indicatori #Txt: sono necessari per distinguere i nomi degli oggetti della lista di testo dal resto dei dati.

Istruzioni di memorizzazione di aggregazione aggiuntive per il caricamento dei valori di testo e data

Utilizzare le linee guida riportate di seguito durante il caricamento dei valori di testo e data in un cubo di memorizzazione di aggregazione. Queste linee guida aiuteranno a eliminare le aggregazioni non valide.

  • Caricare i valori a livello di input.

  • Utilizzare la modalità Sostituisci quando si esegue il commit di un buffer di caricamento.

    Per impostare la modalità di sostituzione quando si esegue il commit di un buffer, in MaxL utilizzare la grammatica override values dell'istruzione import data. Nell'API REST utilizzare il jobType di asoBufferCommit per Esegui job, specificando termOption come INCR_TO_NEW_SLICE (o 1) quando si esegue il commit del buffer (per i dettagli, vedere anche Crea endpoint buffer nella documentazione dell'API REST). Nell'API Java di Essbase utilizzare il parametro commitType del metodo IEssCube.loadBufferTerm. Nell'API C utilizzare il campo ulCommitType della funzione EssLoadBufferTerm.

  • Utilizzare un buffer di caricamento singolo per caricare tutti i valori associati alle misure di data/testo.

  • Impostare il metodo di aggregazione duplicato su "usa ultimo" durante l'inizializzazione del buffer di caricamento per eliminare le aggregazioni non valide.

    Attenzione

    Il metodo aggregate_use_last ha un impatto significativo sulle prestazioni e non è destinato a caricamenti di dati di grandi dimensioni. Se il caricamento dei dati supera il milione di celle, considerare la possibilità di separare i dati numerici in un processo di caricamento dati separato (da qualsiasi dato di misura digitato). Il caricamento dati separato può invece utilizzare aggregate_sum.

    Per specificare l'opzione "use last" in MaxL, fare riferimento al terminale PROPS che fa parte della clausola initialize load_buffer nell'istruzione alter database. Nell'API REST, specificare duplicateAggregationMethod come USE_LAST quando si inizializza il buffer (vedere Crea endpoint buffer nella documentazione dell'API REST). Nell'API Java di Essbase, utilizzare il parametro duplicateAggregationMethod del metodo IEssCube.loadBufferInit. Nell'API C utilizzare il campo ulDuplicateAggregationMethod della funzione EssLoadBufferInit.

  • Evitare di caricare i valori #MISSING nelle misure di testo/data in modalità di caricamento dati incrementale. Quando un valore #MISSING viene caricato in una cella con un valore non mancante in carico incrementale, viene sostituito con un valore zero. Il valore zero potrebbe non avere lo stesso significato del valore #MISSING per le misure di data/testo. Utilizzare il caricamento dati completo se è necessario caricare i valori #MISSING nelle misure di data/testo.

Se vengono caricati dati misti (numerici e di testo o di data), assicurarsi che la modalità Sostituisci sia sufficiente per i dati numerici oppure creare un processo di caricamento dati separato per i dati numerici.

Fattori di consolidamento per misure di testo e data

Per impostazione predefinita, alle misure di testo viene assegnato l'operatore ^ (mai consolidato). Le misure di testo e data non sono consolidate per i membri di livello superiore nelle dimensioni non conti. Se le misure vengono utilizzate per la classificazione, è possibile che sia necessario consolidare le misure testuali nei cubi BSO di Essbase.

Se si contrassegna una misura di testo o di data con un operatore diverso da ^, questa verrà consolidata insieme ad altre dimensioni in base al relativo valore numerico interno. Questa opzione non è consigliata per i cubi di memorizzazione di aggregazione, poiché solo l'operatore + è supportato per il consolidamento e i valori aggregati probabilmente non avranno alcuna validità per le misure di testo o data. Inoltre, Essbase non traduce i valori fuori intervallo in #OUTOFRANGE durante il consolidamento.

Per i cubi di memorizzazione a blocchi, è possibile scrivere script di calcolo che consolidano le misure di testo in modo personalizzato. È possibile consolidare le misure di testo quando rappresentano misure di classificazione. Ad esempio, si consideri un elenco di testo denominato "CustomerSatisfaction", che contiene mapping quali Eccellente=5, Buono=4, Fiera=3, Scarso=2, Cattivo=1. I valori vengono caricati al livello 0. È possibile consolidare i valori ai livelli padre prendendo una media di valori a livelli figlio. Ad esempio, il valore di "CustomerSatisfaction" in [Qtr1] è la media dei valori in [Jan], [Feb], [Mar].

Query su dati con misure testo e data

Le misure di testo o di data possono essere recuperate o sottoposte a query nello stesso modo delle misure numeriche, utilizzando Smart View, MDX, Report Writer o la vista Analizza nell'interfaccia Web di Essbase. Le celle corrispondenti vengono visualizzate con i valori di testo appropriati o con i valori di data formattati.

Ad esempio, la griglia Smart View riportata di seguito proviene dal cubo Valutazione struttura, che è possibile scaricare dal catalogo File in Tutti i file > Galleria > Applicazioni > Valutazione struttura. Il membro Risposta è una misura testuale all'interno della dimensione Misure.


Griglia Smart View che mostra la misura testuale Risposte per consentire agli utenti di valutare le materie prime di una struttura di business unit, ad esempio Opinione utente 1/Cafeteria/No. User1/Commute/Very non valido. User1/Conference Rooms/Nice.

La funzione MDX ENUMVALUE e la funzione di calcolo @ENUMVALUE sono progettate per ottenere il valore numerico delle misure di testo. Queste funzioni possono essere utili negli script MDX, negli script di calcolo o nelle formule quando è necessario eseguire operazioni basate sul valore numerico di un membro anziché sul relativo valore di testo.

I comandi Report Writer riportati di seguito sono progettati per funzionare con i dati numerici e non sono supportati per le misure di testo o data.

  • LIMITA

  • TOP

  • INFERIORE

  • Comandi SORT*

  • CALCOLA COLONNA

  • CALCOLA RIGA

Limitazioni delle misure di testo e di data

Se si aggiorna un oggetto elenco di testo, aggiungere gli elementi in alto o in basso per evitare potenziali impatti derivanti dalla ristrutturazione del profilo di Essbase. I membri condivisi hanno lo stesso tipo di testo o data del membro prototipo.

Una ristrutturazione del profilo non ristruttura gli elenchi di testo. Se il mapping tra valori numerici e valori di testo in un elenco di testo viene modificato, la modifica si rifletterà nei dati di testo già presenti nel database per tale elenco di testo. Pertanto, quando si aggiungono elementi a un elenco di testo, aggiungerli all'inizio o alla fine dell'elenco in modo da evitare di modificare i numeri di mapping degli elementi dell'elenco di testo esistenti.

Le misure di testo e data non sono supportate tra le partizioni.

I membri condivisi e i membri condivisi impliciti ereditano il tipo di testo o di data del membro prototipo.