Dataloads und Dimensionserstellungen debuggen
Probleme bei Essbase-Dataloads und Dimensions-Builds umfassen falsche Ladevorgänge oder nicht erfolgreiche Prozesse. Die Quelle kann unbekannte Elemente oder fehlende/ungültige Felder enthalten, die Laderegel ist möglicherweise ungültig, oder es besteht keine Verbindung zum Server oder zu den Quelldaten. Fehlerprotokolle können Ihnen beim Debugging helfen.
Wenn eine Datenquelle nicht korrekt in den Essbase-Server geladen wird, stellen Sie sicher, dass Sie mit der entsprechenden Anwendung und Datenbank verbunden sind und die richtige Datenquelle geladen wird.
Wenn weiterhin Probleme auftreten, lesen Sie die folgenden Themen:
Nachdem Sie die Probleme behoben haben, können Sie die Datensätze, die nicht geladen wurden, erneut laden, indem Sie das Fehlerlog neu laden. Weitere Informationen finden Sie unter Aus Dimensions-Build- und Dataload-Fehlerlogs laden.
Prüfen, ob Essbase-Server verfügbar ist
Wenn Sie keine Daten laden können, stellen Sie sicher, dass der Essbase-Server ausgeführt wird. Versuchen Sie, für einige andere Vorgänge auf den Essbase-Server zuzugreifen.
Beispiel: Stellen Sie sicher, dass Sie eine Verbindung zu Ihrer Essbase-Anwendung herstellen können, um einen Abruf durchzuführen: Führen Sie eine Abfrage in Smart View aus.
Prüfen, ob die Quelldaten verfügbar sind
Wenn Essbase nicht auf die Quelldaten zugreifen kann, die Sie laden möchten, stellen Sie (wenn es sich um eine Datei handelt) sicher, dass die Sperre aufgehoben ist und dass Pfad und Dateierweiterung korrekt sind. Wenn die Quelldaten eine externe Datenbank sind, stellen Sie sicher, dass sie ausgeführt wird und Sie eine Verbindung herstellen können.
Prüfen Sie die folgenden Details zu den Quelldaten.
-
Die Quelldaten sind nicht offen (zum Beispiel bearbeitet jemand die Quelldaten?).
Essbase kann nur Quelldaten laden, die nicht von einem anderen Benutzer oder einer anderen Anwendung gesperrt sind.
-
Die Quelldaten haben die richtige Dateierweiterung.
Textdateien müssen die Erweiterung
.txtaufweisen. Laderegeln müssen die Erweiterung.rulaufweisen. -
Der Name der Quelldatendatei und der Pfadname sind korrekt.
Prüfen Sie auf Rechtschreibfehler.
-
Die Quelldaten befinden sich am angegebenen Speicherort.
Stellen Sie sicher, dass niemand die Quelldatendatei verschoben oder gelöscht hat.
-
Wenn Sie eine SQL-Datenquelle verwenden:
-
Die Verbindungsdetails (wie Benutzername, Kennwort und Datenbankname) sind korrekt.
-
Sie können eine Verbindung zu den SQL-Quelldaten herstellen, ohne Essbase zu verwenden.
-
Fehlerlogs prüfen
Es empfiehlt sich, dass Essbase bei Dataloads oder Dimensionserstellungen in ein Fehlerlog schreibt, da das Log ein wertvolles Debuggingtool ist. Es listet Fehler auf, die während einer Dimensionserstellung oder eines Dataloads aufgetreten sind, und enthält die Datensätze, die nicht geladen werden konnten.
Nachdem Sie die Fehler behoben haben, können Sie sie aus dem Fehlerlog erneut laden. Wenn kein Fehlerlog vorhanden ist, prüfen Sie, ob die folgenden Bedingungen vorhanden sind:
-
Die Person, die den Dataload- oder Dimensionserstellungsjob ausführt, hat ein Fehlerlog eingerichtet. Wenn Sie einen Dataload oder eine Dimensionserstellung ausführen, können Sie Essbase anweisen, den Dataload bei Fehlern abzubrechen oder die Fehler zu schreiben/an ein Log anzuhängen.
Wenn Essbase ein Fehlerlog für die Dimensionserstellung oder den Dataload erstellt, wird es im Cube-Verzeichnis erstellt. Das Dateiformat ist
err_<databasename>_<number>.txt. -
Die Datenquelle und der Essbase-Server sind beide verfügbar.
Informationen hierzu finden Sie unter Verfügbarkeit von Essbase-Server prüfen und Verfügbarkeit der Quelldaten prüfen.
-
Essbase-Server ist beim Dataload abgestürzt.
Wenn ja, haben Sie wahrscheinlich einen Netzwerk-Timeout-Fehler auf dem Client erhalten.
-
Das Anwendungslog ist vorhanden.
Wenn das Fehlerlog vorhanden, aber leer ist, glaubt Essbase nicht, dass beim Laden ein Fehler aufgetreten ist. Prüfen Sie, ob die folgenden Bedingungen vorhanden sind:
-
Die Laderegel enthält Auswahl- oder Zurückweisungskriterien, die jeden Datensatz in der Quelle zurückgewiesen haben.
-
Die Laderegel wird ordnungsgemäß validiert.
Siehe Voraussetzungen für gültige Dataload-Regeldateien und Voraussetzungen für gültige Regeldateien für die Dimensionserstellung.
Probleme mit falsch geladenen Daten beheben
Wenn die Essbase-Daten fehlerfrei geladen werden, die Daten jedoch falsch zu sein scheinen, prüfen Sie zuerst die Quelldaten, und führen Sie dann Prüfungen auf implizite Shares, Datenskalierung, Sign-Flipping und andere potenzielle Probleme mit den Laderegeln durch.
Prüfen Sie die folgenden Elemente, um Fehler bei den geladenen Daten zu beheben:
-
Sie haben die korrekte Datenquelle geladen.
Wenn ja, prüfen Sie die Datenquelle erneut, um sicherzustellen, dass sie die richtigen Werte enthält.
-
Die Quelldaten werden korrekt formatiert.
-
Alle Bereiche sind korrekt eingerichtet.
-
Die Daten sind sauber. Beispiel: Bei der Verarbeitung der Datenquelle erkennt Essbase Elementnamen und kennt die Dimensionen, zu denen sie gehören. Wenn ein Datenquellendatensatz versehentlich ein Element aus einer Dimension enthält, für die ein Element im Headerdatensatz benannt ist, ersetzt der neue Elementname das Headerdatensatzelement für diese Dimension. Im folgenden Beispiel erkennt Essbase Florida als Element der Market-Dimension. Die Werte in den letzten vier Datensätzen werden als Florida-Werte anstelle von Texas-Werten interpretiert.
Jan Actual Texas Sales "100-10" 51.7 "100-20" 102.5 "100-20" 335.0 Florida 96.7 "200-20" 276.0 "200-20" 113.1 "200-10" 167.0
-
-
Gibt es implizit gemeinsame Elemente (wenn ein über- und untergeordnetes Element denselben Datenwert hat), von denen Sie nichts gewusst haben?
Ein implizites gemeinsames Element tritt auf, wenn ein über- und untergeordnetes Element denselben Datenwert gemeinsam verwenden. Dies kann passieren, wenn ein übergeordnetes Element nur ein untergeordnetes Element hat oder nur ein untergeordnetes Element, das in das übergeordnete Element zusammengefasst wird.
-
Sie haben eingehende Daten zu vorhandenen Daten hinzugefügt, anstatt eingehende Daten durch vorhandene Daten zu ersetzen.
Siehe Zu vorhandenen Werten hinzufügen oder von vorhandenen Werten subtrahieren.
-
Sie haben Datensätze ausgewählt oder abgelehnt, die Sie nicht auswählen oder ablehnen wollten.
-
Das Vorzeichen wird umgekehrt (z.B. ein Minuszeichen anstelle eines Pluszeichens) und ob Sie bei UDAs ein Vorzeichen umgedreht haben.
Siehe Flip Field Signs.
-
Sie haben Datenkombinationen gelöscht, die Sie nicht löschen wollten.
-
Sie haben die eingehenden Werte falsch skaliert.
Siehe Datenwerte skalieren.
-
Alle Element- und Aliasnamen sind weniger als 79 Zeichen lang.
Sie können die Daten prüfen, indem Sie eine Abfrage in Smart View oder Report Writer ausführen.
Ablehnungskriterien für Dateieinstellungsmarker erstellen
Eine SQL-Datenquelle kann einen Dateiversionsmarker enthalten, der aus Sonderzeichen besteht, die dazu führen, dass ein Essbase-Dataload oder eine Dimensionserstellung nicht erfolgreich verläuft. Um dieses Problem zu beheben, definieren Sie ein Ablehnungskriterium, um den Problemdatensatz abzulehnen.
So definieren Sie Ablehnungskriterien:
So verarbeitet Essbase eine Laderegel
Manchmal können Sie Probleme bei Dimensionserzeugungen nachverfolgen, indem Sie verstehen, wie Essbase die Laderegel initialisiert/validiert, und in welcher Reihenfolge Vorgänge bei der Verarbeitung der Datensätze in den Quelldaten ausgeführt werden.
Essbase führt die folgenden Schritte aus, um eine Laderegel zu initialisieren:
-
Validiert die Laderegel anhand der zugehörigen Gliederung.
-
Validiert die Dimensionen. Dieser Prozess umfasst die Sicherstellung, dass die Erstellungsmethode und die Feldtypen kompatibel sind und dass jeder Dimensionsname eindeutig ist. Elementnamen müssen eindeutig oder gemeinsam verwendet sein.
-
Fügt dem Outline neue Dimensionen hinzu, die in der Load-Regel definiert sind.
-
Liest die in den Quelldaten angegebenen Headerdatensätze.
Dann führt Essbase die folgenden Vorgänge für jeden Datensatz der Quelldaten während eines Dataloads oder einer Dimensionserstellung aus:
-
Legt die Dateitrennzeichen für alle Datensätze fest.
-
Wendet Feldvorgänge auf die Daten in der Reihenfolge an, in der die Vorgänge in der Load-Regel definiert sind.
Feldvorgänge umfassen Joins, Verschiebungen, Aufteilungen und das Erstellen von Feldern mit Text und Joins. Informationen zur Reihenfolge, in der Feldvorgänge in der Laderegel definiert sind, finden Sie unter Vorgänge für Felder ausführen.
-
Essbase wendet alle Eigenschaften für jedes Feld an und wendet alle Eigenschaften auf field1 an, bevor Sie mit field2 fortfahren. Essbase wendet Feldeigenschaften in der folgenden Reihenfolge an:
-
Ignoriert Felder, die beim Laden von Daten ignoriert werden sollen.
-
Ignoriert Felder, die bei der Dimensionserstellung ignoriert werden sollen.
-
Kennzeichnet das Datenfeld.
-
Wendet Feldnamen an.
-
Wendet Feldgenerationen an.
-
Führt alle Ersetzungen in der Reihenfolge aus, in der sie in der Laderegel definiert sind.
-
Löscht vor- und nachgestellte Leerzeichen.
-
Konvertiert Räume in Unterstriche.
-
Wendet Suffix- und Präfixvorgänge an.
-
Skaliert Datenwerte.
-
Konvertiert Text als Kleinbuchstaben.
-
Konvertiert Text in Großbuchstaben.
-
-
Fügt der Gliederung Elemente oder Elementinformationen oder beides hinzu.
-
Wenn Sie Zeilen überspringen möchten, überspringt Essbase die angegebene Zeilenanzahl. Andernfalls fährt Essbase mit dem ersten Datensatz fort.
-
Essbase führt Auswahl- oder Ablehnungskriterien in der Reihenfolge aus, in der die Kriterien in der Laderegel definiert sind. Essbase lädt einzelne Datensätze der Quelldaten basierend auf den angegebenen Kriterien oder lehnt sie ab.
Essbase verarbeitet fehlende oder ungültige Felder beim Laden von Daten
Wenn ein Elementfeld während eines Dataloads fehlt, verwendet Essbase seinen vorherigen Wert. Wenn jedoch kein Element vorhanden ist, wird das Laden gestoppt. Unbekannte Elementnamen führen dazu, dass der Datensatz abgelehnt wird. Wenn ein ungültiges Datenfeld vorhanden ist, wird der Dataload gestoppt, was zu einem teilweisen Dataload führt.
Informationen zum Neustart des Dataloads nach solchen Problemen finden Sie unter Aus Dimensions-Build- und Dataload-Fehlerlogs laden.
Fehlende Dimensions- oder Elementfelder
Wenn ein Dimensions- oder Elementfeld fehlt, verwendet Essbase den Wert, den es zuvor für dieses Dimensions- oder Elementfeld verwendet hat. Wenn kein vorheriger Wert vorhanden ist, stoppt Essbase den Dataload.
Beispiel: Wenn Sie die folgende Datei in die Sample.Basic-Datenbank laden, ordnet Essbase das Ohio-Elementfeld für alle Datensätze, einschließlich der Datensätze, die Root Beer und Diet Cola in der Product-Dimension aufweisen, der Market-Dimension zu.
Jan Sales Actual Ohio
Cola 25
"Root Beer" 50
"Diet Cola" 19Essbase stoppt den Dataload, wenn kein vorheriger Datensatz einen Wert für das fehlende Elementfeld enthält. Beispiel: Wenn Sie versuchen, die folgende Datei in die Sample.Basic-Datenbank zu laden, wird der Dataload gestoppt, da die Market-Dimension (Ohio im vorherigen Beispiel) nicht angegeben ist.
Jan Sales Actual
Cola 25
"Root Beer" 50
"Diet Cola" 19Unbekannte Mitgliedsfelder
Wenn Sie einen Dataload ausführen und ein unbekannter Elementname gefunden wird, wird der gesamte Datensatz abgelehnt. Wenn ein vorheriger Datensatz mit einem Elementnamen für das fehlende Elementfeld vorhanden ist, fährt Essbase mit dem nächsten Datensatz fort. Wenn kein vorheriger Datensatz vorhanden ist, wird der Dataload gestoppt. Beispiel: Wenn Sie die folgende Datei in die Sample Basic-Datenbank laden, wird der Datensatz mit Ginger Ale abgelehnt, weil er kein gültiger Elementname ist. Die Aufzeichnungen mit Cola, Root Beer und Cream Soda werden geladen. Wenn Ginger Ale jedoch im ersten Datensatz wäre, würde der Dataload gestoppt.
Jan, Sales, Actual
Ohio Cola 2
"Root Beer" 12
"Ginger Ale" 15
"Cream Soda" 11Hinweis:
Wenn Sie eine Dimensionserstellung ausführen, können Sie das neue Element zur Datenbank hinzufügen. Siehe Dataloads oder Dimensions-Builds ausführen.
Ungültige Datenfelder
Wenn Sie einen Dataload ausführen, wird der Dataload gestoppt, wenn ein ungültiges Datenfeld ermittelt wird. Alle Felder, die vor dem ungültigen Feld gelesen werden, werden in den Cube geladen, was zu einem teilweisen Dataload führt. Beispiel: In der folgenden Datei wird der Dataload gestoppt, wenn er auf den 15-Datenwert trifft. Die Verkaufsdatensätze für Jan und Feb werden geladen, jedoch nicht die Verkaufsdatensätze für Mär und Apr.
East Cola Actual
Sales Jan $10
Feb $21
Mar $15-
Apr $16Aus Fehlerlogs für Dimensionserstellung und Dataload laden
Wenn die Essbase-Dimensionserstellung oder der Dataload nicht erfolgreich verläuft, können Sie nur die nicht erfolgreichen Datensätze laden, indem Sie das Fehlerlog laden. Nur die nicht erfolgreichen Datensätze neu zu laden, ist viel schneller als das erneute Laden jedes Datensatzes.
Um aus dem Fehlerlog neu zu laden,