Read-Optionen in Envision

Liste der Read-Optionen












Startseite » Ressourcen » Hier

Die read-Anweisung bietet in Envision die Möglichkeit, eine oder mehrere Dateien in eine Tabelle zu laden. Im Folgenden finden Sie einen Überblick über die verschiedenen Optionen, die die read-Anweisung ermöglicht.


Überblick der Syntax

Gewöhnlich lautet die Syntax zum Lesen einer Datei in Envision, wie folgt:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  "Order Date" as OrderDate : date
  "Quantity" as Qty
Der Text nach dem read-Schlüsselword wird als Pfad bezeichnet. Der Pfad dient zur Zuordnung der Dateien, die in einem bestimmten Speicher vorhanden sind, zu einem bestimmten Lokad-Konto.

Die Spalten müssen nicht zwingend hinter dem with-Schlüsselwort erscheinen. In diesem Fall sind die Spalten im Envision-Skript vorhanden, sofern es sich bei den Spaltennamen um gültige Variablennamen handelt (z.B. sind keine Leerzeichen in den Spalten zulässig). Das Hauptziel des Schlüsselworts as ist die Umbenennung von Tabellen und Spalten.

Wird die as-Option, hinter read ausgelassen, liest Envision die Datei als Teil der items-Tabelle.

Lesen mehrerer Dateien

Durch die Benutzung des Platzhalters [*] im genannten Pfad, ist es möglich, mehrere Dateien gleichzeitig zu lesen:
read "/sample/Lokad_Orders*.gz" as Orders
Es können auch mehrere Platzhalter benutzt werden.

Filtern einer Datei von vielen

Zur Einschränkung des Dateisatzes, der vom Platzhalter in einer Datei erfasst wird, unterstützt die read-Anweisung drei verschiedene Modifizierer:
  • min: es wird nur die erste Datei aus dem Satz beibehalten, wobei nach Namen gefiltert wird.
  • max: es wird nur die letzte Datei aus dem Satz beibehalten, wobei nach Namen gefiltert wird.
  • latest: es wird nur die zuletzt aktualisierte Datei aus dem Satz beibehalten.

Die oben genannten Modifizierer können, wie folgt, genutzt werden:
read max "/sample/Lokad_Orders*.gz" as Orders

Filtern vieler Dateien von vielen

Zur Einschränkung des Dateisatzes aus Dateien, die einen Ordner teilen, und vom Platzhalter zu einem Dateisatz erfasst werden, kann die read-Anweisung das Prozentzeichen (%) nutzen, höchstens eines, um den gewünschten Ordner anzugeben.
read max "/%/Lokad_Orders*.gz" as Orders

Die read-Anweisung erfasst alle Dateien, die dem Ordner gemäß der Einschränkung des Modifizierers entsprechen. Da ein Ordnet kein Änderungsdatum in Lokad hat, sind nur die min und max Modifizierer zulässig, wenn das Prozentzeichen vorhanden ist. Umgekehrt muss, wenn ein Prozentzeichen vorhanden ist, auch ein read-Modifizierer vorliegen.

Optionen auf Tabellenebene

Es werden verschiedene Optionen bezüglich der read--Anweisung unterstützt:
  • skip (Nummer): Gibt an, wie viele Zeilen zu Beginn einer Datei beim Lesen dieser übersprungen werden sollen. Wird dies ausgelassen, ist der Standardwert null.
  • separator (Text): Gibt das Trennzeichen zwischen Zellwerten an, das beim Parsen der Datei benutzt wird. Wird dies ausgelassen, nutzt Envision automatische heuristische Erkennung zur Feststellung des wahrscheinlichsten Trennzeichens.
  • quotes (Boolesch): Wenn false benutzt wird, werden die Anführungszeichen an den Enden, die in einem Zelltoken vorkommen, als Teil eines Tokens gesehen und nicht mit Maskierungszeichen versehen. Falls dies ausgelassen wird, ist der Standardwert true und Envision versieht die Anführungszeichen mit Maskierungszeichen, wie es gewöhnlich bei CSV-Dateien (comma-separated values) der Fall ist.
  • encoding (Text): Die Textcodierung wird beim Parsen der Datei benutzt. Als Werte für die Kodierung werden UTF-8, UTF-16 und latin1 unterstützt. Wird dies ausgelassen, nutzt Envision automatische heuristische Erkennung zur Feststellung der wahrscheinlichsten Kodierung

Im unteren Skript wird die Angabe der oberen Optionen veranschaulicht:
read "/sample/Lokad_Orders.csv.gz" skip:0 separator:"\t" quotes:false encoding:"UTF-8"

Optionen des Tabellentyps

Envision bietet die Möglichkeit, die Primärschlüssel einer Tabelle zu definieren, indem sie direkt hinter dem Tabellennamen in Klammern eingegeben werden. Es sind nur 7 Primärschlüssel-Kombinationen zulässig:
read "a.csv" as A[*]
read "b.csv" as B[Id]
read "c.csv" as C[Id, *]
read "d.csv" as D[Date]
read "e.csv" as E[Date, *]
read "f.csv" as F[Id, Date]
read "g.csv" as G[Id, Date, *]

Die Option Tabellentyp kann ausgelassen werden. In diesem Fall wird standardmäßig der Typ [Id, Date, *]} angewandt.

Optionen auf Spaltenebene

Auch für das Lesen von Spalten werden viele Optionen unterstützt:

  • Der Datentyp der Spalte: text, number, date, bool oder distribution. Der Datentyp steht nach einem Doppelpunkt (:), der dem Spaltennamen folgt.
  • date: Datumsformatzeichenfolge
  • number: numerische Formatzeichenfolge

Im unteren Skript wird die Nutzung der oberen Optionen veranschaulicht:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  date:"dd-MM-yyy" as OrderDate : date
  number:"1,000.00" as Qty

Die Spalten können optional angegeben werden. Auch die Angabe des Datentyps einer Spalte ist optional, auch wenn die Spalte angegeben wird. Wenn keine Angabe zum Datentyp mit der read-Anweisung erfolgt, wird der Datentyp durch die Nutzung im Envision-Skript abgeleitet.

Verteilungen stellen einen erweiterten Datentyp dar, der nur von Lokads Ion-Dateiformat unterstützt wird.

Optionen für Nummern

Die numerische Formatzeichenfolge stellt die gewünschte Ausgabe für die Nummern dar:
  • Das Zeichen nach der anfänglichen 1 stellt das Tausendertrennzeichen dar, das ausgelassen werden kann.
  • Das Zeichen vor den letzten Nullen, stellt das Dezimaltrennzeichen dar, das ausgelassen werden kann.

Datumsoptionen

Die Datumsformatzeichenfolge für die date-Option kann aus folgenden Tokens gebildet werden:

  • d: Tag des Monats von 1 bis 31
  • dd: gleich wie d aber mit einer vorangestellten 0
  • ddd: Abgekürzter Wochentag (z.B. Mon, Tue...)
  • dddd: Ganzer Wochentag (Monday...)
  • MM: Monatsnummer von 1 bis 12
  • MMM: Abgekürzter Monatsname (Jun)
  • MMMM: Ganzer Monatsname (June)
  • yy: Jahr von 00 bis 99; ignoeriert Hunderter und Tausender
  • yyyy: Jahr mit vier Zahlen