Calcolo intelligente e stato blocco dati

Con l'opzione Calcolo intelligente abilitata, Essbase controlla lo stato di aggiornamento dei blocchi in un database e calcola solo i blocchi "sporchi" e i relativi elementi padre dipendenti. Quando è disabilitata, Essbase calcola tutti i blocchi di dati nell'ambito del calcolo, indipendentemente dal fatto che siano contrassegnati come puliti o sporchi.

Blocchi contrassegnati come "puliti"

Essbase contrassegna i blocchi di dati come puliti nei seguenti tipi di calcoli:

  • Un calcolo completo (CALC ALL) di un database (il calcolo predefinito).

  • Script di calcolo che calcola tutte le dimensioni in un'istruzione CALC DIM.

    Ad esempio, il seguente script di calcolo calcola tutti i membri del database Sample Basic:

    CALC DIM(Measures, Product, Market, Year, Scenario);

    Confrontare questo script di calcolo con uno script di calcolo che calcola tutti i membri con due istruzioni CALC DIM:

    CALC DIM(Measures, Product);
    CALC DIM(Market, Year, Scenario);

L'uso di due istruzioni CALC DIM fa sì che Essbase esegua almeno due passaggi di calcolo nel database. In questo calcolo, Essbase non contrassegna per impostazione predefinita i blocchi di dati come puliti. Poiché il calcolo intelligente dipende da uno stato pulito e sporco accurato, è necessario gestire questi indicatori con attenzione.

Essbase contrassegna i blocchi di dati calcolati come puliti solo nelle situazioni descritte in precedenza, a meno che non si utilizzi il comando SET CLEARUPDATESTATUS in uno script di calcolo. Vedere Il comando SET CLEARUPDATESTATUS.

Blocchi contrassegnati come "sporchi"

Essbase contrassegna un blocco dati come danneggiato in queste situazioni:

  • Calcolo del blocco di dati per un calcolo parziale del database solo se SET CLEARUPDATESTATUS AFTER non fa parte dell'istruzione di calcolo parziale nello script di calcolo

  • Caricamento dei dati nel blocco di dati

  • Ristrutturazione del database (ad esempio, aggiungendo un membro a una dimensione densa)

  • Copia dei dati nel blocco di dati; ad esempio, utilizzando DATACOPY

Mantenimento dello stato pulito/sporco

Per utilizzare Calcolo intelligente quando si calcola un subset di un database o si eseguono più passaggi di calcolo, considerare attentamente le implicazioni del modo in cui Essbase contrassegna i blocchi di dati come puliti, per assicurarsi che Essbase ricalcoli il database nel modo più efficiente possibile.

Ad esempio, quando si calcola un subset di un database, i blocchi di dati appena calcolati non vengono contrassegnati come puliti per impostazione predefinita. È possibile assicurarsi che i blocchi appena calcolati siano contrassegnati come puliti utilizzando il comando SET CLEARUPDATESTATUS AFTER in uno script di calcolo. Prima di creare lo script di calcolo, vedere Il comando SET CLEARUPDATESTATUS.