Calcolo efficienza cumulata su settimane effettivamente lavorate L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato
Avatar utente

alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da alex77 »

Buongiorno a tutti,
devo calcolare, oltre all'efficienza "puntuale" (quella settimanale, tipicamente) anche il valore medio degli ultimi "n" giorni. Per gli "n" giorni ho impostato un parametro:

Codice: Seleziona tutto

Valore Giorni Media Mobile = SELECTEDVALUE('Giorni Media Mobile'[Giorni Media Mobile], 28)
L'efficienza la calcolo come tempo assegnato/tempo presenza. Quindi di questi due valori ho creato i cumulati degli ultimi "n" giorni:

Codice: Seleziona tutto

DAX.Tempo Assegnato Cum = 
calculate([DAX.Tempo Assegnato],DATESINPERIOD(dimCalendario[Data],max(dimCalendario[Data]),-'Giorni Media Mobile'[Valore Giorni Media Mobile],day)))

Codice: Seleziona tutto

DAX.Tempo Presenza Cum = calculate([DAX.Tempo Presenza],DATESINPERIOD(dimCalendario[Data],max(dimCalendario[Data]),-'Giorni Media Mobile'[Valore Giorni Media Mobile],day))
Il mio problema è il seguente: alcune linee di produzione non lavorano tutti i giorni e in alcuni casi neanche tutte le settimane. Vorrei che il calcolo dei due valori cumulati fosse sì in base al calendario (e non sui giorni di lavoro della linea), ma "saltasse" le settimane in cui la linea non ha mai lavorato. Provo a spiegarmi, diciamo che una linea ha lavorato:
5 giorni in settimana 36
3 giorni in settimana 37
0 giorni in settimana 38
5 giorni in settimana 39
4 giorni in settimana 40
Se il parametro dei giorni per calcolare il cumulato è impostato ad esempio a 28, vorrei che il calcolo "andasse indietro" di 28 giorni di calendario (quindi 4 settimane complete) a prescindere che in una settimana si lavori 3 giorni, o 5... ma venisse saltata la settimana 38 (che è a zero giorni) e quindi, in sostanza mi venga calcolata l'efficienza delle settimane 36-37-39-40.
Spero di essere riuscito a spiegarmi.

Grazie in anticipo se qualcuno riesce ad aiutarmi

Alessandro


Avatar utente

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

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da Andrea90 »

Ciao alex77,

puoi crearti un filtro che contenga solo i numeri delle settimane che non sono a 0 come numero giorni lavorati.

Poi passi questo elenco di settimane dentro alle tue misure come argomento filtro così tenere conto solo di quelle effettivamente lavorate.

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
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da alex77 »

Ciao Andrea90
grazie. Anche io avevo pensato alla soluzione che mi proponi è che non riesco a capire come creare questo elenco... forse mi sto perdendo in un bicchier d'acqua (probabile), ma tant'è...
Avevo pensato di creare in una variabile una tabella usando summarize e unendo la colonna data della tabella fatti con quella della settimana della tabella calendario. Ma poi devo passare solo la colonna delle settimane alle misure e... come faccio. Probabilmente sbaglio strada

Alessandro
Avatar utente

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

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da Andrea90 »

Hai guardato SELECTCOLUMNS?
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
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da alex77 »

Buongiorno @Andrea90,
grazie del suggerimento, subito applicato. Ma evidentemente ne devo mangiare di pastasciutta (cit Bonucci) perchè, direi giustamente, il filter context sulla settimana, fa in modo che effettivamente non venga cumulato il tempo per le n settimane indietro. Ho provato a "toglierlo", ma evidentemente non correttamente.

Codice: Seleziona tutto

DAX.Tempo Assegnato Cum = 

VAR vSettimaneProduzione = SELECTCOLUMNS(SUMMARIZE(RilevamentoProduzione,RilevamentoProduzione[Data],dimCalendario[AnnoSettimana]),"AnnoSettimana",[AnnoSettimana])

