Performanceprobleme nach Deployment von konfigurierbaren Berechnungsregeln (Einfügepunkt) diagnostizieren

Mit konfigurierbaren Berechnungen lassen sich Anwendungsfälle implementieren, die vom Out-of-the-box-Konsolidierungsprozess nicht abgedeckt werden.

  • Anwendungen mit mehreren Währungen: Konfigurierbare Berechnungen können zur Verarbeitung von Daten lokaler Währungen (nicht umgerechnete Daten auf Entityebene), umgerechneten Daten (umgerechnete Daten auf Entityebene) und konsolidierten Daten geschrieben werden.
  • Anwendungen mit einer Währung: Konfigurierbare Berechnungen können zur Verarbeitung von Daten lokaler Währungen (nicht umgerechnete Daten auf Entityebene) und konsolidierten Daten geschrieben werden.

Diese Berechnungen werden von Financial Consolidation and Close bei der Ausführung eines Konsolidierungsprozesses aufgerufen und können nicht als eigenständige Berechnungen aufgerufen werden. Schlecht geschriebene konfigurierbare Berechnungen können schwerwiegende Auswirkungen auf die Laufzeitperformance des Konsolidierungsprozesses haben. Auf der Karte Empfehlungen von Financial Consolidation and Close werden Warnungen zu Regeln angezeigt, die bei der Konsolidierung zu einer Performanceverschlechterung führen können. Diese Warnungen dienen als Hinweise zu den Best Practices, die Sie beim Schreiben von konfigurierbaren Berechnungsskripten einhalten sollten. Wenn Sie die dort beschriebenen Hinweise umsetzen, könnten Sie die Konsolidierungsperformance unter Umständen verbessern. Ausführliche Informationen finden Sie unter Warnungen der Berechnungsskriptvalidierung beheben in der Dokumentation Financial Consolidation and Close verwalten.

Mit den folgenden Vorschlägen können Sie die Performance konfigurierbarer Berechnungen ebenfalls verbessern.

  • Konfigurierbare Berechnungen lokaler Währungen als On-Demand-Regeln ausführen
  • CALC-DIM-Logik deaktivieren
  • SET HYBRIDBSOINCALCSCRIPT
  • Konfigurierbare Berechnungen als BOTTOMUP ausführen
  • Berechnungen im BLOCK-Modus verwenden
  • Gesamtanzahl der Elemente auf der rechten Seite des Ausdrucks beachten

Konfigurierbare Berechnungen lokaler Währungen als On-Demand-Regeln ausführen

Für lokale Währungen geschriebene konfigurierbare Berechnungen werden für Entitywährungs- und Entityeingabeelemente der Dimensionen Currency und Consolidation ausgeführt. Mit einigen Änderungen können konfigurierbare Berechnungen lokaler Währungen als On-Demand-Regeln (ODRs) geschrieben werden. Vorteile dieser Methode:

  • Kürzere Konsolidierungszeit

    Beispiel: Ein Benutzer benötigt fünf Minuten, um (gesperrte) Werte auf Entitywährungs- und Entityeingabeebene aus der vorherigen Periode in die aktuelle Periode zu kopieren. Diese Aufgabe muss nur einmal ausgeführt werden, weil eine Änderung des Wertes aus der vorherigen Periode unwahrscheinlich ist. Wenn diese Berechnung in die konfigurierbaren Berechnungen der lokalen Währung aufgenommen wird, wird sie bei jedem Aufruf der Konsolidierung ausgeführt, wodurch sich die Konsolidierungszeit verlängert. Durch Verschieben in ODRs können Sie solche Berechnungen bei Bedarf aufrufen und so Zeit sparen. In diesem Szenario können durch die Vermeidung des Kopierens von Daten aus der vorherigen Periode für jede Periode fünf Minuten Konsolidierungszeit eingespart werden.

  • Unterstützung beim Debuggen konfigurierbarer Berechnungen lokaler Währungen

    Beispiel: Sie müssen die Berechnungslogik bei jeder Konsolidierung auf der Ebene von lokaler Währung und Entityeingabe ausführen. Da solche Regeln Teil der konfigurierbaren Berechnungen lokaler Währungen sein müssen, müssen Sie bei jedem Debug-Versuch von Performanceproblemen mit Regeln den zeitaufwendigen Konsolidierungsprozess ausführen. Um Zeit einzusparen, können Sie konfigurierbare Berechnungen lokaler Währungen in ODRs verschieben, diese anschließend debuggen und weiter anpassen und schließlich zurück in die konfigurierbaren Berechnungen lokaler Währungen verschieben.

  • Einfacher Laufzeitzugriff und Bereitstellung von Laufzeitstatistiken

    ODRs können über die Financial Consolidation and Close-Karte Regeln oder direkt über Calculation Manager aufgerufen werden. Über Calculation Manager ausgeführte ODRs generieren Statistiken, mit denen sich identifizieren lässt, wofür die Verarbeitungszeit benötigt wird und für welche Elemente die Verarbeitung ausgeführt wird. So erfassen Sie Laufzeitstatistiken:

    1. Rufen Sie Calculation Manager auf, und starten Sie eine ODR.
      In Calculation Manager gestartete On-Demand-Regel

    2. Wählen Sie Runtime Prompts aus.
    3. Klicken Sie unter "Startstatus" auf OK.

      Die Registerkarte Logmeldungen wird angezeigt. Auf dieser Registerkarte werden Laufzeitstatistiken angezeigt.

