Geschäftsregeln mit einem Einheitentest erstellen

Einheitentest erstellen

Beim Erstellen und Debuggen von Geschäftsregeln muss beachtet werden, dass Oracle Essbase-Berechnungen auf einem relativen Referenzsystem basieren, wobei in Essbase die angegebene Syntax berechnet wird, während sie die Blöcke in der FIX-Anweisung durchläuft. Folglich ist die einfachste Art zum Erstellen oder Debuggen einer Geschäftsregel die Prüfung jeder einzelnen Berechnung, d.h., wählen Sie eine Kombination für die Berechnung aus, und prüfen Sie ihre Funktionsfähigkeit. Somit können Sie eine kleine Anzahl an Werten berücksichtigen, falls die Geschäftsregel nicht funktioniert, und die Berechnung Ihrer Geschäftsregel wird beschleunigt. Nachdem der Einheitentest die Berechnung erfolgreich abgeschlossen hat, können Sie zum Testen ein breiteres Dataset verwenden.

Beispielszenario: Sie möchten den Prozentsatz der Umsatzkosten berechnen, um die produktweite Verteilung zu ermitteln und den berechneten Wert für ein neues Element mit dem Namen COS Product% für alle Monate, alle Jahre, alle Szenarios und alle Abteilungen festzulegen. In diesem Szenario müssen Sie die Geschäftsregel für das COS Product%-Konto erstellen und anschließend ein Produkt als einzigen Einheitentest für eine Abteilung, einen Monat, ein Jahr und ein Szenario auswählen.

Die Formel für die Berechnung des COS Product%-Elements in der dicht besetzten Account-Dimension lautet COS Product% = "Cost of Sales" as a Percentage of "Cost of Sales"->Total Product.

Anschließend können Sie eine Tabelle erstellen, die alle einzelnen Datenwerte enthält, die für die Berechnung einer bestimmten Kombination (eine Einheit) erforderlich ist. Hierfür können Sie die Zusatzkomponente "Sales Central" ->Jan->FY15->Forecast for the "Television".product auswählen.

In diesem Beispiel beträgt der Wert für die Umsatzkosten für "Television" 12 und für "Total Products" insgesamt 100. Das bedeutet, dass die Datenbank nur die Werte für die 9 Product-Elemente für das COS-Konto enthält (alle in Januar GJ15, Prognose für "Sales Central"). Sie starten also mit einer gelöschten Datenbank, die nur levl0-Eingabedaten enthält, und erstellen eine Oracle Smart View for Office-Ad-hoc-Abfrage, um die folgenden erforderlichen Datenwerte abzurufen.
Für das Beispielszenario abgerufene Daten

Die Formel für diese Kombination oder diesen Einheitentest lautet: COS Product% (D3) = = COS (D1) as a Percentage of Total Product COS (D2), d.h., diese Tabelle enthält alle erforderlichen Daten zum Durchführen eines Einheitentests für diese Geschäftsregel.

Einheitentest zum Erstellen von Geschäftsregeln verwenden

Starten Sie die Geschäftsregel, um das Element COS Product% = mit COS (der erste Teil der Formel) zu berechnen. Sehen Sie sich den Unterschied zwischen der Zielposition (line3) und der Datenquelle an. Sehen Sie sich bei COS (Einzel-COS) den Unterschied zwischen Spalte C in Position 3 und Position 1, die jeweils Television enthalten, an. Der einzige Unterschied bei Elementen zwischen Position 3 und Position 1 liegt bei Account. Dies sollte wie folgt festgelegt werden:

COS Product% = COS %

Führen Sie denselben Vorgang für den zweiten Teil der Formel (Gesamt-COS) durch, der in diesem Fall "COS" auf der obersten Ebene von "Product" ist. Da zwei Unterschiede zwischen line3 und line2 ("COS" und "Product") vorhanden sind, geben Sie auch zum Vervollständigen der Formel den Speicherort von "Product" an:

COS Product% = COS % ->Product;

An dieser Stelle wird durch das Ausführen dieser Regel #missing anstatt der korrekten Summe, wie in der folgenden Grafik dargestellt, abgerufen:
Für das Beispielszenario abgerufene Daten
Sie müssen die erforderlichen Daten (Gesamt-COS in Zelle D2) vorab berechnen, um die korrekte Summe zu erhalten.

Erforderliche Daten vorab berechnen

Um die erforderlichen Daten vorab zu berechnen, um sicherzustellen, dass die Geschäftsregel COS Product% = COS % ->Product; den korrekten Wert zurückgibt, muss COS darin enthalten sein, indem die Regel wie folgt geändert wird:
Fix (COS)
Agg (Product);
EndFix
COS Product% = COS % ->Product;