Lista de mosaicos




Los mosaicos son los bloques que componen los paneles de información en Envision. A continuación, incluimos una lista de los mosaicos compatibles con Envision.


Sintaxis de mosaico

La sintaxis genérica insertada de un mosaico es:
show table "hello" a1c2 tomato with 
x 
sum(y) 
avg(z) 
group by [x,a] 
order by [max(y), b] desc
El primer argumento después del nombre del mosaico (table en el anterior) es el título del mosaico. Al título le sigue su posición y su dimensión dentro del panel de información, codificadas como una grilla de Excel (letras para referirse a las columnas y números para referirse a las líneas). Por último, se especifica el color, ya sea como uno de los colores web o como su nombre hexa, pero sin el signo # (ej.: FF6347 para tomate).

  • La mayoría de los mosaicos puede tener varios argumentos después de la palabra clave with.
  • La instrucción group by es opcional y respalda varias expresiones. Cuando se utiliza group by, las expresiones deberían exponer agregadores, a menos que ya estuvieran preagregados.
  • La instrucción order by es opcional y también respalda varias expresiones. La instrucción desc puede omitirse. Cuando estuviera presente, el pedido se realiza en orden decreciente.

Las expresiones pasadas como argumentos después de with son alineadas automáticamente por Envision, de modo de tratar los datos de entrada como una tabla para el mosaico. Esta tabla de entrada puede exportarse con la sintaxis:
show table "hello" a1c2 tomato export:"/mytable.tsv" with x, y, z
Son compatibles los formatos de archivo CSV, TSV, XLSX (Excel) y RFF (archivo plano sin formato). Si la extensión de archivo especificada no se conoce, la exportación dará error.

También es posible exportar el mosaico a dos o más ubicaciones al mismo tiempo utilizando varias instruccionesexport:
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with x, y, z
En la práctica, debido a que la instrucción completa para un mosaico tiende a ser larga, Envision también proporciona una sintaxis de bloque de mosaicos con:
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with
  x as "My Name" 
  sum(y) as "My total" unit: "$"
  avg(z)
  group by [x, a]
  order by [max(y), b]

El color como opción de tiempo de ejecución

La sintaxis en línea compacta para el color del mosaico tiene una desventaja: no es posible elegir el color programáticamente. Envision ofrece la posibilidad de especificar el color como una opción con nombre:
isMonday := today() mod 7 == 0
myColor := isMonday ? "black" : "red"
show label "Monday is Black" color: myColor
La opción color espera un valor de texto escalar. En el ejemplo anterior, el color del mosaico cambia según el día. Será negro el lunes y rojo para todos los demás días.

Mosaico assert

Este mosaico está diseñado para marcar intencionadamente una ejecución como fallida si no se cumplen determinadas condiciones en los datos. Es posible enumerar una lista de condiciones después de la palabra clave with.
show assert "My flags" with
  count(Id) > 20 as "More than 20 items found"
  sum(Orders.1) > 20 as "More than 20 ordes found"

Mosaico barchart

Este mosaico está pensado para mostrar un gráfico de barras. La expresión pasada después de la palabra clave with debería ofrecer un agregador. Se espera una instrucción explícita group by.
show barchart "Stock per Brand" unit: "$" with sum(StockOnHand * PurchasePrice) group by Brand

Las opciones disponibles en el nivel de mosaico son:
  • color (texto escalar): El color primario para dibujar las barras.
  • download (texto escalar): El nombre del archivo cuando el mosaico se descarga del panel de información.
  • export (texto escalar): El nombre de archivo local en el que se espera el contenido del mosaico.
  • unit (texto escalar): la unidad predeterminada asociada con valores numéricos.

No se permiten opciones de columna.

mosaico form

Este mosaico está pensado para mostrar una forma en el que los valores pueden ingresarse manualmente desde la vista de panel de información. Se espera que las variables enumeradas para la visualización en este mosaico se adjunten a la tabla Form virtual.
show form "My settings" with 
Form.myValue as "My Value" 
Form.secondValue as "Second Value"
Las variables definidas en formas son siempre escalares. Su tipo escalar se deduce del uso dentro del script. Es posible enumerar múltiples variables dentro de la forma. Como regla general, sugerimos asignar una altura (número de la línea de grilla cubierta) igual a N+1, donde N es el número de variables Form de entrada enumeradas después de with.

Mosaico histogram

Este mosaico está pensado para mostrar un histograma. A diferencia del barchart, las barras del histograma son verticales. El mosaico histograma espera que se proporcione un solo vector numérico como argumento.
show histogram "Quantities ordered" with Orders.Quantity
Además, el histograma puede utilizarse para mostrar una distribución escalar:
show histogram "Poisson Law" with poisson(3)
Si ha elaborado un pronóstico de demanda probabilístico, es necesario seleccionar un solo artículo. Esto puede realizarse con:
where Id == "123"
  show histogram "My Forecast" with same(Demand)

En el nivel de mosaico, las opciones disponibles son las siguientes:
  • color (texto escalar): el color primario por utilizar para el histograma.
  • unit (texto escalar): la unidad predeterminada por aplicar a valores numéricos.

