Falsch ausgerichtete Felder in einer Druck- oder PDF-Datei definieren
Das folgende Verfahren beschreibt Techniken zur Definition falsch ausgerichteter Felder in einer Druck- oder PDF-Datei. Die Techniken verlangen, dass Sie die falsch ausgerichteten Felder im Assistenten für Datendefinition nur ungefähr definieren. Sobald sich die Daten in Analytics befinden, erstellen Sie ein oder mehrere Kalkulationsfelder. Diese verwenden Analytics-Funktionen, um die Daten innerhalb der Felder präzise zu erfassen, was die Ausrichtung aller Werte beinhaltet.
Informationen über die Erstellung eines Kalkulationsfelds finden Sie unter Bedingtes Kalkulationsfeld definieren.
So definieren Sie falsch ausgerichtete Felder in einer Druck- oder PDF-Datei:
- Definieren Sie alle richtig ausgerichteten Felder auf die übliche Weise.
Sie müssen mindestens ein Feld definieren, damit eine Datensatzmenge definiert werden kann. Versuchen Sie eine Datensatzmenge zu erstellen, die alle Datensatzdaten innerhalb der Datei erfasst, auch wenn viele der Daten falsch ausgerichtet sein sollten.
Weitere Informationen über das Definieren einer Datensatzmenge finden Sie unter Kurzanleitung: Wie man eine Druck- oder PDF-Datei definiert.
- Führen Sie eine oder mehrere der folgenden Techniken aus, um falsch ausgerichtete Felder zu definieren:
Erstellen Sie eine Felddefinition, die lang genug ist, um die Zeichen ganz links und ganz rechts innerhalb des falsch ausgerichteten Felds zu erfassen.
In Analytics verwenden Sie zur Ausrichtung des Felds die Funktion ALLTRIM( ).
Erstellen Sie überlappende Felddefinitionen, falls dies notwendig ist.
In einigen Fällen führt eine fehlerhafte Ausrichtung dazu, dass sich die Werte von zwei unterschiedlichen Feldern überlappen. Definieren Sie jedes Feld separat, damit alle Werte, die in das jeweilige Feld gehören, durch die unterschiedlichen Felddefinitionen auch erfasst werden.
Das Ende einer Felddefinition und der Beginn einer anderen Felddefinition weisen hierbei dieselben Byte-Positionen auf. Versuchen Sie, durch die gemeinsamen Byte-Positionen konsistent strukturierte Daten zu erfassen, wie beispielsweise eine einzelne, ununterbrochene Zeichenfolge. Dies ist besser als eine einzelne Zeichenfolge in einigen Datensätzen und zwei separate Zeichenfolgen oder gar keine Zeichen in anderen Datensätzen.
In Analytics werden Sie zur Ausrichtung der Felder und zum Löschen überflüssiger Zeichen die Funktionen ALLTRIM( ), REGEXREPLACE( ) und SPLIT( ) verwenden.
Erstellen Sie eine einzelne, lange Felddefinition, die mehrere falsch ausgerichtete Felder beinhaltet.
Wenn ein gesamter Abschnitt einer Datensatzmenge falsch ausgerichtet ist, können Sie eine lange Felddefinition nutzen, um den problematischen Abschnitt der Datensatzdaten zu erfassen. Das Feld muss lang genug sein, um die Zeichen ganz links und ganz rechts innerhalb des falsch ausgerichteten Datenblocks aufzuzeichnen.
Wenn falsch ausgerichtete Daten in mehreren Abschnitten einer Datensatzmenge auftauchen, erstellen Sie zusätzliche lange Felddefinitionen und erfassen damit jeden falsch ausgerichteten Abschnitt.
Hinweis
Wenn die Werte eines Felds eine unterschiedliche Anzahl von Wörtern aufweisen, versuchen Sie eine separate Felddefinition für diese Werte zu erstellen oder sicherzustellen, dass diese Werte das letzte Feld am Ende einer langen Felddefinition aus mehreren falsch ausgerichteten Feldern darstellen. Das Feld „Product Description“ im Beispiel „Inventory.pdf“ ist ein Beispiel für ein Feld, in dem Werte unterschiedliche Wortanzahlen aufweisen.
In Analytics werden Sie zum Aufbrechen des Felds in mehrere, korrekt ausgerichtete Datenelemente die Funktionen ALLTRIM( ), REGEXREPLACE( ) und SPLIT( ) verwenden.
- Überprüfen Sie die gesamte Datei, um sicherzustellen, dass keiner der Werte innerhalb der falsch ausgerichteten Felder außerhalb der hellblauen Hervorhebung Ihrer Felddefinition liegt. Passen Sie die Länge der Felddefinition an, falls dies notwendig ist.
- Stellen Sie sicher, dass im Dialogfeld Felddefinition für jede Felddefinition der Datentyp Zeichen angegeben ist.
- Schließen Sie den Importvorgang auf die übliche Weise ab.
Stellen Sie sicher, dass auf der Seite Feldeigenschaften bearbeiten ein Datentyp „ASCII“ oder „UNICODE“ für jedes Feld angegeben ist.
Weitere Informationen finden Sie unter Druckdatei definieren oder PDF-Datei definieren.
- Für ein falsch ausgerichtetes Feld ohne Daten aus einem überlappenden Feld erstellen Sie ein Kalkulationsfeld in Analytics mit dem folgenden Ausdruck:
ALLTRIM(Name_des_falsch_ausgerichteten_Felds)Führende und nachgestellte Leerzeichen werden dadurch aus dem Feld entfernt, was zu einer Ausrichtung aller Werte des Felds führt.
- Für ein falsch ausgerichtetes Feld mit Daten aus einem überlappenden Feld verfahren Sie in Analytics wie folgt:
- Erstellen Sie ein erstes Kalkulationsfeld, das den folgenden Ausdruck verwendet, um ein oder mehrere Leerzeichen zwischen dem Feldwert und den unerwünschten Zeichen durch ein einzelnes Leerzeichen zu ersetzen:
ALLTRIM(REGEXREPLACE(Name_des_falsch_ausgerichteten_Felds; "\s+“; " "))Der Ausdruck entfernt auch vorangestellte und nachgestellte Leerzeichen aus dem falsch ausgerichteten Feld.
- Erstellen Sie ein zweites Kalkulationsfeld, das einen der folgenden Ausdrücke verwendet, um den Feldwert zu extrahieren und die unerwünschten Zeichen zu löschen:
-
Falls sich die unerwünschten Zeichen am Ende des Felds befinden, verwenden Sie diesen Ausdruck:
SPLIT(Name_des_ersten_Kalkulationsfelds;" "; 1) -
Wenn sich die unerwünschten Zeichen am Anfang des Felds befinden, verwenden Sie diesen Ausdruck:
SPLIT(Name_des_ersten_Kalkulationsfelds;" "; 2)
Tipp
Wenn sich die unerwünschten Zeichen manchmal am Ende eines Felds und manchmal am Beginn befinden oder wenn sie nur in einigen der Datensätze vorhanden sind, müssen Sie ein bedingtes Kalkulationsfeld erstellen, das unterschiedliche Versionen des SPLIT( )-Ausdrucks auf verschiedene Teile des falsch ausgerichteten Felds anwendet. Die Bedingung „RECNO( ) > 100“ ermöglicht Ihnen beispielsweise, eine Version des Ausdrucks lediglich auf die Datensätze nach den ersten 100 Datensätzen anzuwenden.
Weitere Informationen finden Sie unter Bedingtes Kalkulationsfeld definieren.
-
- Erstellen Sie ein erstes Kalkulationsfeld, das den folgenden Ausdruck verwendet, um ein oder mehrere Leerzeichen zwischen dem Feldwert und den unerwünschten Zeichen durch ein einzelnes Leerzeichen zu ersetzen:
- Für eine lange Felddefinition, die mehrere falsch ausgerichtete Felder beinhaltet, gehen Sie in Analytics wie folgt vor:
- Erstellen Sie ein erstes Kalkulationsfeld, das den folgenden Ausdruck verwendet, um ein oder mehrere Leerzeichen zwischen Datenelementen durch ein einzelnes Leerzeichen zu ersetzen:
ALLTRIM(REGEXREPLACE(Name_des_langen_Felds; "\s+“; " "))Der Ausdruck entfernt auch vorangestellte und nachgestellte Leerzeichen aus dem langen Feld.
Tipp
Möglicherweise ist es hilfreich, die OMIT( )-Funktion in den Ausdruck aufzunehmen, um sporadisch erscheinende Daten zu entfernen, welche die weitere Verarbeitung verkomplizieren. OMIT(ALLTRIM(REGEXREPLACE(Name_des_langen_Felds; "\s+"; " ")); "-") bewirkt beispielsweise dasselbe wie der obige Ausdruck und entfernt darüber hinaus Bindestriche.
- Erstellen Sie ein zweites Kalkulationsfeld, das diesen Ausdruck verwendet, um das erste Datenelement zu extrahieren:
SPLIT(Name_des_ersten_Kalkulationsfelds;" "; 1) - Erstellen Sie so viele zusätzliche Kalkulationsfelder wie notwendig und nutzen Sie dabei Variationen desselben Ausdrucks, um alle Datenelemente zu extrahieren.
Beispiel:
SPLIT(Name_des_ersten_Kalkulationsfelds;" "; 2) SPLIT(Name_des_ersten_Kalkulationsfelds;" "; 3)
Zur Festlegung aufeinanderfolgender Datenelemente erhöhen Sie die Zahl im Parameter Segment der SPLIT( )-Funktion.
Hinweis
Bei Feldwerten, die mehr als ein Wort beinhalten, wie beispielsweise den Werten des Felds „Product Description“ im Beispiel „Inventory.pdf“, isoliert diese Technik jedes Wort in ein separates Feld. Wenn erforderlich, können Sie die Werte wieder vereinigen, indem Sie die einzelnen Felder verketten. Weitere Informationen finden Sie unter Verketten von Feldern.
- Erstellen Sie ein erstes Kalkulationsfeld, das den folgenden Ausdruck verwendet, um ein oder mehrere Leerzeichen zwischen Datenelementen durch ein einzelnes Leerzeichen zu ersetzen:
- Sobald Sie das Extrahieren aller Datenelemente in separate Felder abgeschlossen haben, verfahren Sie wie folgt, um numerische Daten und Datumzeit-Daten in den angemessenen Datentyp zu konvertieren:
- Bei numerischen Feldern erstellen Sie ein Kalkulationsfeld, das diesen Ausdruck verwendet:
VALUE(Feldname; Anzahl_der_Dezimalstellen)
Weitere Informationen über die Funktion VALUE( ) finden Sie im Leitfaden für die Skripterstellung in ACL.
- Bei Datumsfeldern erstellen Sie ein Kalkulationsfeld, das diesen Ausdruck verwendet:
CTOD(Feldname; "Datumsformat")
Weitere Informationen über die Funktion CTOD( ) finden Sie im Leitfaden für die Skripterstellung in ACL.
Sie können die Funktionen CTODT( ) oder CTOT( ) nutzen, um Datumzeit- oder Zeitwerte zu konvertieren.
Tipp
Wenn Sie den Datentyp zum selben Zeitpunkt konvertieren, zu dem Sie auch Funktionen für die Korrektur falsch ausgerichteter Daten verwenden, können Sie sich Arbeit sparen und weniger Kalkulationsfelder erstellen. Beispiel:
VALUE(ALLTRIM(Name_des_falsch_ausgerichteten_Felds), 2)
- Bei numerischen Feldern erstellen Sie ein Kalkulationsfeld, das diesen Ausdruck verwendet:
- Sobald Sie alle benötigten Kalkulationsfelder erstellt haben, fügen Sie sie der Tabellenansicht hinzu.
Sie müssen das erste Kalkulationsfeld nicht der Ansicht hinzufügen und können falsch ausgerichtete Felder, oder lange Felder aus der Ansicht entfernen.
Weitere Informationen finden Sie unter Spalten einer Ansicht hinzufügen oder Spalten aus Ansichten entfernen.