Riferimenti livello in build dimensioni

I livelli vengono definiti da una gerarchia bottom-up, in cui i membri foglia sono di livello 0, e ogni passo più vicino al nome dimensione incrementa il livello di 1. Quando si creano dimensioni Essbase da un'origine bottom-up, utilizzare il metodo di generazione Livello. Se i dati di origine contengono valori nulli, utilizzare il metodo di generazione Null a livello di processo.

In un'origine dati bottom-up, ogni record definisce un singolo membro di una dimensione. La definizione inizia con le informazioni più specifiche sul membro e fornisce progressivamente informazioni più generali. Un record tipico specifica il nome del nuovo membro, quindi il nome del padre, quindi il padre del padre e così via.

Ad esempio, nel profilo illustrato di seguito, i membri di livello inferiore si trovano al fondo dei rami della dimensione Prodotto.

Figura 14-3 Generazione e numeri di livello


Questa immagine mostra il numero di generazione e il numero di livello per ogni membro.

Per creare il profilo utilizzando un job di generazione dimensioni, è possibile immettere la seguente origine dati bottom-up:

100-10-12  100-10  100
100-20-12  100-20  100

In genere, è possibile eseguire una generazione di dimensioni utilizzando il metodo di generazione Livello quando i membri di livello inferiore sono sequenziati da sinistra a destra. I membri di livello 0 (livello foglia) si trovano nel primo campo, i membri di livello 1 nel secondo campo e così via. Questa organizzazione è l'opposto di come vengono presentati i dati per i riferimenti di generazione (dall'alto verso il basso).

Si supponga di disporre di un cubo con una dimensione Prodotto e di voler utilizzare il seguente file di dati delimitato da tabulazioni bottom-up per creare più membri del prodotto nella dimensione Prodotto.

600-10-11	600-10	600
600-20-10	600-20	600
600-20-18	600-20	600

L'origine dei dati è "dal basso verso l'alto" in quanto la prima colonna dell'origine dei dati contiene nuovi membri del livello foglia (600-10-11, 600-20-10 e 600-20-18). La seconda colonna contiene i genitori dei nuovi membri (600-10 e 600-20) e la terza colonna contiene i genitori dei genitori (600).

La regola di caricamento della generazione della dimensione utilizza il metodo di generazione del riferimento livello per aggiungere i membri alla dimensione Prodotto. La regola specifica il numero di livello e il tipo di campo per ogni campo dell'origine dei dati. È inoltre necessario selezionare il metodo di generazione Livello nelle proprietà dimensione della regola, a meno che i dati di origine non contengano valori nulli (per questo caso d'uso, vedere Gestione dei campi vuoti, di seguito).

Regola di generazione dimensione per una generazione livello

Essbase crea la gerarchia seguente dall'origine dei dati e della regola:

Figura 14-4 livelli


Questa immagine mostra i nuovi membri creati durante la generazione del livello.

Gestione dei campi vuoti

Quando si creano dimensioni dai riferimenti di generazione o livello nei dati di origine, è possibile scegliere di elaborare valori nulli. L'elaborazione nulla specifica le azioni che Essbase deve eseguire quando rileva campi vuoti nell'origine dei dati.

Nota

Le opzioni di elaborazione nulle sono disponibili solo per le regole di generazione delle dimensioni normali (non basate su indice).

Se l'elaborazione nulla non è abilitata, Essbase rifiuta tutti i record con valori nulli e scrive un errore nel log degli errori.

Per abilitare l'elaborazione nulla, selezionare uno dei metodi di generazione di elaborazione nulli nelle proprietà della dimensione quando si crea la nuova regola di generazione della dimensione.


Metodi di generazione di elaborazione nulli nelle proprietà delle dimensioni per una nuova regola

Se si utilizza il metodo di generazione Null a livello di processo, viene indicato a Essbase di aspettarsi alcuni valori nulli durante l'elaborazione dei riferimenti a livello di dati di origine, il che consente di evitare errori.

Esempio

Per questo esempio di generazione della dimensione, si supponga di voler aggiungere una gerarchia incompleta/asimmetrica come quella riportata di seguito in una nuova dimensione Canale in Sample Basic.


