Opciones de lectura en Envision

Lista de opciones de lectura











Inicio » Recursos » Aquí

El argumento read en Envision ofrece la posibilidad de cargar uno o más archivos en una tabla. A continuación, reunimos las diferentes opciones relacionadas con el argumento read.


Resumen de la sintaxis

La sintaxis habitual para leer una archivo en Envision es la siguiente:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  "Order Date" as OrderDate : date
  "Quantity" as Qty
El texto que aparece después de la palabra clave read se conoce como ruta. El objetivo es que la ruta haga coincidir los archivos que existen en el almacenamiento de archivos asociado a una determinada cuenta de Lokad.

No es necesario que las columnas se enumeren explícitamente después de la palabra clave with. En este caso, las columnas están disponibles dentro del script de Envision siempre que los nombres de estas sean nombres de variable válidos (por ejemplo, no se permiten espacios en el nombre de columna). El objetivo principal de la palabra clave as es cambiar el nombre tanto de las tablas como de las columnas.

Si se omite la opción as que sigue a read, Envision lee este archivo como parte de la tabla items.

Lectura de varios archivos

Es posible leer varios archivos al mismo tiempo utilizando el comodín [*] en la ruta especificada:
read "/sample/Lokad_Orders*.gz" as Orders
Está permitido el uso de varios comodines.

Filtrado de un archivo entre muchos

Para restringir el conjunto de archivos originalmente capturados por el comodín a un solo archivo, el argumento read admite 3 modificadores distintos:
  • min: solo se retiene el primer archivo del conjunto, y el orden se basa en los nombres de archivo.
  • max: solo se retiene el último archivo del conjunto, y el orden se basa en los nombres de archivo.
  • latest: solo se retiene el archivo del conjunto que ha sido actualizado más recientemente.

Es posible utilizar los modificadores anteriores del siguiente modo:
read max "/sample/Lokad_Orders*.gz" as Orders

Filtrado de varios archivos entre muchos

Para restringir el conjunto de archivos originalmente capturado por el comodín a un solo conjunto de archivos que comparten la misma carpeta, el argumento read puede utilizar el signo de porcentaje (%) —uno como máximo— para indicar la carpeta correspondiente de interés.
read max "/%/Lokad_Orders*.gz" as Orders

El argumento read capturará todos los archivos que coinciden con la carpeta del modo restringido por el modificador. Debido a que la carpeta no tiene una fecha de última actualización, solo se admiten los modificadores min y max cuando está presente el signo de porcentaje. Y viceversa, cuando el signo de porcentaje está presente, debería haber un modificador read.

Opciones de nivel de tabla

Se admiten varias opciones en relación con el argumento read:
  • skip (número): Indica cuántas líneas deberían omitirse al comienzo del archivo mientras se lee el archivo. Si se omite, el valor predeterminado es cero.
  • separator (texto): Indica el separador entre los valores de celda que deben utilizarse al analizar el archivo. Si se omite, Envision utilizará heurística de autodetección para determinar el separador más probable.
  • quotes (booleana): Si se utiliza false, las comillas finales que se encuentran en el token de la celda se consideran como parte del token y no con escape. Si se omite, el valor predeterminado es true y Envision "escapa" comillas finales, como generalmente se hace en archivos CSV (valores separador por comas).
  • encoding (texto): La codificación de texto por utilizar al analizar el archivo. Los valores de codificación aceptados son los siguientes: UTF-8, UTF-16 y latin1. Si se omite, Envision utilizará heurística de autodetección para determinar la codificación más probable.

El script a continuación ilustra el modo en que pueden especificarse las opciones anteriores.
read "/sample/Lokad_Orders.csv.gz" skip:0 separator:"\t" quotes:false encoding:"UTF-8"

Opciones de tipo de tabla

Envision ofrece la posibilidad de definir las claves primarias de una tabla poniéndolas en una lista entre paréntesis inmediatamente después de especificar el nombre de la tabla. Existen solo 7 combinaciones de claves primarias permitidas:
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, *]

La opción de tipo de tabla puede omitirse. En este caso, el tipo predeterminado aplicado es [Id, Date, *].

Opciones de nivel de columna

Se admiten varias opciones para la lectura de cada columna:

  • El tipo de dato de la columna, que puede ser text, number, date, bool o distribution. El tipo de dato se introduce después de dos puntos (:) que le siguen al nombre de la columna.
  • date: la cadena de formato de fecha
  • number: la cadena de formato de número

El script a continuación ilustra el uso de las opciones de columna:
read "/sample/Lokad_Orders.csv.gz" as Orders with
  date:"dd-MM-yyy" as OrderDate : date
  number:"1,000.00" as Qty

La especificación de las columnas es opcional. La especificación del tipo de datos de una columna también es opcional, incluso cuando se especifique la columna. Cuando no se especifica el tipo de dato en la instrucción read, este se deduce del uso dentro del script de Envision.

Las distribuciones son un tipo de dato avanzado admitido solo por el formato de archivo Ionic de Lokad.

Opciones de número

La cadena de formato de número imita el resultado deseado real para los números:
  • El carácter después del 1 inicial es el separador de miles. Puede omitirse.
  • El carácter anterior a los últimos ceros es el separador decimal. Puede omitirse.

Opciones de fecha

La cadena de formato para la opción date puede diseñarse a partir de los siguientes tokens:

  • d: Día del mes de 1 a 31
  • dd: Igual que d pero con el prefijo 0
  • ddd: Día de la semana abreviado (es decir, Lun, Mar, ...)
  • dddd: Día de la semana completo (Lunes, ...)
  • MM: Número de mes de 1 a 12
  • MMM: Nombre abreviado del mes (jun)
  • MMMM: Nombre completo del mes (Junio)
  • yy: Número de año de 00 a 99, ignorando las centenas y los millares
  • yyyy: Año con cuatro dígitos