Gli aggregatori in Envision -Software di ottimizzazione delle scorte

Gli aggregatori in Envision












Home » Risorse » Qui

In questa pagina forniremo una lista degli aggregatori supportati da Envision. Gli aggregatori sono simili alle funzioni, ma hanno una sintassi più ricca di opzioni.


Uso degli aggregatori

Gli aggregatori possono essere usati principalmente in due modi, indipendentemente dal fatto che le tabelle siano collegate o meno.

Aggregazione semplice

Quando le tabelle non sono collegate, gli aggregatori agg sono usati di solito in questo modo:
u = agg(v) by [w1, w2, w3] sort [w4, w5] if c or x over [a .. b]
Dove:
  • agg è il nome dell'aggregatore.
  • by è un'opzione che indica i gruppi da usare nell'aggregazione. Le aggregazioni sono possibili sulla base di uno o più valori.
  • sort è un'opzione che indica l'ordine usato per l'aggregazione. È possibile ordinare sulla base di uno o più valori.
  • if è un filtro di aggregazione. Se usato, esclude dall'aggregazione tutte le righe che risultano false (false).
  • or è un'opzione che indica il valore da assegnare se il gruppo è vuoto.
  • over è un'opzione usata per definire un periodo di aggregazione, i cui limiti sono espressi in giorni, relativo alla data della riga analizzata.

Se non è specificata l'opzione by, il raggruppamento avviene secondo il contesto, di solito a sinistra dell'istruzione in caso di un assegnamento. Ricordiamo che è possibile elencare più variabili dopo by; se è usata una sola variabile, le parentesi tonde non sono necessarie.

L'opzione sort non influisce sulla maggioranza degli operatori (es. max), perché gli operatori non dipendono dall'ordine selezionato. Suggeriamo, però, di usare questa opzione con gli aggregatori first e last.

Se non è specificata l'opzione if, tutte le righe sono incluse nell'aggregazione, con un risultato equivalente a if true.

Se non è specificata l'opzione or, quando il raggruppamento è vuoto sono assegnati i valori predefiniti: 0 (zero) per i numeri, false (falso) per i booleani, stringa vuota per il testo e distribuzione zero per le distribuzioni.

Aggregazione in presenza di tabelle collegate

Per questo secondo caso, la sintassi generale è simile a quella vista prima, ma non identica:

u = agg(v) by [w1, w2, w3] sort [w4, w5] if c at [z1, z2, z3] or x

L'opzione at indica i gruppi utilizzati per collegare le tabelle. Tra questi gruppi e i gruppi usati nell'opzione by deve esserci una corrispondenza di uno a uno. L'opzione by è quindi obbligatoria e il numero di elementi per l'opzione by deve essere identico a quello dell'opzione at.

Aggregatori di base

Gli aggregatori più usati sono:

  • avg: solo argomenti numerici; dà come risultato il valore medio della riga.
  • count: conta le righe true (vero) per i booleani, le righe con un valore diverso da zero per i numeri e le righe non vuote per il testo.
  • distinct: conta il numero dei valori distinti.
  • first: restituisce il valore associato alla prima riga, come definita dall'opzione sort.
  • last: restituisce il valore associato all'ultima riga, come definita dall'opzione sort.
  • max: dà il valore massimo.
  • median: equivale alla funzione MEDIANA di Excel.
  • min: dà il valore minimo.
  • product: argomento esclusivamente numerico, restituisce il prodotto dei valori riga.
  • ratio: restituisce una percentuale, compresa tra 0 e 1, dei booleani che risultano veri o dei numeri diversi da zero. Il valore ratio di un gruppo vuoto è 1.
  • same: si aspetta che tutti i valori raggruppati siano identici (altrimenti fallisce) e ne dà il valore.
  • sum: solo argomenti numerici; dà come risultato la somma di tutti i valori della riga.

Aggregatori logici

Gli aggregatori logici, che cioè danno come risultato un valore booleano, sono:

  • all: dà come risultato true (vero) se tutte le righe di input sono true e false (falso) in caso contrario.
  • any: dà come risultato false (falso) se tutte le righe sono false e true (vero) in caso contrario.
  • exists: dà come risultato true (vero) se almeno una riga è passata all'aggregatore.

Aggregatori temporali

Gli aggregatori temporali sono applicabili solo alle tabelle che contengono una colonna Date (data):

  • latest (caso particolare, incrocia più tabelle): dà l'ultimo valore osservabile. latest non è compatibile con nessuna delle opzioni disponibili.

Aggregatori statistici

Gli aggregatori che servono a eseguire calcoli statistici sono:

  • entropy: restituisce l'Entropia di Shannon del gruppo. Il valore restituito è espresso in shannon.
  • mode: è simile alla funzione MODA di Excel.
  • percentile (caso particolare, due argomenti): è simile alla funzione PERCENTILE di Excel. Il secondo argomento è il percentile tra 0 e 1.
  • stdev: è simile alla funzione STDEV.S di Excel.
  • stdevp: è simile alla funzione STDEV.P di Excel.

Variabili casuali

Una distribuzione può essere generata per aggregazione (vedi anche algebra delle distribuzioni):

  • ranvar: restituisce la variabile casuale empirica associata alle osservazioni numeriche.
  • sumr: restituisce il totale delle somme di convoluzione di variabili casuali. Proprio come sum() è l'aggregatore associato all'operatore +, sumr() è l'aggregatore associato all'operatore +*.