La dimensione canale contiene quattro livelli di profondità dei membri. Gli ID canale sono al livello 0. Gli ID canale indiretto hanno tre livelli di membri al di sopra di essi e gli ID canale diretto hanno quattro livelli di membri al di sopra di essi, rendendo questa gerarchia squilibrata.

L'origine dati è dal basso verso l'alto, il che significa che i livelli più bassi vengono visualizzati per primi in ogni record. Pertanto, ha senso utilizzare un metodo di creazione di riferimenti di livello. Tuttavia, saranno necessarie istruzioni di gestione nulle. I primi tre record di dati di origine contengono campi nulli, poiché non esistono dati di posizione per i canali indiretti.

Channel-04,,Indirect,"All Channels"
Channel-07,,Indirect,"All Channels"
Channel-24,,Indirect,"All Channels"
Channel-21,Outlet,Direct,"All Channels"
Channel-29,Mall,Direct,"All Channels"
Channel-31,Kiosk,Direct,"All Channels"

È possibile creare una regola per creare le dimensioni ed evitare errori relativi a valori nulli utilizzando il metodo di generazione Null a livello di processo.

Per creare una regola per questo esempio,

  1. Importare/creare il cubo di base di esempio utilizzando la cartella di lavoro dell'applicazione disponibile nella gallery nel catalogo file del server Essbase.

  2. Creare un file di dati delimitato da virgole come il seguente, denominarlo levchannel.txt e caricarlo nella directory del cubo Sample Basic.

    Channel-04,,Indirect,"All Channels"
    Channel-07,,Indirect,"All Channels"
    Channel-24,,Indirect,"All Channels"
    Channel-21,Outlet,Direct,"All Channels"
    Channel-29,Mall,Direct,"All Channels"
    Channel-31,Kiosk,Direct,"All Channels"
  3. Nella Home page aprire l'applicazione, quindi aprire il database (cubo).

  4. Selezionare la scheda Script, quindi fare clic su Regole.


    La scheda Script è selezionata e la casella Regole è evidenziata nell'interfaccia Web Essbase.

  5. Fare clic su Crea e scegliere Crea dimensione (normale).


    Nella finestra di dialogo del database, viene premuto il pulsante Crea e viene selezionata l'opzione Generazione dimensione (normale)

  6. Nella finestra di dialogo Nuova regola,

    1. Immettere un nome di regola, ad esempio levchannel.

    2. Per Tipo di origine selezionare File, fare clic su Catalogo e passare a levchannel.txt.

      Quando si fa clic su Catalogo, si prevede che il file si trovi nella directory del cubo nel server Essbase per impostazione predefinita, pertanto è necessario averlo già caricato utilizzando la sezione File dell'interfaccia Web Essbase. Se il file si trova sul computer client, fare clic su Browser file per individuare il file.

    3. Lasciare i campi Numero record intestazione e Numero record build dimensione come 0. I record intestazione non sono utili per le build dimensione.

    4. Fare clic su Procedi.

    5. La regola di generazione delle dimensioni viene aperta con campi non definiti e vengono visualizzati in anteprima i dati (dal file di testo) che popolano la griglia sotto i campi.
      Editor di regole di generazione dimensioni per la nuova regola "levchannel", con campi non definiti da 1 a 4 come colonne di metadati in attesa di essere compilate. In ogni campo sono presenti i valori dei dati importati dal file di dati di origine.

  7. Poiché si tratta di una nuova regola, non sono ancora associate dimensioni.

    1. Fare clic su Dimensioni.
      Pulsante Dimensioni nell'editor regole

    2. Digitare il nuovo nome dimensione Canale e fare clic su Aggiungi.
  8. Ora è necessario definire il metodo di generazione e controllare altre istruzioni operative di generazione delle dimensioni. Fare clic sul collegamento Canale per modificare le proprietà della dimensione.

  9. Modificare Metodo di generazione in Null a livello di processo.


    Finestra Modifica dimensioni nell'editor regole di generazione dimensione, con il livello di processo nullo selezionato.

    Fare clic su OK.

  10. Fare clic sul selettore Dimensione nel campo 1 e selezionare Canale.
    Campo 1 nell'editor regole di generazione dimensione, popolato con i dati e con la dimensione Canale selezionata.

  11. Modificare il selettore Tipo del campo 1 in Livello.

  12. Aumentare il Livello a 0, poiché gli ID canale si trovano al livello 0.

  13. Nei campi da 2 a 4 è ora necessario selezionare Canale come dimensione. Modificare i selettori Tipo in Livello e contrassegnare i numeri di livello come 1 per il campo 2, 2 per il campo 3 e 3 per il campo 4.


    Regola di generazione dimensioni per creare una dimensione canale con una gerarchia incompleta utilizzando il metodo di generazione Null a livello di processo. Il campo 1 è definito come Canale, Livello, 0 e contiene gli ID canale. Il campo 2 è definito come canale, livello 1 e contiene tre campi nulli e tre campi ubicazione (Outlet, centro commerciale e chiosco). Il campo 3 è definito come Canale, Livello, 2 e Indiretto per tre record e Diretto per tre record. Il campo 4 è definito come Canale, Livello, 3 e contiene tutti i canali.

  14. Verificare la regola, quindi salvare e chiudere. In caso di errori, vedere Requisiti per i file di regole di generazione dimensioni validi.

  15. Eseguire il job di generazione dimensioni.

  16. Visualizzare la struttura per confermare l'aggiunta della dimensione Canale e della gerarchia prevista dei membri.

