Le caselle in Envision - Software di ottimizzazione delle scorte

Le caselle












Home » Risorse » Qui

Le caselle sono gli elementi che compongono i pannelli di controllo di Envision. Qui di seguito stileremo una lista di tutti i tipi di caselle supportati da Envision.


Sintassi delle caselle

La sintassi inline generica delle tabelle è questa:
show table "hello" a1c2 tomato with 
x
sum(y)
avg(z) 
group by [x,a] 
order by [max(y), b] desc
Il primo argomento dopo il nome della casella (table nell'esempio qui sopra) è il titolo della casella. Il titolo è seguito da posizione e dimensioni della casella all'interno del pannello di controllo, usando le convenzioni di Excel (lettere per le colonne, numeri per le righe). Infine, viene specificato il colore: è possibile scegliere tra colori web o valori esadecimali, ma senza il segno # (es: FF6347 per tomato).

  • Quasi tutte le caselle possono contenere più argomenti dopo la parola chiave with.
  • L'assegnamento group by è facoltativo e supporta più espressioni. Quando usiamo group by, le espressioni devono contenere aggregatori, a meno che non siano già state aggregate.
  • L'assegnamento order by è facoltativo e supporta più espressioni. Anche l'assegnamento desc è facoltativo; se usato, implica un ordine decrescente.

Le espressioni passate come argomento dopo with sono allineate automaticamente da Envision, per trattare i dati di input come una tabella per la casella. La tabella di input può essere esportata con la sintassi seguente:
show table "hello" a1c2 tomato export:"/mytable.tsv" with x, y, z
Sono supportati i formati di file CSV, TSV, XLSX (Excel) e RFF (raw flat file). Se l'estensione del file specificata è sconosciuta, viene generato un errore.

È inoltre possibile esportare la casella in due o più posizioni contemporaneamente, attraverso più assegnamenti export (esporta):
show table "hello" a1c2 tomato export:"/foo1.tsv" export:"/foo2.tsv" with x, y, z
Nella pratica, poiché l'assegnamento per un'intera casella è spesso piuttosto lungo, Envision offre la sintassi seguente per un intero blocco casella:
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)

Specificare il colore come opzione runtime

La sintassi compatta inline per il colore della casella ha un lato negativo: non è possibile scegliere programmaticamente il colore. Envision offre allora la possibilità di specificare il colore come opzione nominale:
isMonday := today() mod 7 == 0
myColor := isMonday ? "black" : "red"
show label "Monday is Black" color: myColor
L'opzione color (colore) si aspetta un valore di testo scalare. Nell'esempio qui sopra, il colore della casella varia in funzione del giorno della settimana: nero per il lunedì e rosso per gli altri giorni.

Casella assert

Il tipo di casella assert (afferma) è pensato per indicare una esecuzione come fallita se alcune condizioni non sono soddisfatte tra i dati. È possibile elencare una lista delle condizioni dopo la parola chiave with.
show assert "My flags" with 
  count(Id) > 20 as "More than 20 items found", 
  sum(Orders.1) > 20 as "More than 20 orders found"

Casella barchart

La casella barchart (diagramma a barre) mostra, appunto, un diagramma a barre. L'espressione dopo la parola chiave with deve contenere un aggregatore. È previsto l'inserimento di una istruzione group by.
show barchart "Stock per Brand{$}" with sum(StockOnHand * PurchasePrice) group by Brand

Le opzioni disponibili a livello di casella sono le seguenti:
  • color (testo scalare): colore principale per disegnare le barre.
  • download (testo scalare): nome del file quando la casella è scaricata dal pannello di controllo.
  • export (testo scalare): nome del file locale in cui è atteso il contenuto della casella.
  • unit (testo scalare): unità predefinita associata ai valori numerici.

Non sono disponibili opzioni a livello di colonna.

Casella form

La casella form (formulario) mostra un formulario in cui puoi inserire manualmente dei valori dal pannello di controllo. Le variabili da mostrare in questa casella dovrebbero corrispondere a una tabella virtuale Form.
show form "My settings" with 
Form.myValue as "My Value" 
Form.secondValue as "Second Value"
Le variabili definite nei formulari sono sempre scalari, come si evince dal loro uso all'interno dello script. È possibile elencare più variabili nel formulario. In linea di massima, suggeriamo di assegnare un'altezza (numero di righe coperte nella tabella) uguale a N+1, dove N è il numero delle variabili di input Form elencate dopo with.

Casella histogram

