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 .txt aufweisen. Laderegeln müssen die Erweiterung .rul aufweisen.

  • 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:

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.

    Siehe Datensätze auswählen und ablehnen.

  • 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.

    Siehe Vorhandene Datenwerte beim Laden von Daten löschen.

  • 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:

  1. Suchen Sie das Ende des Dateimarkers in der SQL-Datenquelle.
  2. Legen Sie fest, wie Sie mit dem Essbase-Suchbefehl nach dem Dateiende-Marker suchen.

    Diese Aufgabe kann schwierig sein, da das Ende der Dateimarkierung aus einem oder mehreren Sonderzeichen bestehen kann. Lesen Sie dazu Strings ignorieren.

  3. Definieren Sie ein Ablehnungskriterium, das das Dateiende zurückweist. Weitere Informationen finden Sie unter Datensätze auswählen und ablehnen.

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:

  1. Validiert die Laderegel anhand der zugehörigen Gliederung.

  2. 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.

  3. Fügt dem Outline neue Dimensionen hinzu, die in der Load-Regel definiert sind.

  4. 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:

  1. Legt die Dateitrennzeichen für alle Datensätze fest.

  2. 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.

  3. 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:

    1. Ignoriert Felder, die beim Laden von Daten ignoriert werden sollen.

    2. Ignoriert Felder, die bei der Dimensionserstellung ignoriert werden sollen.

    3. Kennzeichnet das Datenfeld.

    4. Wendet Feldnamen an.

    5. Wendet Feldgenerationen an.

    6. Führt alle Ersetzungen in der Reihenfolge aus, in der sie in der Laderegel definiert sind.

    7. Löscht vor- und nachgestellte Leerzeichen.

    8. Konvertiert Räume in Unterstriche.

    9. Wendet Suffix- und Präfixvorgänge an.

    10. Skaliert Datenwerte.

    11. Konvertiert Text als Kleinbuchstaben.

    12. Konvertiert Text in Großbuchstaben.

  4. Fügt der Gliederung Elemente oder Elementinformationen oder beides hinzu.

  5. Wenn Sie Zeilen überspringen möchten, überspringt Essbase die angegebene Zeilenanzahl. Andernfalls fährt Essbase mit dem ersten Datensatz fort.

  6. 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"   19

Essbase 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"    19

Unbekannte 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"  11

Hinweis:

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    $16

Aus 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,

  1. Wenn Sie vom Server laden, ändern Sie die Dateierweiterung von .err in .txt. Beispiel: Ändern Sie die Datei dataload.err in dataload.txt.

    Wenn Sie vom Client laden, können Sie die Erweiterung .err verlassen.

  2. Beheben Sie das Problem, das dazu geführt hat, dass die Dimensionserstellung oder der Dataload nicht erfolgreich war. Die Behebung des Problems kann das Ändern der Gliederung, das Ändern von Text im Fehlerlog oder das Bearbeiten der Laderegel umfassen.

    Prüfen Sie, ob die folgenden Bedingungen zutreffen:

  3. Laden Sie das Fehlerlog mit der entsprechenden Laderegel.