Existen opciones en el nivel de columna.

Mosaico label

Este mosaico está pensado exclusivamente para mostrar una parte de texto dentro del panel de información. Este es el tipo más simple de mosaico, que no lleva datos de entrada.
show label "Hello World"

Mosaico linechart

Este mosaico está pensado para mostrar series de tiempo. Este mosaico lleva datos indexados por fecha como datos de entrada. Las expresiones múltiples puede pasarse como argumento después de la palabra clave with.
Week.sold := sum(Orders.NetAmount)
show linechart "Week sold/purchased" unit: "$" with
  Week.sold as "Sold" color: "red"
  sum(PO.NetAmount) color: "blue"
Si bien el color puede definirse a nivel de mosaico —como cualquier otro mosaico—, también es posible especificar el color de cada línea por trazar, como se ilustra más arriba.

En el nivel de mosaico, las opciones disponibles son las siguientes:
  • color (texto escalar): el color primario por utilizar para dibujar la primera línea.
  • unit (texto escalar): la unidad predeterminanda utilizada para valores numéricos.

En el nivel de columna, las opciones disponibles son las siguientes:
  • color (texto escalar): el color por utilizar para la línea asociada con la columna.
  • unit (texto escalar): puede definirse una segunda unidad. Cuando se define una segunda unidad, tanto el eje Y a la izquierda como el de la derecha vienen con graduaciones.

Mosaico logo

Este mosaico está pensado para mostrar un logo de empresa. Este mosaico muestra el archivo de imagen logo.png o logo.jpg que debería ubicarse en la raíz de su cuenta de Lokad. Si no ha cargado un archivo de logo de este tipo, el mosaico le propondrá que cargue un archivo de imagen. Las dimensiones recomendadas para el logo son 150x70px (una columna de ancho) o 310x70px (dos columnas de ancho).
show logo "My Company"

mosaico markdown

Este mosaico está diseñado para mostrar documentación contextual formateada en Markdown, un lenguaje de marcado muy simple que ayuda a crear un documento legible en la web.
show markdown "My title" a6h6 with """
# Part A
## Subpart A.1
A list of **important** remarks.

* remark 1
* remark 2
* remark 3

## Subpart A.2
# Part B

Less important remarks.
"""  

Recomendamos dejar el título vacío, ya que generalmente el título del mosaico es redundante, siendo que se define dentro de la sección Markdown misma, como se ilustra a continuación:
show markdown "" with """ ... """

mosaico piechart

Este mosaico está pensado para mostrar un gráfico de torta. La expresión pasada después de la palabra clave with debería ofrecer un agregador. Se espera una instrucción explícita group by.
show piechart "Stock per Brand" unit: "$" with sum(StockOnHand * PurchasePrice) group by Brand

mosaico plot

El mosaico está pensado para mostrar una función f(x)=y.
show plot "My function" with T.X, T.Y

Las opciones de nivel de mosaico disponibles son las siguientes:
  • color (texto escalar): el color primario utilizado para mostrar la línea trazada.
  • unit (texto escalar): la unidad por aplicar por defecto a valores numéricos.

Mosaico summary

Este mosaico está diseñado para reunir varios valores escalares, generalmente KPI. Cada valor puede asociarse a una etiqueta y a una unidad.
show summary "Key stock figures" a1b2 with
  sum(StockOnHand) as "Units on hand"
  sum(StockOnOrder) as "Units on order"
  sum(Stock * BuyPrice) as "Stock value" unit: "$"

mosaico table

El mosaico table es el más versátil ofrecido por Envision. Este mosaico está pensado para mostrar una tabla, y esa tabla puede exportarse opcionalmente como archivo plano.
show table "Top sellers" export:"/tops.tsv" with
  Supplier as "Supplier Name"
  Category as "Category"
  sum(Orders.NetAmount) as "Sold" unit:"$"
  group by [Supplier, Category]
  order by sum(Orders.NetAmount) desc
El mosaico table admite tanto las opciones de agregación group by como order by. En ambos casos, puede proporcionarse una tupla en lugar de un solo valor.

Opciones de nivel de mosaico

El mosaico table admite varias opciones definidas en el nivel de mosaico. Esas opciones se especifican después del mosaico, como se ilustra a continuación:
show table "options" color: "red" unit: "$" with 123

La lista de opciones disponibles es la siguiente:

  • color (texto escalar): el color primario utilizado para el mosaico.
  • date (texto escalar): el formato de fecha predeterminado para las columnas de fechas (vea la especificación de formato a continuación).
  • download (texto escalar): el nombre de archivo predeterminado utilizado cuando un usuario descarga el mosaico del panel de información.
  • export (texto escalar): la ruta de archivo en la que se almacena el contenido de la tabla dentro de la cuenta de Lokad. Por ejemplo "export: "/foo/bar.csv". Se pueden escribir varias opciones export, que darán lugar a la creación de varias exportaciones.
  • numbers (texto escalar): el formato de número predeterminado para las columnas numéricas (vea a continuación para ver la especificación de formato).
  • precision (número escalar): define el modo en que se muestran los números después del punto decimal en las columnas numéricas.
  • quotes (booleano escalar): cuando es true, fuerza comillas alrededor de los datos en archivos de CSV o TSV generados. El valor predefinido es false.
  • unit (texto escalar): la unidad predeterminada utilizada al mostrar valores numéricos.