Questo tipo di casella serve a visualizzare, appunto, un istogramma. A differenza della casella barchart, in questo caso le barre sono disposte verticalmente. La casella istogramma si aspetta un solo vettore numerico come argomento.
show histogram "Quantities ordered" with Orders.Quantity
La casella può inoltre essere usata per visualizzare una distribuzione scalare:
show histogram "Poisson Law" with poisson(3)
Se abbiamo prodotto una previsione probabilistica della domanda, deve essere selezionato un solo articolo, attraverso la sintassi seguente:
where Id == "123"
  show histogram "My Forecast" with same(Demand)

A livello di casella, le opzioni disponibili sono:
  • color (testo scalare): colore principale da utilizzare nell'istogramma.
  • unit (testo scalare): unità predefinita da applicare ai valori numerici.

Le opzioni sono disponibili anche a livello di colonna.

Casella label

La casella label (etichetta) ha come unico scopo quello di mostrare un testo all'interno del pannello di controllo: è il tipo di casella più semplice, poiché non richiede alcun dato di input.
show label "Hello World"

Casella linechart

La casella linechart (grafico) mostra le serie temporali. I dati di input, in questo caso, sono costituiti da date. Dopo la parola chiave with, è possibile passare più espressioni come argomento.
Week.sold := sum(Orders.NetAmount)
show linechart "Week sold/purchased{$}" with 
  Week.sold  as "Sold" color: "red"
  sum(PurchaseOrders.NetAmount)
  color: "blue"
È possibile definire il colore a livello della casella (proprio come per qualsiasi altra casella), oppure specificare quale colore usare riga per riga, come nell'esempio sopra.

A livello di casella, le opzioni disponibili sono:
  • color (testo scalare): colore principale usato per tracciare la prima riga.
  • unit (testo scalare): unità predefinita usata per i valori numerici.

A livello di colonna, le opzioni disponibili sono:
  • color (testo scalare): colore da utilizzare per la riga associata alla colonna.
  • unit (testo scalare): può essere definita una seconda unità. Quando è definita una seconda unità, le assi Y a sinistra e a destra risultano graduate.

Casella logo

Questa casella è pensata per mostrare il logo dell'azienda, in formato logo.png o logo.jpg, alla base dell'account Lokad. Se non è ancora stato caricato un file contenente il logo, la casella proporrà di farlo al momento. Le dimensioni consigliate per il logo sono di 150x70px (una colonna di larghezza) o 310x70px (due colonne di larghezza).
show logo "My Company"

Casella Markdown

Questa casella serve a visualizzare documentazione contestuale formattata in Markdown, un linguaggio di markup molto semplice utile a produrre un documento leggibile sul web.
show markdown "My title" a6h6 with """
# Parte A
## Sottoparte A.1
Elenco di note **importanti**.

* nota 1
* nota 2
* nota 3

## Sottoparte A.2
# Parte B

Note meno importanti.
"""  

Consigliamo di lasciare il titolo vuoto, poiché sarebbe una ripetizione del titolo definito nella sezione Markdown, come illustrato da:
show markdown "" with """ ... """

Casella piechart

La casella piechart (grafico a torta) è pensata per creare un grafico a torta. Dopo la parola chiave with è necessario passare un'espressione contenente un aggregatore. È prevista l'introduzione di un assegnamento group by.
show piechart "Stock per Brand{$}" with 
sum(StockOnHand * PurchasePrice) 
group by Brand

Casella plot

Questa casella serve a mostrare una funzione di tipo f(x)=y.
show plot "My function" with T.X, T.Y

Le opzioni disponibili a livello di casella sono:
  • color (testo scalare): colore principale usato per visualizzare la riga tracciata.
  • unit (testo scalare): unità predefinita da applicare ai valori numerici.

Casella summary

Questa casella raccoglie diversi valori scalari, di solito KPI. Ogni valore può essere associato a un'etichetta e a una unità.
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: "$"

Casella table

La casella table (tabella) è la più versatile di tutte. La casella mostra una tabella, che può anche essere esportata in formato di file flat.
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
La casella supporta le opzioni di aggregazione group by e order by: in entrambi i casi, invece di un singolo valore può essere fornita una tupla.

Opzioni per la casella

La tabella supporta diverse opzioni a livello di casella. Queste opzioni sono specificate dopo il titolo, come illustrato da:
show table "options" color: "red" unit: "$" with 123

