come ottimizzare il modello dati, come costruire le aggregazioni
Inviato: gio 14 gen 2021, 14:09
Buongiorno a tutti,
come saprete dai miei precedenti post, sono alle prime armi con PBI. Sto facendo anche un videocorso, seguendo i post qui ecc ecc, poi però nei miei primi esperimenti pratici ho (credo ovviamente) vari dubbi.
Vi allego il file (ridotto all'ultimo anno, filtrato solo una parte degli articoli per stare dentro al 1MB ed eliminato la dimensione clienti diciamo per "privacy"). Si tratta di un'analisi sulla vendita di ricambi, vogliamo in primis misurare il ritardo di consegna, suddiviso per fasce.
Dal gestionale ho estratto:
- testate e righe ordini e bolle (o fatture immediate) di consegna (con alcuni filtri sui tipi in modo da avere una cosa "semi-mirata"
- da queste tabelle ho creato la tabella con gli ordini e quella con le bolle di consegna (/fatture immediate) relative a quegli ordini
- ho creato una terza tabella "TabellaRitardi" in cui ho fatto il merge ordini-bolle. In questa ho calcolato la differenza tra data prevista consegna e data effettiva e calcolato le fasce di ritardo. Le righe ordine in alcuni casi si sono duplicate perchè evase con più consegne.
Nota
Oltre alle info sulle date ho mantenuto (e voglio mantenere) i riferimenti degli ordini, delle bolle, ecc perchè mi possono servire anche viste di dettaglio su quali ordini, articoli ecc hanno avuto determinati ritardi
Ho una serie di domande:
1. Innanzitutto, va bene (nel senso: è corretto rispetto ai principi con cui costruire il modello - Star schema, ecc ecc) quello che ho fatto a livello di costruzioni di tabelle e di modello? Nel modello ho importato solo le dimensioni calendario e articolo e la tabella fatti "TabellaRitardi".
2. Discutendo con chi mi ha proposto di fare questo analisi con PBI, siamo giunti alla conclusione di non misurare il ritardo su tutte le bolle di consegna, ma di prendere solo quelle "a saldo" (così non duplico la riga ordine). Per fare questo mi immagino di dover prendere la tabella bolle e raggruppare per numero di riga ordine (completamente) evasa e cercare la data massima di consegna e poi fare il merge con la tabella ordini per ottenere nuovamente la "tabella ritardi". Giusto fare così? Volendo però avere la possibilità di avere il dettaglio delle bolle di consegna (anche quelle con evasione parziale), nel modello ha senso avere quindi due tabelle fatti, una la "tabella ritardi" e una il dettaglio delle bolle di consegna?
Ho paura di essermi spiegato abbastanza male, ma se qualcuno ha pazienza di darmi una mano...
Perchè il mio interesse principale è avere un caso pratico da prendere come esempio per capire come fare un modello corretto, fin dove fare merge e aggregazioni tra le tabelle, e dove invece lavorare con le misure per elaborare i dati, specie se ho più tabelle fatti (come nel mio file qui allegato: ha senso avere la tabella col dettaglio bolle e la tabellaRitardi, che alla fine è un aggregato?)
Alessandro
come saprete dai miei precedenti post, sono alle prime armi con PBI. Sto facendo anche un videocorso, seguendo i post qui ecc ecc, poi però nei miei primi esperimenti pratici ho (credo ovviamente) vari dubbi.
Vi allego il file (ridotto all'ultimo anno, filtrato solo una parte degli articoli per stare dentro al 1MB ed eliminato la dimensione clienti diciamo per "privacy"). Si tratta di un'analisi sulla vendita di ricambi, vogliamo in primis misurare il ritardo di consegna, suddiviso per fasce.
Dal gestionale ho estratto:
- testate e righe ordini e bolle (o fatture immediate) di consegna (con alcuni filtri sui tipi in modo da avere una cosa "semi-mirata"
- da queste tabelle ho creato la tabella con gli ordini e quella con le bolle di consegna (/fatture immediate) relative a quegli ordini
- ho creato una terza tabella "TabellaRitardi" in cui ho fatto il merge ordini-bolle. In questa ho calcolato la differenza tra data prevista consegna e data effettiva e calcolato le fasce di ritardo. Le righe ordine in alcuni casi si sono duplicate perchè evase con più consegne.
Nota
Oltre alle info sulle date ho mantenuto (e voglio mantenere) i riferimenti degli ordini, delle bolle, ecc perchè mi possono servire anche viste di dettaglio su quali ordini, articoli ecc hanno avuto determinati ritardi
Ho una serie di domande:
1. Innanzitutto, va bene (nel senso: è corretto rispetto ai principi con cui costruire il modello - Star schema, ecc ecc) quello che ho fatto a livello di costruzioni di tabelle e di modello? Nel modello ho importato solo le dimensioni calendario e articolo e la tabella fatti "TabellaRitardi".
2. Discutendo con chi mi ha proposto di fare questo analisi con PBI, siamo giunti alla conclusione di non misurare il ritardo su tutte le bolle di consegna, ma di prendere solo quelle "a saldo" (così non duplico la riga ordine). Per fare questo mi immagino di dover prendere la tabella bolle e raggruppare per numero di riga ordine (completamente) evasa e cercare la data massima di consegna e poi fare il merge con la tabella ordini per ottenere nuovamente la "tabella ritardi". Giusto fare così? Volendo però avere la possibilità di avere il dettaglio delle bolle di consegna (anche quelle con evasione parziale), nel modello ha senso avere quindi due tabelle fatti, una la "tabella ritardi" e una il dettaglio delle bolle di consegna?
Ho paura di essermi spiegato abbastanza male, ma se qualcuno ha pazienza di darmi una mano...
Perchè il mio interesse principale è avere un caso pratico da prendere come esempio per capire come fare un modello corretto, fin dove fare merge e aggregazioni tra le tabelle, e dove invece lavorare con le misure per elaborare i dati, specie se ho più tabelle fatti (come nel mio file qui allegato: ha senso avere la tabella col dettaglio bolle e la tabellaRitardi, che alla fine è un aggregato?)
Alessandro