Durante la modellazione negli scenari è necessario determinare se eseguire o meno i calcoli in ogni sandbox.
È consigliabile sottomettere le modifiche dei dati al sandbox e calcolare la minor quantità di altri dati possibile, limitandosi ai dati sufficienti per consentire agli utenti di convalidare il proprio lavoro. In questo modo si conserva l'efficienza di memorizzazione della progettazione dei sandbox.
Ad esempio, quando tutti i membri di livello superiore in un cubo sono membri di calcolo dinamico, le aggregazioni nel form dello script di calcolo non sono necessarie.
Se si dispone di membri di livello superiore memorizzati, limitare l'ambito di qualsiasi calcolo di sandbox al minimo necessario per consentire agli utenti di svolgere il proprio lavoro.
Per le gerarchie dinamiche, sia dense che sparse, l'aggregazione è automatica e gli utenti che apportano le modifiche nei sandbox ne vedono i risultati immediatamente.
Prendiamo in considerazione un esempio dall'applicazione demo di memorizzazione a blocchi Sample_Scenario.Basic.
Si supponga che Product e Market siano gerarchie dinamiche con i dati memorizzati solo nel livello zero e che venga creato uno scenario utilizzando il membro di dimensione sandbox sb0.
Al momento della creazione del sandbox, i valori per sb0 sono uguali ai valori per Base. Questo perché i membri del sandbox sono virtuali e riflettono i valori di base finché gli utenti non ne sottomettono le modifiche.
Dopo la modifica dei dati Sales->Budget->Jan->Cola nel membro sb0, si osserva immediatamente che il membro sandbox dinamico West (nella cella D10) effettua l'aggregazione con il totale corretto utilizzando una combinazione di dati memorizzati da Base e sb0.
I valori per Oregon, Utah e Nevada son memorizzati nel membro sandbox Base. I valori per California e Washington sono stati sottomessi dai partecipanti dello scenario e sono memorizzati nel membro sandbox sb0. Per il totale di West->Cola->sb0 viene eseguita un'aggregazione dinamica con questi valori memorizzati.
È inoltre possibile utilizzare script di calcolo nei sandbox. Si supponga che il budget dell'Oregon debba essere pari all'80 percento del budget della California. L'operazione può essere effettuata tramite lo script di calcolo seguente:
FIX("Jan", "Budget", "Cola", "Sales") "Oregon"="California"*.8; ENDFIX
Quando un partecipante dello scenario apre un foglio di calcolo Excel dall'interfaccia ed esegue questo calcolo, sb0 è il membro sandbox predefinito calcolato e il valore per il membro Oregon viene aggiornato:
Questa vista non appartiene a un foglio avviato da scenario, ma a una vista privata Smart View, in cui i membri Base e sb0 possono essere rappresentati entrambi nel foglio.
In alcuni casi, una gerarchia sparsa o densa può contenere membri di livello superiore memorizzati e potrebbero essere necessarie aggregazioni per i calcoli basati su livelli o generazioni.
Prendendo in considerazione l'ultima griglia dell'esempio precedente, ora si supponga che i membri di livello superiore nella dimensione Market siano memorizzati anziché dinamici.
Se si modifica il valore di Oregon impostandolo su 250, per visualizzare il risultato corretto sarà necessario calcolare di nuovo il membro West:
Per l'aggregazione della dimensione Market nel sandbox, quando l'esecuzione avviene da un foglio Excel avviato da scenario, è possibile utilizzare lo script di calcolo seguente:
AGG("Market");