Calcolo Della Percentuale Di Occupazione Oraria

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel


Vibraleg
Messaggi: 7 | Topic creati
Iscritto il: mer 27 set 2023, 10:31

Calcolo Della Percentuale Di Occupazione Oraria

Messaggio da Vibraleg »

Andrea90 ha scritto: sab 30 set 2023, 18:04 @Vibraleg,

Facciamo del sano brainstorming, ti butto giù degli spunti poi vedi tu se possono fare al caso tuo o meno.

Premetto che se vuoi lavorare in Power BI, o con modelli dati, eseguendo analisi sulle ore allora devi scomporre il concetto di data, dal concetto di ora.
Se hai un campo datetime lo devi scomporre, in uno ci metti la sola data e nell'altro solo l'orario.

Poi ti devi creare due tabelle, una è la classica tabella calendario, l'altra invece è la tabella time, ovvero una tabella che contenga per ciascuna riga un tempo intervallato di un secondo, ad esempio una riga per 00:00:01, una per 00:00:02, ecc ecc. A questo campo univoco andrai ad aggiungere tutte le info che ti servono, ad esempio il campo delle sole ore, dei soli minuti, se è una fascia lavorativa oppure no, ecc ecc...

Quindi avrai la tabella calendario che punta alla tabella dei fatti tramite il campo data (in realtà hai due date, una di inizio lavoro ed una di fine), ed una tabella delle ore che punta al campo ore della tabella dei fatti (anche qui ne hai due).

Ora il tuo problema è con gli orari che scadono nella fascia oraria successiva (spero che non ci siano anche fine lavoro che scadono nel giorno successivo).

Io proverei a prevedere un primo campo di check dove verifichi che l'orario di inizio abbia la stessa ora del campo di fine.
Ci saranno alcune righe per le quali non sarà così, allora duplicherei la tabella iniziale e nella prima versione tieni solo i campi che iniziano e finiscono alla stessa ora, nella seconda solo quei record che hanno un'ora di fine diversa da quella di inizio.

Per quest'ultima aggiungerei due campi ulteriori, uno con l'orario di fine ora (perché per forza lo avrai raggiunto), ed un campo con l'ora "0" successiva.
Se ad esempio hai ora inizio 11:59:26 e ora fine 12:00:07 alla fine avrai 4 campi:

11:59:26 | 11:59:59 | 12:00:00 | 12:00:07

In questo modo duplicando questa tabella avrai che nella prima versione terrai solo le prime due, nella seconda versione le ultime due.
In questo modo potrai calcolare quando tempo speso in ciascuna fascia.

Ovviamente l'ID dell'oggetto processato si duplicherà quindi dovrai prestare attenzione a come considerarlo all'interno dei tuoi conteggi, ma questo è semplice.

Andrea
ciao Andrea,
sto lavorando a quanto mi hai suggerito. Al momento sono impossibilitato ad effettuare i vari passaggi perché semplicemente non ho le conoscenze di base per farlo (me ne vergogno ma è così). Pertanto attenderò che i corsi di Lodovico D'Incau che sto seguendo facciano il loro effetto!!.

Detto questo mi era venuto in mente anche una soluzione, che si basa sulla tua idea, ma forse percorre un percorso diverso; provo a spiegarmi:

per ogni record della tabella calcolo il tempo di utilizzo (in secondi) dell'ora in cui il processo è iniziato e se finisce nell'ora successiva, calcolo il tempo di utilizzo di tale ora successiva. Quindi nella tabella originale aggiungerei un campo data e un campo ora rappresentante il tempo di utilizzo dell'ora successiva a quella del record ricorrente. Lo valorizzo a 0 quando il processo finisce nella stessa ora, lo valorizzo "smezzando" il totale del tempo di processo in basa a quello che mi hai indicato.

Passo successivo sarò fare un raggruppamento della prima data, un raggruppamento della seconda e poi unire le 2 tabelle in modo che i secondi di utilizzo vadano a sommarsi.

In questo modo potremmo gestire il conteggio dell'ore di utilizzo anche quando il processo finisce in un giorno successivo.

Che ne pensi?

Grazie

Lorenzo


Avatar utente

Andrea90
Messaggi: 2266 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Bologna
Ringraziato: 673 volte
Contatta:

Calcolo Della Percentuale Di Occupazione Oraria

Messaggio da Andrea90 »

@Vibraleg

Se torna a te prova pure con la tua soluzione.

Andrea
Se hai gradito l'aiuto che hai ricevuto considera di contribuire alle spese per il mantenimento del forum facendo una libera DONAZIONE --> Link

Ricordarsi di segnare come "RISOLTE" le discussioni per le quali si è ricevuto un feedback positivo. Per vedere come fare --> Link
Rispondi