Konfigurierbare Berechnung in eine ODR verschieben

Wenn Sie konfigurierbare Berechnungen für lokale Währungen schreiben, können Sie Elemente der Scenario-, Year-, Period- und Entity-Dimension nicht in FIX-Anweisungen als Ankerelemente oder auf der linken Seite eines Ausdrucks verwenden. Sie können nur Elemente der Currency- und der Consolidation-Dimension verwenden. Beim Aufrufen von Regeln für lokale Währungen im Rahmen des Konsolidierungsprozesses werden Elemente der Scenario-, Year-, Period- und Entity-Dimension berücksichtigt, die als Runtime Prompts (RTPs) an den Konsolidierungsprozess übergeben werden.

Sie können Elemente der Scenario-, Year-, Period-, Entity-, Currency- und Consolidation-Dimension nicht in ODRs verwenden. Die relevanten Dimensionselemente werden als RTPs übergeben, um die ODR-Ausführung zu initiieren.

CALC DIM-Logik deaktivieren

Wenn Sie konfigurierbare Berechnungsskripte für einen Einfügepunkt erstellen, generiert Financial Consolidation and Close Daten automatisch auf übergeordneten Ebenen, sodass diese übergeordneten Elemente am nächsten Einfügepunkt vorhanden sind. Financial Consolidation and Close fügt die CALC DIM-Logik hinzu, um die ausgefüllten Daten zu aggregieren. Die Verarbeitung dieser hinzugefügten CALC DIM-Logik ist je nach Komplexität Ihrer Hierarchie ein zeitaufwendiger Prozess. Wenn Sie nicht auf neuberechnete übergeordnete Elemente in späteren Einfügepunkten verweisen müssen, können Sie den gesamten Konsolidierungsprozess beschleunigen, indem Sie die CALC DIM-Logik deaktivieren, die Financial Consolidation and Close für Einfügepunkte hinzufügt.

Note:

Das Deaktivieren der CALC DIM-Logik wirkt sich auf die Konsolidierungsskriptgenerierung aus. Prüfen Sie nach Deaktivierung der CALC DIM-Logik sorgfältig Ihre Konsolidierungsergebnisse.

Um Financial Consolidation and Close an der Generierung einer unnötigen CALC DIM-Logik in Anwendungen mit mehreren Währungen zu hindern, definieren Sie die entsprechenden Substitutionsvariablen aus der folgenden Liste, und setzen Sie sie auf True.

  • CONFCALC_FCCS10_DISABLECALCDIM
  • CONFCALC_FCCS20_DISABLECALCDIM
  • CONFCALC_FCCS25_DISABLECALCDIM
  • CONFCALC_FCCS30_DISABLECALCDIM
  • CONFCALC_FCCS40_DISABLECALCDIM
  • CONFCALC_FCCS50_DISABLECALCDIM
  • CONFCALC_FCCS60_DISABLECALCDIM
  • CONFCALC_FCCS70_DISABLECALCDIM

Beispiel: Angenommen, Sie haben benutzerdefinierte Logik in konfigurierbare FCCS_10- und FCCS_20-Berechnungregeln geschrieben. Wenn Sie die CALC DIM-Logik für FCCS_20 jedoch nicht für FCCS_10 deaktivieren möchten, müssen Sie eine Substitutionsvariable mit dem Namen CONFCALC_FCCS20_DISABLECALCDIM definieren und sie auf True setzen.

Um Financial Consolidation and Close an der Generierung einer unnötigen CALC DIM-Logik in Anwendungen mit einer einzigen Währung zu hindern, definieren Sie die entsprechenden Substitutionsvariablen aus der folgenden Liste, und setzen Sie sie auf True.

  • CONFCALC_FCCS110_DISABLECALCDIM
  • CONFCALC_FCCS120_DISABLECALCDIM
  • CONFCALC_FCCS130_DISABLECALCDIM
  • CONFCALC_FCCS140_DISABLECALCDIM
  • CONFCALC_FCCS150_DISABLECALCDIM

SET HYBRIDBSOINCALCSCRIPT

Der Befehl SET HYBRIDBSOINCALCSCRIPT steuert, ob ein bestimmter Block in einem Berechnungsskript im Hybridmodus ausgeführt wird.

Beispiel für ein konfigurierbares Berechnungsskript in "Lokale Währung" nach der Regel "Übertrag Anfangssaldo":

