Su primer script de Envision

Su primer script de Envision











Inicio » Recursos » Aquí

Este tutorial detalla el modo de componer su primer panel de información con un script de Envision breve. No es necesario contar con conocimientos previos de Envision ni de programación en general. Con este tutorial breve, se familiarizará con los conceptos clave relativos a Envision.

Primeros pasos

Si aún no tiene una, tendrá que abrir una cuenta de Lokad, que viene con una prueba gratuita de 30 días. Una vez que haya abierto su cuenta de Lokad, tendrá que cargar el conjunto de datos de ejemplo de Envision Este conjunto de datos representa los datos históricos de un pequeño minorista imaginario, y esos son los datos que utilizaremos en este tutorial.

Una vez que haya importado los archivos de ejemplo a su cuenta, haga clic en la pestaña "Projects" (proyectos). Una vez en la página del proyecto, haga clic en el enlace Create Envision script (crear script de Envision) que se encuentra al final de la página y elija un título. Debería ver una página nueva casi completamente vacía. La vista se llama editor de código, y le permite editar un script de Envision. Corte y pegue el código a continuación, y haga clic en el botón verde Start Run (comenzar ejecución) que se encuentra a la derecha.
/// This is my first sample script!
read "/sample/Lokad_Items.tsv"
read "/sample/Lokad_Orders.tsv" as Orders
read "/sample/Lokad_PurchaseOrders.tsv" as PO

oend := max(Orders.Date)

// Principales indicadores del conjunto de datos
show label "This is a sample script" a1f1 tomato
show table "Product Lines" a2b2 with sum(1)
show table "Order Lines" c2d2 with sum(Orders.1)
show table "Purchase Order Lines" e2f2 with sum(PO.1)

// Dos gráficos de líneas
Week.sold := sum(Orders.NetAmount)
Week.purchased := sum(PO.NetAmount)
when date >= monday(oend) - 52 * 7 & date < monday(oend) 
  show linechart "Purchased and sold{$}" a3f4 tomato with
    Week.sold as "Sold" 
Week.purchased as "Purchased"

// Inventario con peor rotación
UnitSold = sum(Orders.Quantity) when date > oend - 365
Turns = UnitSold  / max(1, StockOnHand + StockOnOrder)
show table "Slowest inventory turns" a5f8 with
  Id 
Name 
Turns 
UnitSold 
order by Turns

Una vez finalizada la ejecución del script, debería aparecer una nueva línea verde debajo del botón Start Run. El color verde indica que la operación se ha completado correctamente. . Haga clic en este línea, que lo llevará hasta el panel de información que se acaba de generar. Haga clic en el botón Edit Script (editar script) que se encuentra sobre el panel de información para regresar al editor de código. Ahora sabe cómo navegar entre la vista del panel y la del editor de código.

Image

Comprendiendo el contenido del script

En este punto, dependiendo de su familiaridad con los conceptos de programación, el script anterior podrá seguir pareciendo bastante críptico. Revisemos este script línea por línea para comprender su contenido.

Vemos que la línea 1 comienza con // Todas las líneas de ese tipo son comentarios. No desempeñan ninguna función en la lógica del script, y se proporcionan solo con fines de legibilidad. La primera línea puede incluso tener una triple barra /// . Con esta triple barra, esta línea se convierte en el subtítulo del proyecto, y se muestra debajo del título del proyecto en la vista del listado de proyectos.

Entre las líneas 2 y 4, tenemos tres instrucciones read que cargan los datos necesarios para crear el panel de información. Cada una de estas instrucciones carga un archivo.

En la línea 6, definimos una variable que almacena la fecha del último pedido realizado. Es útil definirla, porque esta fecha se utilizará varias veces en el resto del script.

Entre las líneas 8 y 12, tenemos las dos primeras líneas del panel de información, que abarca 4 mosaicos en total. El mosaico de más arriba es simplemente una etiqueta, mientras que los tres mosaicos debajo son las tablas 1X1 simples que contienen solo un indicador. Como veremos más abajo, las tablas también pueden utilizarse para mostrar datos tabulados reales, no solo un solo valor por vez.

Entre las líneas 14 y 20, definimos el gráfico de líneas que se muestra inmediatamente debajo de los tres mosaicos pequeños. Comenzamos calculando los totales semanales de compras y ventas en las líneas 15 y 16. Luego, en la línea 17, filtramos los datos para mantener solo las últimas 52 semanas completas. La lógica es un poco compleja, pero se resume en una condición de inicio y una condición de finalización. La línea 18 comienza con 2 espacios al principio de la línea. Esos espacios son importantes: el when define un bloque, y todo lo que está dentro de ese bloque, es decir, todas las líneas que tienen 2 espacios adicionales, se filtran de consecuencia. Por último, el gráfico de líneas se define entre las líneas 18 y 20. En la línea 18, establecemos el título, el color y la posición del gráfico. Entre las líneas 19 y 20, definimos las dos curvas que se muestran. Note que ambas líneas comienzan con 4 espacios: 2 espacios necesarios para el bloque when y 2 espacios adicionales para el bloque show.

Entre las líneas 22 y 30, tenemos la tabla que viene después del gráfico de líneas. Esta tabla muestra la lista principal de productos que están rotando al menos dentro de su inventario. En la línea 23, calculamos la cantidad de unidades vendidas de cada producto en los últimos 365 días. En la línea 24, calculamos los ciclos de inventario, es decir, la cantidad de rotaciones de inventario en un año. La función max() en el denominador se utiliza simplemente para evitar divisiones por cero si un producto resulta tener cero inventario. Entre las líneas 25 y 30, tenemos la instrucción de visualización de tabla misma. En la línea 25, establecemos el título y su posición. Entre la línea 26 y la línea 29, definimos todas las columnas de la tabla: una línea por columna, de derecha a izquierda. Por último, en la línea 30, utilizamos la opción order by para colocar las rotaciones más bajas al principio de la tabla.

Conclusión

A menos que ya esté familiarizado con la programación, la cantidad de información de este tutorial probablemente sea un poco abrumadora. Sin embargo, como puede ver, en solo 30 líneas de código, es posible componer un panel de información para nada trivial que incluye KPI, cierta visualización de datos y una lista de acción priorizada de productos que probablemente requiere algo de atención para evitar que estos productos atesten su inventario. Utilizando solo 30 líneas de script, ya hemos ido bastante lejos.

Generalmente, la sintaxis utilizada para componer expresiones de cálculo es muy similar a la utilizada en Excel. Por ejemplo, el valor de existencias total teniendo en cuenta tanto las existencias disponibles como las pedidas podría escribirse como sum(PurchasePrice * (StockOnHand + StockOnOrder)). No dude en experimentar con este ejemplo, modificando algunas partes del script y observando inmediatamente los efectos correspondientes en sus paneles de información apenas creados.