Le opzioni disponibili sono:

  • color (testo scalare): colore principale usato per la casella.
  • date (testo scalare): formato di data predefinito per le colonne che contengono date (vedi più avanti per i dettagli del formato).
  • download (testo scalare): nome del file predefinito usato quando un utente scarica la casella dal pannello di controllo.
  • export (testo scalare): percorso in cui il contenuto della tabella viene archiviato all'interno dell'account Lokad (ad esempio, "export: "/foo/bar.csv"). È possibile scrivere più opzioni export; in questo caso, il file verrà esportato più volte, come indicato.
  • numbers (testo scalare): formato di numeri per le colonne numeriche (vedi più avanti per i dettagli del formato).
  • precision (numero scalare): definisce quanti numeri sono mostrati dopo la virgola decimale per tutte le colonne numeriche.
  • quotes (valore booleano scalare): se true (vero), riporta i dati dei file CSV o TSV tra virgolette. Il valore predefinito è false (falso).
  • unit (testo scalare): unità predefinita usata per i valori numerici.

Opzioni per le colonne

Ogni colonna può beneficiare di una serie di opzioni specifiche, come illustra la sintassi:
show table "Some column-level options" with
  Id as "Produce ID"
  StockOnHand as "On Hand" unit: "ea"
  BuyPrice unit: "$"

Le opzioni disponibili per le colonne sono:
  • date (testo scalare): formato di data per la colonna (vedi più avanti per i dettagli sul formato).
  • display (valore booleano scalare): indica se la colonna verrà mostrata nel pannello di controllo oppure no. Il valore predefinito è true (vero). Non mostrare una colonna può essere utile se lo scopo è semplicemente quello di esportare la colonna in un file.
  • export (valore booleano scalare): indica se la colonna sarà esportata in un file oppure no. Il valore predefinito è true (vero). Non esportare una colonna può essere utile se lo scopo è semplicemente quello di visualizzare la colonna nel pannello di controllo.
  • numbers (testo scalare): formato dei numeri per una colonna numerica (vedi più avanti per i dettagli sul formato).
  • precision (numero scalare): definisce quanti numeri vengono mostrati, nella colonna, dopo la virgola decimale.
  • quotes (valore booleano scalare): se true (vero), i dati nei file CSV o TSV generati sono presentati fra virgolette. Il valore predefinito è false (falso).
  • unit (testo scalare): unità usata per i valori numerici riportati nella colonna.

Stringhe formato di data

La stringa per il formato di data è una "minisintassi", che consente di specificare come scrivere le date nella casella di tipo tabella. Ecco un esempio:
show table "Last sold"  date: "yyyy-MM-dd" with 
max(Orders.Date)

I token disponibili sono:

  • d: giorno del mese da 1 a 31.
  • dd: come d, ma con uno 0 davanti.
  • ddd: giorno della settimana abbreviato (es: Lun, Mar...).
  • dddd: giorno della settimana per intero (Lunedì).
  • MM: numero del mese da 1 a 12.
  • MMM: nome del mese abbreviato (es: Gen, Feb, ...).
  • MMMM: nome del mese per intero (Giugno).
  • yy: numero dell'anno da 00 a 99, ignora centinaia e migliaia.
  • yyyy: anno a quattro cifre.

Qualsiasi altro carattere verrà riportato senza modifiche, così com'è, nella stringa di output.

Stringhe formato di numero

Le stringhe per il formato dei numeri sono una "minisintassi", che consente di specificare come scrivere i numeri nella casella di tipo tabella. Ecco un esempio:
show table "Total sold" number:"1,000.00" with 
sum(Orders.NetAmount)

La sintassi imita l'aspetto finale desiderato per i numeri:
  • il carattere dopo l'1 iniziale è il separatore delle migliaia. Può essere omesso;
  • il carattere prima degli ultimi zeri è il separatore dei decimali. Può essere omesso.

Visualizzazione a un singolo valore

Se una casella di tipo table contiene una sola colonna e una sola riga, la tabella viene adattata per visualizzare un singolo valore.
show table "Total Stock Value" with 
sum(StockOnHand * BuyPrice)

Casella treemap

La casella treemap (mappa ad albero) mostra un treemap, o mappa ad albero. Scopo delle treemap è quello di misurare il peso specifico di ciascun elemento all'interno di un set di dati potenzialmente molto vasto. Questo tipo di casella prevede due argomenti: prima l'etichetta, poi il valore. È prevista inoltre l'introduzione dell'assegnamento group by.
show treemap "Stock Value" with 
Name
StockOnHand * PurchasePrice 
group by Category
Le celle mostrate dalla mappa sono proporzionali alla somma dei valori.