Flusso di elaborazione nullo per le build dimensione basate su livello

Se l'elaborazione nulla è abilitata, Essbase elabora i valori nulli a livello di valori nei modi seguenti:

  • Campo di livello nullo: se si verifica un valore nullo in cui Essbase prevede un campo di livello, Essbase promuove il campo di livello successivo per sostituire il campo mancante.

    Esempio

    La generazione della dimensione posiziona Indiretto nel Livello 1 anziché nel Livello 2, poiché il Campo 2 per il Livello 1 contiene un valore nullo.


    Il campo 1 è Canale, Livello 0 contenente un ID canale nella prima riga. Il campo 2 è Canale, Livello 1 contenente un valore nullo nella prima riga. Il campo 3 è Canale, Livello 2, contenente Indiretto nella prima riga. Il campo 4 è Canale, Livello 3, contenente tutti i canali.

  • Campo nullo prima di un campo secondario: se un valore nullo si verifica direttamente prima di un campo secondario, Essbase ignora il campo secondario. Le opzioni del campo secondario sono alias, proprietà, formula, livello duplicato, alias di livello duplicato, nome valuta, categoria valuta, padre attributo, ADU e nome di una dimensione attributo.

    Esempio

    La generazione della dimensione ignorerà l'alias nel Campo 3, poiché il Campo 2 contiene un valore nullo. Essbase posizionerà Indiretto nel livello 1 e Tutti i canali nel livello 2.


    Il campo 1 è Canale, Livello 0 contenente un ID canale. Il campo 2 è Canale, Livello 1 contenente un valore nullo. Il campo 3 è Canale, Alias, contenente il catalogo. Il campo 4 è Canale, Livello 2, contenente Indiretto. Il campo 5 è Canale, livello 3 contenente tutti i canali.

  • Campo secondario nullo: se si verifica un valore nullo in cui Essbase prevede un campo secondario, Essbase ignora il campo nullo secondario e continua il caricamento (lo stesso comportamento del metodo di generazione Livello).

    Esempio

    La generazione della dimensione ignorerà il primo alias nel campo 3, poiché tale campo contiene un valore nullo. Il membro Outlet verrà aggiunto al profilo senza alcun alias.


    Il campo 1 è Canale, Livello 0 contenente ID canale. Il campo 2 è Canale, Livello 1 contenente Outlet nella prima riga e Centro commerciale e chiosco nelle due righe successive. Il campo 3 è Canale, Alias, contenente un valore nullo nella prima riga e alcuni alias nelle due righe successive. Il campo 4 è Canale, Livello 2, contenente Diretto in tutte le righe. Il campo 5 è Canale, livello 3 contenente tutti i canali in tutte le righe.