Opciones de nivel de columna

Cada columna puede beneficiarse de manera independiente. A continuación se ilustra esta sintaxis:
show table "Some column-level options" with
  Id as "Produce ID"
  StockOnHand as "On Hand" unit: "ea"
  BuyPrice unit: "$"

La lista de opciones en el nivel de columna es la siguiente:
  • date (texto escalar): el formato de fecha para esta columna (vea a continuación para ver la especificación de formato).
  • display (booleano escalar): indica si la columna se mostrará en el panel de información. El valor predefinido es true. Es posible que no se quiera mostrar una columna si el propósito es solo exportar la columna a un archivo.
  • export (booleano escalar): indica si la columna se exportará a un archivo. El valor predefinido es true. Es posible que no se quiera exportar una columna si el propósito es solo mostrar la columna en el panel de información.
  • numbers (texto escalar): formato de número para una columna numérica (vea a continuación para ver la especificación de formato).
  • precision (número escalar): define cuántos números se muestran después del punto decimal en la columna.
  • quotes (booleano escalar): cuando es true, fuerza comillas alrededor de los datos de la columna en archivos de CSV o TSV generados. El valor predefinido es false.
  • unit (texto escalar): unidad utilizada al mostrar valores numéricos de la columna.

Cadenas de formato de fecha

La cadena de formato para las fechas es una minisintaxis que le permite especificar el modo en que deberían formatearse las fechas en el mosaico table. Por ejemplo:
show table "Last sold"  date: "yyyy-MM-dd" with max(Orders.Date)

Los tokens disponibles son los siguientes:

  • 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 (ej.: Lun, Mar, ...)
  • dddd: Día de la semana completo (Lunes, ...)
  • MM: número de mes de 1 a 12
  • MMM: nombre del mes abreviado (ej.: Ene, Feb, ...)
  • 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.

Cualquier otro carácter se utiliza tal cual en la cadena de salida.

Cadenas de formato de número

La cadena de formato para los números es una minisintaxis que le permite especificar el modo en que deberían formatearse los números en el mosaico table. Por ejemplo:
show table "Total sold" number:"1,000.00" with sum(Orders.NetAmount)

La sintaxis 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.

Visualización de valor único

Cuando un mosaico table contiene una sola columna y una sola línea, la visualización de la tabla se ajusta para reflejar la visualización de un solo valor.
show table "Total Stock Value" with sum(StockOnHand * BuyPrice)

Mosaico treemap

El mosaico treemap muestra un diagrama de árbol. Los diagramas de árbol está pensados para capturar mejor los pesos respectivos de los elementos dentro de un conjunto de datos potencialmente grande. Este mosaico exige dos argumentos: primero, la etiqueta, segundo, el valor. Luego, se espera que se especifique un agrupamiento a través de la instrucción group by.
show treemap "Stock Value" with Name, StockOnHand * PurchasePrice group by Category
Las celdas mostradas por el diagrama de árbol son proporcionales a la suma de los valores.

Mosaico upload

El mosaico upload está pensado para facilitar la carga de archivos típicamente pequeños directamente desde un panel de información de Envision sin tener que ir una y otra vez al área Files de su cuenta de Lokad. De hecho, cuando se consideran simuladores complejos que implican muchos parámetros, a menudo es más simple tener todos esos parámetros reunidos en una planilla de cálculo que ingresar todos esos valores en una página web. Si bien es posible cargar una planilla de cálculo de este tipo como cualquier otro archivo en su cuenta de Lokad, es más práctico si la carga puede realizarse directamente desde el panel de información. El mosaico upload está pensado precisamente para admitir este caso de uso.
read upload as MySuppliers[*] with 
SupplierId : text
SupplierQuota : number
SupplierCountry : text

show upload "Supplier settings" with MySuppliers.*
A diferencia de otros mosaicos, el mosaico upload se combina con una respectiva instrucción read upload. De hecho, la sintaxis ofrece un modo de tratar los datos cargados por el usuario como cualquier otra tabla accesible a Envision. La sintaxis le permite especificar el formato esperado de las columnas de la tabla que se cargará dentro del panel de información. Además, al igual que con cualquier otra entrada de datos, Envision proporciona un control de versiones completo de los archivos cargados procesados anteriormente. Los archivos que se hayan cargado anteriormente puede volver a descargarse desde el enlace Ejecutar historial del panel de información.

Estas funciones de carga son accesibles para cualquier usuario que tenga acceso al panel de información sin que el usuario tenga que tener acceso al área de carga de archivos de su cuenta de Lokad. Por lo tanto, el mosaico upload también es útil para proporcionar accesos granulares.