FIX("Entity Currency", "Entity Input") 
        FIX("Data Input", "No Intercompany", "Local GAAP", "No Intercompany", "No Products")
                 "Changes In Cash"(
                         "Cash" = "Bank" -> "Total Product";
                   )
        ENDFIX
ENDFIX
Beim Initiieren der Konsolidierung aktiviert Financial Consolidation and Close den Hybridmodus für konfigurierbare Berechnungen, indem die Regel mit den Befehlen SET HYBRIDBSOINCALCSCRIPT FULL; und SET HYBRIDBSOINCALCSCRIPT NONE; gekapselt wird, die in Calculation Manager nicht sichtbar sind. Diese Befehle werden für ODRs nicht hinzugefügt.
SET HYBRIDBSOINCALCSCRIPT FULL;
FIX("Entity Currency", "Entity Input") 
        FIX("Data Input", "No Intercompany", "Local GAAP", "No Intercompany", "No Products")
                 "Changes In Cash"(
                         "Cash" = "Bank" -> "Total Product";
                   )
        ENDFIX
ENDFIX

SET HYBRIDBSOINCALCSCRIPT NONE;

Um sicherzustellen, dass durch Aktivieren des Hybridmodus bei der Konsolidierung für konfigurierbare Berechnungen die Performance nicht beeinträchtigt wird, deaktivieren Sie den Hybridmodus (siehe folgendes Beispiel), und führen Sie anschließend die Konsolidierung aus.

SET HYBRIDBSOINCALCSCRIPT FULL;

SET HYBRIDBSOINCALCSCRIPT NONE;
FIX("Entity Currency", "Entity Input") 
        FIX("Data Input", "No Intercompany", "Local GAAP", "No Intercompany", "No Products")
                 "Changes In Cash"(
                         "Cash" = "Bank" -> "Total Product";
                   )
        ENDFIX
ENDFIX

SET HYBRIDBSOINCALCSCRIPT NONE;

Konfigurierbare Berechnungen als BOTTOMUP ausführen

Durch Ausführen als TOPDOWN können konfigurierbare Berechnungen verlangsamt werden. In diesem Fall wird auch der Konsolidierungsprozess verlangsamt, der die Berechnungen aufruft. Um dieses Problem zu vermeiden, führen Sie konfigurierbare Berechnungen als BOTTOMUP aus. Informationen hierzu finden Sie unter @CALCMODE in der Dokumentation Technische Referenz zu Essbase.

Stellen Sie beim Wechsel zu BOTTOMUP-Berechnungen sicher, dass die Zielblöcke vorhanden sind und die Daten korrekt berechnet werden.

Berechnungen im BLOCK-Modus verwenden

Da konfigurierbare Berechnungen durch Berechnungen im CELL-Modus verlangsamt werden können, führen Sie sie im BLOCK-Modus aus. Informationen hierzu finden Sie unter @CALCMODE in der Dokumentation Technische Referenz zu Essbase.

Gehen Sie beim Wechsel zu Berechnungen im BLOCK-Modus bei Datenabhängigkeiten innerhalb des Blocks besonders sorgfältig vor, um sicherzustellen, dass die resultierenden Daten richtig sind.

Anzahl der Elemente auf der rechten Seite des Ausdrucks beachten

In einigen Fällen müssen Sie möglicherweise aggregierte Daten in "Keine Elemente" abrufen, wie im folgenden Beispiel:

"Target_Account_Stored" -> "Mvmt_None" = "FCCS_Mvmts_Subtotal"
 -> "Source_Account_DynamicCalc" -> "Total Custom1" -> "Total Custom2";

In diesem Beispiel soll das Ergebnis der dynamischen Berechnung auf der rechten Seite in einem gespeicherten Dense-Element gespeichert werden. Financial Consolidation and Close kapselt diese konfigurierbare Berechnung standardmäßig in den Befehlen SET HYBRIDBSOINCALCSCRIPT FULL; und SET HYBRIDBSOINCALCSCRIPT NONE;. Die Performance dieser Berechnung ist jedoch möglicherweise auch nach der Kapselung nicht gut, weil aus den obersten Elementen gelesen wird. Um die Performance zu verbessern, können Sie diese Berechnungen neu schreiben, sodass sie über die Elemente der Ebene 0 der erforderlichen Dimensionen iterieren statt aus den obersten Elementen zu lesen, wie im folgenden Beispiel dargestellt:

SET HYBRIDBSOINCALCSCRIPT NONE; /*Turn off hybrid mode */
FIX(@RELATIVE( "Total Custom1", 0 ), @RELATIVE( "Total Custom2", 0 ), <other dimension members of FIX> )
       "FCCS_Mvmts_Subtotal" ( @CALCMODE( BOTTOMUP );
             "Target_Account_Stored" -> "Mvmt_None"  =  "Target_Account_Stored"  -> "Mvmt_None" + "Source_Account_DynamicCalc";
             )
ENDFIX