Performanceprobleme manuell beheben

Auf schlechtes Regeldesign prüfen

Geben Sie für richtige Ergebnisse und eine optimale Performance als Best Practice stets Dimensionen und Elemente an, für die Berechnungen durchgeführt werden sollen.

Eine optimale Konsolidierungsperformance für Regeln erfordert, dass der Berechnungsumfang auf die erforderlichen Dimensionen und Elemente eingeschränkt wird. Wenn einer Berechnung nicht die erforderlichen Dimensionen und Elemente hinzugefügt werden, muss die Regel für alle Elementkombinationen ausgeführt werden, die möglich sind. Beispiel: Bei der folgenden Beispielregel müssen die Berechnungen nur für das Custom-Dimensionselement No Department durchgeführt werden. Das Hinzufügen des Dimensionselements in der Quelle führt zu einer schnelleren Durchführung, da die Regel nur für No Department durchgeführt wird.
Darstellung eines Beispielregelsets

Nach mehreren gespeicherten Elementen in der Quelle der Regel suchen (Account-Dimension)

Die Performance kann beeinträchtigt werden, wenn viele Konten, die auf Ebene 0 gespeichert sind, in einer Quelle einer Konsolidierungsregel zu einem einzelnen Zielkonto umgeleitet werden. In einem solchen Szenario empfiehlt Oracle, dass Sie ein Kontoelement als Platzhalter mit einem Speicher mit gespeicherten Daten erstellen und in FCCS_110 (Anwendungen mit einer einzigen Währung) oder FCCS_30 (Anwendungen mit mehreren Währungen) eine Einfügeregel schreiben, um den untergeordneten Betrag dorthin umzuleiten. Sie können dann für eine schnellere Ausführung der Regel in der Quelle der Konsolidierungsregeln das Platzhalterkonto anstelle des dynamischen übergeordneten Elements verwenden.

Anwendungsfall: Performanceprobleme nach Deployment von konfigurierbaren Konsolidierungsregeln beheben

In diesem Beispiel wird angenommen, dass 100 G/V-Konten (Acc_001 bis Acc_100) unter dem dynamischen Element Retained Earnings Current vorhanden sind, das eines von zahlreichen G/V-Konten in einer Anwendung darstellt. Siehe die folgende Abbildung.
Beispiel für dynamisches übergeordnetes Element mit vielen gespeicherten Elementen

Die Regeln, die Retained Earnings Current entweder direkt oder indirekt über Referenzen als Quelle verwenden, sind in der folgenden Abbildung dargestellt.
Beispielregel, die eine direkte Referenz verwendet


Beispielregel, die indirekte Referenzen verwendet
In der vorgehenden indirekten Referenz sind alle untergeordneten Elemente auf Ebene 0 von Retained Earnings Current indirekt Teil der Quelle, da sie unter Total Equity stehen.

Um für eine schnellere Regelausführung die Regeldefinition zu ändern und ein Skript zur Umleitung hinzuzufügen, sind die folgenden Schritte erforderlich:

  1. Erstellen Sie ein Platzhalterkonto.

    Erstellen Sie unter FCCS_BalanceSheet ein Memokonto mit der Bezeichnung "Retained Earning_Memo". Legen Sie den Konsolidierungsoperator auf "Ignorieren" (~) und Datenspeicherung auf "Speichern" fest. Alle weiteren Eigenschaften sind mit denen des dynamischen übergeordneten Elements identisch. Wie in der folgenden Abbildung gezeigt, enthält das Platzhalterkonto "Retained Earning_Memo" Werte für "Retained Earnings Current".
    Beispielmemokonto

  2. Aktualisieren Sie den Cube.
  3. Kopieren Sie in FCCS_30 Einkommenswerte der Quelle zu "Retained Earning_Memo". Mit dem folgenden Beispielskript können Sie die untergeordneten Werte in "Retained Earning_Memo" kopieren. Achten Sie darauf, das Skript nach Bedarf an Ihre Anforderungen anzupassen. Informationen zu Best Practices für die Performance bei konfigurierbaren Berechnungen finden Sie unter Best Practices für konfigurierbare Berechnungen in der Dokumentation Financial Consolidation and Close verwalten.
    SET HYBRIDBSOINCALCSCRIPT NONE;// Use with Hybrid environments only.
    FIX("FCCS_Entity Input", "Parent Currency", "Opening Balance", @RELATIVE("FCCS_Total Data Source", 0), @RELATIVE("FCCS_Intercompany Top", 0))
            "Retained Earning_Memo" (
               @CALCMODE(BOTTOMUP);
               @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "REVENUE") OR @UDA("Account", "LIABILITY") OR @UDA("Account", "EQUITY") OR @UDA("Account", "SAVED ASSUMPTION"))) - @SUM(@RELATIVE("FCCS_Retained Earnings Current", 0) AND @LIST(@UDA("Account", "EXPENSE") OR @UDA("Account", "ASSET")));
            ) 
    ENDFIX
  4. Verwenden Sie "Retained Earning_Memo" als Quelle in konfigurierbaren Konsolidierungsregeln, bei denen "Retained Earnings Current" verwendet wird.
    1. Wenn ILvl0Descendants(Retained Earnings Current) direkt in der Quelle verwendet wird: Die folgende Abbildung zeigt die Regel, bevor die Empfehlungen in diesen Anwendungsfall implementiert wurden.
      Abbildung einer Regel, die kein Memokonto verwendet

      Die folgende Abbildung zeigt die Regel, nachdem die Empfehlungen in diesen Anwendungsfall implementiert wurden.
      Abbildung einer Regel, die ein Memokonto verwendet

    2. Wenn ILvl0Descendants(Retained Earnings Current) indirekt verwendet wird: Die folgende Abbildung zeigt die Regel, bevor die Empfehlungen in diesen Anwendungsfall implementiert wurden.
      Abbildung einer Regel, die kein Memokonto verwendet

      Die folgende Abbildung zeigt die Regel, nachdem die Empfehlungen in diesen Anwendungsfall implementiert wurden.
      Abbildung einer Regel, die kein Memokonto verwendet