In tutti gli esempi di formule per driver customizzati, si presumono i valori riportati di seguito.
Dimensioni stadio 1: GL_ Department x GL_Account
Dimensioni stadio 2: ACT_Department x ACT_Activity
Il processo di generazione degli script di calcolo in Oracle Hyperion Profitability and Cost Management inserisce lo script definito per un driver customizzato per qualsiasi origine che utilizzi tale driver. Lo script generato dal sistema creerà le istruzioni FIX per individuare le combinazioni di origine e di destinazione definite dalla logica di assegnazione associata all'origine.
Lo script del driver customizzato non ha necessità di fornire questo FIX, ma può usufruirne oppure modificare il FIX in modo che si faccia riferimento ai dati da posizioni diverse da quelle solitamente definite per le posizioni della misura Destinazione, Origine, Assegnazione o Globale.
Gli usi comuni per i driver customizzati si basano sulla possibilità di fare riferimento a dati memorizzati in posizioni diverse dalle quattro posizioni usuali, consentendo all'utente di immettere misure di driver a livelli superiori nella gerarchia o in un numero inferiore di intersezioni.
L'istruzione FIX predefinita che la misura CalculatedDriverValue ha calcolato, riflette il collegamento tra l'origine e la destinazione. Di seguito è illustrata l'istruzione FIX creata dallo script generato dal sistema utilizzando gli stadi di esempio.
GL_Department.member x GL_Account.member x ACT_Department.member x ACT_Activity.member
in cui i membri dimensione per ogni dimensione riflettono le intersezioni di origine e di destinazione per l'allocazione in fase di esecuzione.
Gli esempi riportati di seguito modificano questa istruzione FIX predefinita per recuperare misure driver da una posizione diversa. Si ricordi che se il membro a cui fa riferimento l'istruzione FIX predefinita è adatto allo scopo prefisso, non sarà necessario sovrascriverlo.
Esempio 1: fare riferimento a una misura driver situata a uno solo degli incroci di dimensioni di destinazione, NoMember nell'altro (in questo caso ACT_Department).
"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember] ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];
Utilizzare questa formula quando è presente un singolo valore driver per l'intero reparto, ad esempio piedi quadrati, metri o numero di dipendenti.
Esempio 2: fare riferimento a una misura driver situata nell'elemento padre di uno degli incroci di dimensioni di destinazione, NoMember nell'altra dimensione.
"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember]"->"(@PARENT(ACT_Department)" ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];
In alternativa, è possibile fare riferimento alla generazione del predecessore da cui si desidera recuperare il valore tramite la funzione @ANCSET
. In questo esempio, il driver recupera il valore DriverMeasure dal predecessore Generazione 2 del membro del reparto di destinazione come riportato di seguito.
"CalculatedDriverValue" = "DriverMeasure" ->"[ACT_Activity.NoMember]"->"(@ANCEST(ACT_Department, 2)" ->"[ GL_Department.NoMember] ->"[ GL_Account.NoMember];
Altri usi comuni consistono nello svincolare il calcolo del valore driver dalla natura della combinazione origine/destinazione. Questa opzione consente al driver di adattarsi alle circostanze specifiche in base alle caratteristiche delle intersezioni coinvolte nell'allocazione.
Esempio 3: fare riferimento a una misura diversa per il calcolo del driver in base all'ADU (User-Defined Attribute o Attributo definito dall'utente) di uno dei membri di destinazione, come riportato di seguito.
IF(@ISUDA(Activity,"UDA1"))
"CalculatedDriverValue" = {Measure1->Destination};
ELSE IF (@ISUDA(Activity,"UDA2"))
"CalculatedDriverValue" = {Measure2->Destination};
ELSE IF (@ISUDA(Activity,"UDA3"))
"CalculatedDriverValue" = {Measure3->Destination};
ENDIF;
Utilizzare questa formula per immettere la formula del driver da una caratteristica della destinazione, ad esempio il fattore di forma di un prodotto o la classificazione di un cliente. Si noti che la sintassi nell'esempio '{Measure1->Destination}'
non corrisponde alla normale sintassi dello script di calcolo di Oracle Essbase. L'uso delle parentesi graffe ({ }) consente a Profitability and Cost Management di interpretare la sintassi abbreviata '->Destinazione' e di sostituirla con la destinazione effettiva. Quando lo script viene distribuito a Essbase, Profitability inserisce la sintassi e i riferimenti ai membri corretti.