fbpx

Giacenza con powerbi: Snapshot o transazioni?

Quando si desidera analizzare l’inventario delle scorte nel tempo, l’approccio tradizionale consiste nel creare una tabella dell’inventario che contiene, per ogni giorno, la quantità per ogni prodotto disponibile. Una tabella di questo tipo rende molto veloce il recupero della quantità di magazzino di uno o più prodotti, perché bisogna sommare solo le righe per un singolo giorno. La tabella Inventory è anche nota come tabella “snapshot”, il che significa che per ogni giorno si ha una descrizione completa della disponibilità di magazzino. Dovrebbe esserci un’elaborazione batch che aggiorna questa tabella ogni giorno e la dimensione di questa tabella aumenta ogni giorno del numero di prodotti disponibili, supponendo che non si memorizzi una riga per i prodotti che sono fuori vendita.

La dimensione di una tabella dell’inventario potrebbe essere enorme. Un’azienda che ogni giorno ha una grande quantità di transazioni per la maggior parte dei prodotti in magazzino preferirebbe utilizzare la tabella Inventario, perché è più piccola di quella Movimenti. Tuttavia, se un’azienda ha molti prodotti disponibili in magazzino e la maggior parte di essi non ha movimenti giornalieri, la tabella Inventario potrebbe avere una dimensione che è un multiplo della tabella Movimenti.

In Power Pivot, tutti i dati vengono archiviati in memoria. Anche se l’elevato rapporto di compressione riduce le dimensioni della tabella, l’archiviazione dell’inventario potrebbe essere costosa ed è possibile evitare questa tabella istantanea calcolando dinamicamente il valore delle unità in magazzino al momento della query. Il compromesso tra il costo della memoria e la velocità delle query dipende da molti fattori ed è necessario valutare caso per caso quando questa tecnica è conveniente.

Il motore valuta la misura dello stock per ogni riga del risultato. Il calcolo dinamico che utilizza i movimenti è più lento del modello basato su istantanee che utilizza Inventory quando il numero di righe restituite è piccolo. Tuttavia, con un numero maggiore di righe restituite si verifica uno strano effetto che rende più veloce il calcolo dinamico. In questo caso, il modello di istantanea è più veloce solo per le query che vengono eseguite in meno di un secondo, ma per le query più lunghe il calcolo dinamico si comporta molto meglio.

Usare il calcolo dinamico per l’inventario delle scorte sembra una buona idea perché consente un grande risparmio di spazio se la maggior parte dei prodotti non ha transazioni ogni giorno. In genere, si verifica una riduzione delle prestazioni al momento della query utilizzando il calcolo dinamico, ma sembra che questa penalità potrebbe scomparire su set di risultati di grandi dimensioni.  È necessario testare attentamente le prestazioni e il risparmio di spazio del calcolo dinamico con i dati prima di scegliere di implementarlo in produzione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Articoli collegati

— il nuovo servizio per i piccoli commercianti —

Bottega Digitale

[]