Berechnungen überwachen und verfolgen
Überwachen und verfolgen Sie Essbase-Berechnungen, um Einblicke in die Verarbeitung von Elementformeln zu erhalten. Mit CALCTRACE und SET TRACE können Sie Berechnungen verfolgen, die in Smart View oder in gespeicherten Berechnungen ausgeführt werden. Um Performancestatistiken für Tests zu protokollieren, können Sie SET MSG und SET NOTICE verwenden.
Um das Berechnungstracing zu aktivieren, verwenden Sie die Konfigurationseigenschaft CALCTRACE und dann Smart View, um das kontextabhängige Tracing zu starten, oder verwenden Sie den Befehl SET TRACE in einem Berechnungsskript, um auszuwählen, welche Datenschnittmengen verfolgt werden sollen. Weitere Informationen finden Sie unter Traceberechnungen.
Um Informationen zur Berechnung des Cubes im Anwendungslog anzuzeigen, können Sie SET MSG und SET NOTICE in einem Berechnungsskript verwenden.Essbase berechnet den Cube. Weitere Informationen finden Sie unter SET-Befehle für Berechnungstests und Statistiken.
Berechnungen tracen
Mit dem Essbase-Berechnungstracing können Sie Einblicke in die Verarbeitung von Elementformeln erlangen und Ihre Block-Storage-Berechnungsskripte debuggen und verfeinern. Aktivieren Sie CALCTRACE für kontextabhängiges Smart View-Berechnungstracing, oder verwenden Sie den SET TRACE-Befehl, um zu tracende Schnittmengen auszuwählen.
Mit Berechnungstracing können Sie auf protokollierte Informationen zu einer Berechnung zugreifen, nachdem das Berechnungsskript erfolgreich für einen Cube ausgeführt wurde.
Das Tracing hat keinen Einfluss auf das Berechnungsverhalten. Wurde in Smart View eine Berechnung gestartet, für die auf dem verbundenen Server das Berechnungstracing durch einen Administrator aktiviert wurde, zeigt Smart View nach Ausführung der Berechnung ein Popup-Dialogfeld mit Details an. Die Informationen zum Berechnungstracing können vom Popup-Dialogfeld in einen Texteditor eingefügt werden. Dieselben Informationen finden Sie in calc_trace.txt im Verzeichnis der Datenbankdateien in Essbase.
Mithilfe der Informationen zum Berechnungstracing können Sie die Ausführung des Berechnungsskripts debuggen, falls die Ergebnisse der Berechnung nicht wie erwartet ausfallen.
Berechnungstracing wird in Anwendungen mit aktiviertem Szenariomanagement nicht unterstützt.
Um die Berechnungstracing zu aktivieren, muss der Administrator zunächst den Anwendungskonfigurationsparameter CALCTRACE einschalten. Wenn das Berechnungstracing für Ihre Anwendung aktiviert ist, können Sie es auf zwei Arten nutzen:
- In Smart View können Sie kontextabhängiges Tracing für einen einzelnen Zellenwert verwenden.
- Verbinden Sie ein Abfrageblatt in Smart View mit der Anwendung, für die Sie das Berechnungstracing aktiviert haben.
- Markieren Sie eine Datenzelle, deren berechneten Wert Sie tracen möchten.
- Klicken Sie im Datenbereich des Essbase-Registers auf die Schaltfläche Berechnen, und wählen Sie ein Berechnungsskript aus, das ausgeführt werden soll. Sie sehen den Point of View aus der markierten Datenzelle in den Laufzeit-Prompts für das Elementtracing.
- Klicken Sie auf Starten, um das Berechnungsskript auszuführen.
Der gesamte Umfang der Berechnung im Skript wird berechnet, aber nur der Kontext der markierten Datenzelle wird bei der Berechnung verfolgt.
- Prüfen Sie am Ende des Berechnungsskripts das Dialogfeld Berechnungsergebnis, in dem die Ergebnisse vor und nach der Berechnung für die markierte Datenzelle angezeigt werden.
Wenn die markierte Datenzelle nicht bei der Berechnung geändert wurde, wird dies in einer Meldung angegeben.
- Sie können die zu tracenden Datenschnittmengen in Berechnungsskripten mit dem Berechnungsbefehl SET TRACE auswählen. Mit SET TRACE können Sie mehrere Datenzellen tracen. Darüber hinaus können Sie Abschnitte von Berechnungsskripten mit einer Kombination aus
SET TRACE mbrList(um die Berechnungstracing über eine Elementliste zu deaktivieren) undSET TRACE OFF(um die Berechnungstracing zu deaktivieren, bis ein neuer SET TRACE-Befehl im Skript vorkommt) verfolgen. Um den Befehl SET TRACE verwenden zu können, müssen Sie das Berechnungsskript außerhalb von Smart View mit Cube Designer, dem CLI-Befehl calc, einem Run Calculation-Job in der Essbase-Weboberfläche oder MaxL (Anweisung execute Calculation) ausführen.
In Sample Basic wird das folgende Berechnungsskript ausgeführt. Das Skript enthält einen SET TRACE-Befehl. Mit diesem Befehl wird die Protokollierung detaillierter Informationen für die Datenschnittmenge (Zelle) angefordert, die für die Produkt-SKU‑Nummer 100-10 im kalifornischen Markt budgetierte Umsätze darstellt.
SET TRACEID "id042"
SET TRACE ("100-10", "California", "Jan", "Sales", "Budget");
FIX("California", "Budget")
"Sales" (
"100-10" = @MEMBER(@CONCATENATE(@NAME(@PARENT("Product")), "-20")) / 10;
);
ENDFIX;Hinweis:
Der Befehl SET TRACEID wird ebenfalls empfohlen, um zu verhindern, dass die Calc Tracing-Datei überschrieben wird.Sample Basic enthält zwei dünn besetzte Dimensionen: Product und Market. Die Elementformel gehört zu "Sales", einem Element der Dense-Dimension "Measures"-. Die Elementliste der FIX-Anweisung enthält nur ein dünn besetztes Element, nämlich "California" aus der Market-Dimension.
Die Anzahl der im FIX-Geltungsbereich vorhandenen Blöcke bestimmt, wie oft die getracte Zelle berechnet wird. In diesem Beispiel durchläuft die Berechnung alle vorhandenen Kombinationen des Elements "California" aus einer Sparse-Dimension. Jede dieser Kombinationen stellt einen Block dar.
Nach Abschluss der Berechnung wird die folgende Tracinginformationen protokolliert und in calc_trace_id042.txt angezeigt:
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 1)
Previous value: 840.00
Dependent values:
[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 2)
Block from FIX scope: [100-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values:
[100-20][California][Jan][Sales][Budget] = 140.00
New value: [100-10][California][Jan][Sales][Budget] = 14.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 3)
Block from FIX scope: [200-10][California]
Actual block used in calculation: [100-10][California]
Previous value: 14.00
Dependent values:
[200-20][California][Jan][Sales][Budget] = 520.00
New value: [100-10][California][Jan][Sales][Budget] = 52.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)
[...calc iterations 4-7 are omitted from example...]
Tracing cell: [100-10][California][Jan][Sales][Budget] (Cell update count: 8)
Block from FIX scope: [400-30][California]
Actual block used in calculation: [100-10][California]
Previous value: 9.00
Dependent values:
[400-20][California][Jan][Sales][Budget] = 90.00
New value: [100-10][California][Jan][Sales][Budget] = 9.00
Computed in lines: [91 - 93] using:
"Sales"(
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10;
)Die Logdatei zum Berechnungstracing bietet die folgenden Einblicke in die Berechnung der getracten Zelle:
-
Die getracte Zelle wurde mehrmals berechnet, und der Zellenwert wurde jedes Mal mit dem neuen Wert überschrieben (die Anzahl der gemeldeten Zellenaktualisierungen endet bei 8).
-
Vor der Berechnung hatte die Zelle den Wert 840.00.
-
Für jede Berechnung werden die abhängigen und neuen Werte gezeigt. Abhängige Werte stammen aus der Elementformel in der FIX-Anweisung.
-
Der endgültige Wert der getracten Zelle nach Abschluss aller Berechnungen ist 9. Er stellt aber den Wert des Produkts
"400-20"->Californiageteilt durch 10 dar. -
Für die aktualisierten Werte sind die Zeilen 91-93 des Berechnungsskripts verantwortlich, die eine Elementformel für Sales enthalten.
In allen durchlaufenen Blöcken wird "Sales" mit der folgenden Formel berechnet:
"100-10"=@MEMBER(@CONCATENATE(@NAME(@PARENT("Product")),"-20"))/10Die Formel enthält links ein Element aus dünn besetzter Dimension, das zu einer Abweichung des tatsächlichen Berechnungsblocks gegenüber des anfänglichen FIX-Blocks führen könnte. Beispiel: Wenn die Berechnung "California"->"100-20" durchläuft, werden die tatsächlichen Berechnungen in "California"->"100-10" durchgeführt.
Die Tracelogeinträge mit den Bezeichnungen Block from FIX scope und Actual block used in calculation werden nur ausgegeben, wenn eine Diskrepanz zwischen den Blöcken in der FIX-Anweisung und dem in der Elementformel dargestellten Block besteht. Diese Logeinträge können Rückschlüsse auf die Ursache doppelter Berechnungen zulassen, sodass Sie Ihre Berechnungsskripte einfacher debuggen können.
SET-Befehle für Berechnungstests und Statistiken
Mit SET-Befehlen in Essbase Block Storage-Berechnungsskripten können Sie Berechnungsinformationen, Einstellungen und Statistiken erfassen, die für das Testen und Überwachen der Berechnungsperformance nützlich sind. Die Befehle sind SET MSG SUMMARY, SET MSG DETAIL und SET NOTICE.
MSG-ZUSAMMENFASSUNG festlegen und MSG-DETAIL festlegen
Mit den Berechnungsbefehlen SET MSG SUMMARY und SET MSG DETAIL können Sie in einem Berechnungsskript Folgendes ausführen:
-
Anzeige von Berechnungseinstellungen, z.B. ob Benachrichtigungsmeldungen aktiviert sind
-
Statistiken über die Anzahl der erstellten, gelesenen und geschriebenen Datenblöcke bereitstellen
-
Statistiken zur Anzahl der berechneten Datenzellen bereitstellen
SET MSG DETAIL liefert auch jedes Mal eine Informationsmeldung, wenn Essbase einen Datenblock berechnet. SET MSG DETAIL ist nützlich, um die Berechnungsreihenfolge von Datenblöcken zu überprüfen und intelligente Neuberechnungen zu testen.
Achtung:
Da SET MSG DETAIL einen hohen Verarbeitungsaufwand verursacht, verwenden Sie ihn nur bei Testberechnungen.
SET MSG SUMMARY verursacht je nach Cube-Größe einen Verarbeitungsaufwand von etwa 1% bis 5% und ist daher für alle Berechnungen geeignet.
HINWEIS FESTLEGEN
Sie können den Berechnungsbefehl SET NOTICE in einem Berechnungsskript verwenden, um Benachrichtigungen zum Abschluss der Berechnung anzuzeigen, die Ihnen mitteilen, welcher Prozentsatz des Cubes berechnet wurde. Sie können den Befehl SET MSG SUMMARY mit dem Befehl SET NOTICE verwenden, um den Berechnungsfortschritt zwischen Abschlussbenachrichtigungen anzuzeigen. Abschlussbenachrichtigungen reduzieren die Berechnungsleistung nicht erheblich, außer wenn sie mit einem sehr kleinen Cube verwendet werden.