Berechnungen für potenzielle Blöcke aktivieren

Wenn Sie eine Formel für ein dicht besetztes Element in einer dicht besetzten Dimension verwenden und die resultierenden Werte aus einer dicht besetzten Dimension stammen und der Operand bzw. die Operanden aus einer dünn besetzten Dimension stammen, erstellt Essbase die erforderlichen Blöcke nicht automatisch.

Wenn Sie die Blöcke erstellen müssen, können Sie Essbase-Berechnungsskripte so entwerfen, dass sie Werte kopieren, Blöcke erstellen und die Erstellung nicht benötigter Werte begrenzen.

Im folgenden Beispiel wird davon ausgegangen, dass Sie Budgetumsatz- und Aufwandsdaten aus vorhandenen Istdaten erstellen möchten. Sales und Expenses sind Elemente in der Dense Measures-Dimension. Budget und Actual sind Elemente in der Sparse Scenario-Dimension.

FIX(Budget)
   (Sales = Sales -> Actual * 1.1;
   Expenses = Expenses -> Actual * .95;)
ENDFIX

Sales and Expenses, die Ergebnisse der Gleichungen, sind dicht besetzte Dimensionselemente. Der Operand "Actual" befindet sich in einer dünn besetzten Dimension. Da Essbase dicht besetzte Elementformeln nur für vorhandene Datenblöcke ausführt, erstellt das Berechnungsskript nicht die erforderlichen Datenblöcke, und Budgetdatenwerte werden nicht für Blöcke berechnet, die noch nicht vorhanden sind.

Sie können das Problem mit den folgenden Techniken lösen:

Vorhandene Blöcke mit DATACOPY kopieren

Sie können den Befehl DATACOPY in Essbase Block Storage-Berechnungsskripten verwenden, um einen Block für jeden vorhandenen Block zu erstellen und dann Berechnungen für die neuen Blöcke durchzuführen.

Beispiel:

DATACOPY Sales -> Actual TO Sales -> Budget;
DATACOPY Expenses -> Actual TO Expenses -> Budget;
FIX(Budget)
   (Sales = Sales -> Actual * 1.1;
   Expenses = Expenses -> Actual * .95;)
ENDFIX

Essbase erstellt Blöcke, die Budgetwerte für jeden entsprechenden vorhandenen Istblock enthalten. Nachdem die DATACOPY-Befehle abgeschlossen sind, ändert der verbleibende Teil des Skripts die Werte.

Die Verwendung von DATACOPY funktioniert in diesen Situationen gut:

  • Es besteht eine mathematische Beziehung zwischen Werten in vorhandenen Blöcken und deren Gegenstücken, die von der DATACOPY erstellt wurden.

    Beispiel: Im vorherigen Beispiel können die Budgetwerte auf Basis der vorhandenen Istwerte berechnet werden.

    Achtung:

    DATACOPY erstellt die neuen Blöcke mit identischen Werten in allen Zellen aus den Quellblöcken. Wenn die Formel nur für einen Teil des Blocks ausgeführt wird, verbleiben diese kopierten Zellen am Ende der Berechnung, was zu unerwünschten Werten führen kann.

  • Keiner der kopierten Blöcke enthält nur #MISSING-Werte.

    Wenn #MISSING-Werte vorhanden sind, werden Blöcke geschrieben, die nur #MISSING-Werte enthalten. Für nicht benötigte #MISSING-Blöcke sind Essbase-Ressource und Verarbeitungszeit erforderlich.

Siehe auch

DATACOPY

Alle potenziellen Blöcke mit SET CREATENONMISSINGBLK berechnen

Verwenden Sie den Befehl SET CREATENONMISSINGBLK in Essbase Block Storage-Berechnungsskripten, um unerwünschte Werte bei der Berechnung von dicht besetzten oder dünn besetzten Dimensionen zu begrenzen.

Wenn Sie über unerwünschte Werte besorgt sind, können Sie anstelle von DATACOPY den Berechnungsbefehl SET CREATENONMISSINGBLK ON verwenden, der alle potenziellen Blöcke im Speicher berechnet und dann nur die berechneten Blöcke speichert, die Datenwerte enthalten. Der Berechnungsbefehl SET CREATENONMISSINGBLK kann nützlich sein, wenn Werte für dichte oder dünn besetzte Dimensionen berechnet werden.

Im folgenden Beispiel werden Budgetumsatz- und Aufwandsdaten aus vorhandenen Istdaten erstellt. Sales und Expenses sind Elemente in der Dense Measures-Dimension. Budget und Actual sind Elemente in der Sparse Scenario-Dimension.

FIX(Budget)
SET CREATENONMISSINGBLK ON
   (Sales = Sales -> Actual * 1.1;
   Expenses = Expenses -> Actual * .95;)
ENDFIX

Hinweis:

Wenn SET CREATEBLOCKONEQ ON für Sparse-Dimensionen festgelegt ist, setzt SET CREATENONMISSINGBLK ON SET CREATEBLOCKONEQ ON vorübergehend außer Kraft, bis ein Befehl SET CREATENONMISSINGBLK OFF oder das Berechnungsskript abgeschlossen ist.

Der Vorteil der Verwendung des Befehls SET CREATENONMISSINGBLK besteht darin, dass bei Anwendung auf dicht besetzte Elemente nur Datenzellen gespeichert werden, die von der Elementformel betroffen sind. Der Nachteil besteht darin, dass zu viele potenzielle Blöcke im Speicher materialisiert werden können, was sich möglicherweise auf die Berechnungsleistung auswirkt. Wenn Sie diesen Befehl verwenden, sollten Sie die Anzahl potenzieller Blöcke am besten begrenzen, indem Sie FIX verwenden, um den Geltungsbereich der zu berechnenden Blöcke einzuschränken.