Creazione di una regola business tramite un test unità

Creazione di un test di unità

Durante la creazione e il debug delle regole business, è importante ricordare che i calcoli di Oracle Essbase funzionano secondo un sistema di riferimento relativo in cui Essbase calcola la sintassi fornita mentre attraversa i blocchi nell'istruzione FIX. Il modo più semplice per creare o eseguire il debug di una regola business, quindi, consiste nell'esaminare ogni singolo calcolo: scegliere una combinazione che si sta calcolando e verificarne il funzionamento. In questo modo, nel caso la regola business non funzionasse, è possibile prendere in considerazione un numero limitato di valori nonché velocizzare il calcolo della regola. Dopo aver completato correttamente il test dell'unità, è possibile eseguire il test per un set di dati più ampio.

Ad esempio, si immagini il seguente scenario: si desidera calcolare una percentuale del costo delle vendite per identificare la distribuzione tra i prodotti, si scrive il valore calcolato in un nuovo membro denominato COS Product% per tutti i mesi, gli anni, gli scenari e i reparti. In questo scenario, si dovrebbe creare la regola business per l'account COS Product% e quindi selezionare un prodotto come singolo test di unità per un reparto, un mese, un anno e uno scenario.

La formula da calcolare rispetto al membro COS Product% nella dimensione densa Account è COS Product% = "Cost of Sales" come percentuale di "Cost of Sales"->Totale prodotto.

È quindi possibile creare un foglio di calcolo che contenga tutti i valori dei singoli dati necessari per eseguire questo calcolo per una combinazione specifica (un'unità). A tale scopo, è possibile scegliere "Sales Central" ->Jan->FY15->Previsione per il prodotto "Television", un Computer Accessory.

In questo esempio, il prodotto "Television" ha un valore "Cost of sales" di costo delle vendite pari a 12 e il totale prodotti si somma fino a raggiungere 100, ovvero gli unici valori nel database sono i valori dei 9 membri del prodotto per l'account COS, tutti nelle previsioni FY15 di gennaio per "Sales Central". Quindi, si inizia con un database che è stato cancellato che contiene solo dati di livello 0 e si crea una query ad hoc di Oracle Smart View for Office per recuperare i seguenti valori dati di cui si ha bisogno.
Dati recuperati per lo scenario di esempio

La formula per questa combinazione o test di unità è la seguente:COS Product% (D3) = = COS (D1) come percentuale Total Product COS (D2), il che significa che questo foglio di calcolo contiene tutto il necessario per effettuare il test di questa regola business.

Utilizzo del test di unità per creare regole business

Avviare la regola business per calcolare il membro COS Product% = con COS (la prima parte della formula). Osservare la differenza tra la riga target (line3) e l'origine dati. Quindi per COS (singolo COS) osservare la differenza tra la colonna C nella riga 3 e nella riga 1, ciascuna che identifica Television. L'unica differenza nei membri tra la riga 3 e la riga 1 si trova in Account,è necessario specificare solo quanto segue:

COS Product% = COS %

Ripetere lo stesso passaggio per la seconda parte della formula (Total COS), che, in questo caso, corrisponde a COS al livello più alto di Product. Poiché sono presenti due differenze tra la riga 3 e la riga 2, COS e Product, specificare anche la posizione in Product per completare la formula:

COS Product% = COS % ->Product;

A questo punto, l'esecuzione di questa regola recupererà il valore #missing anziché il totale corretto come mostrato nell'illustrazione seguente:
Dati recuperati per lo scenario di esempio
. Per ottenere il valore totale corretto, è necessario eseguire un calcolo preliminare dei dati necessari (Total COS nella cella D2).

Calcolo preliminare dei dati richiesti

Per effettuare il calcolo preliminare dei dati richiesti e assicurarsi che la regola business COS Product% = COS % ->Product; restituisca il valore corretto, è necessario aggiungere COS modificando la regola come segue:
Fix (COS)
Agg (Product);
EndFix
COS Product% = COS % ->Product;