VAR vResult = calculate([DAX.Tempo Assegnato],DATESINPERIOD(dimCalendario[Data],max(dimCalendario[Data]),-'Giorni Media Mobile'[Valore Giorni Media Mobile],day),vSettimaneProduzione)

RETURN
vresult
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da Enrico Galli »

Ciao Alex, DATESINPERIOD ti vincola comunque agli ultimi 28 giorni: al massimo potrai restringere ulteriormente quel periodo, se aggiungi dei filtri, ma sicuramente non farlo diventare 35, 42 o quanto può mai servire.
Così, su due piedi, mi viene in mente un ragionamento di questo tipo:
- summarize della tabella calendario per annosettimana e totale quantità (o quella che sia la misura da verificare)
- filtro di questa tabella per quantità > 0
- selezione dei 4 record più recenti di questa tabella con TOPN
- utilizzo di questa tabella come filtro di CALCULATE

Ma è tutta da verificare l'applicabilità... ;-)
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da alex77 »

Ciao Enrico Galli ,
grazie mille. Onestamente (ma il mio livello di comprensione evidentemente è quello che è) con la variabile "vSettimaneProduzione" che vedi nel mio post più sopra, a me l'elenco delle settimane con produzione >0 mi pare anche di averlo. Il mio tema è come applicare questo elenco come filtro in calculate. Questo perchè, giustamente, se metto la variabile "vSettimaneProduzione" come filtro in calculate, questa risente del filter context e quindi nel grafico in cui mostro le efficienze per settimana invece di filtrare le quattro settimane di produzione, dalla "attuale" alle 3 indietro, filtra solo quella "attuale" (mi sarò spiegato? mah)
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da Enrico Galli »

Tu hai fatto una parte di quello che suggerisco: nel mio esempio, DATESINPERIOD se ne va fuori dalla finestra e manterrai solo il filtro custom che ti sei creato. Ma per fare questo devi filtrare solo i 4 record più recenti della tabella vSettimaneProduzione (io lo farei con TOPN)
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Avatar utente

Autore del topic
alex77
Messaggi: 160 | Topic creati
Iscritto il: sab 24 ott 2020, 23:04
Luogo: Treviso
Ringraziato: 11 volte

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da alex77 »

Ciao Enrico Galli
penso di aver capito: tu mi dici di sostituire DATESINPERIOD con il filtro creato con l'elenco delle settimane con produzione, giusto?
Però: ho provato TOPN per ridurre i record e non (mi) funziona. A parte questo (ovvio che sbaglio qualcosa :D ) temo che comunque avrei "l'effetto del filter context" sul filtro creato come dici tu. Se vedi nell'immagine che allego, nella card vedi il risultato della formula attuale (quella che ho postato 2 post fa) che sarebbe anche corretto: 363.75 è la somma del tempo assegnato da settimana 202137 a 202140. Il "problema" lo vedi nella matrice: il contesto di "annosettimana" riduce (come è giusto che faccia, direi) l'elenco delle 4 settimane alla singola settimana corrente e quindi non fa il cumulato ma mi dà il valore della singola settimana. Ma penso di avervi tediato abbastanza, quindi mi scuso, e mi sa che lascio il problema a "macerare"
Immagine
Avatar utente

Enrico Galli
Messaggi: 890 | Topic creati
Iscritto il: dom 28 giu 2020, 19:03
Luogo: San Giovanni in Persiceto (BO)
Ringraziato: 325 volte
Contatta:

Calcolo efficienza cumulata su settimane effettivamente lavorate

Messaggio da Enrico Galli »

Se hai "AnnoSettimana" nel report, dovrai eliminare questo filtro (REMOVEFILTERS(Calendario[AnnoSettimana])) prima di applicare quello della tabella temporanea creata. Quindi ti salvi il valore di AnnoSettimana in una variabile (fai un MAX(Calendario[AnnoSettimana])), lo utilizzi per creare la tua tabella temporanea, poi nei filtri del tuo CALCULATE finale toglierai AnnoSettimana e introdurrai la tabella temporanea di cui sopra. Prova e fammi sapere nel caso :wave:
Enrico Galli
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
Rispondi