DATEDIFF con condizioni
-
- Messaggi: 6 | Topic creati
- Iscritto il: ven 26 ago 2022, 15:47
DATEDIFF con condizioni
Ciao a tutti,
ho un problema con il calcolo DATEDIFF. Io dovrei calcolare quanti giorni il materiale si trova al di fuori dello scaffale, ma per farlo devo imporre la condizione per la quale per ogni materiale il calcolo deve essere effettuando prendendo la prima data utile e la prima successiva ad essa e in mancanza di questa dal giorno attuale. Praticamente la differenza deve essere fatta a coppie, considerando ogni volta la prima data=pick e la seconda=put.
Questo accade poichè ho una sola colonna DATA e più righe dello stesso materiale. Ho provato varie combinazioni ma non riesco proprio a trovare la formula giusta, voi riuscireste ad aiutarmi? Vi allego un set di dati e spero che la mia spiegazione sia abbastanza chiara
ho un problema con il calcolo DATEDIFF. Io dovrei calcolare quanti giorni il materiale si trova al di fuori dello scaffale, ma per farlo devo imporre la condizione per la quale per ogni materiale il calcolo deve essere effettuando prendendo la prima data utile e la prima successiva ad essa e in mancanza di questa dal giorno attuale. Praticamente la differenza deve essere fatta a coppie, considerando ogni volta la prima data=pick e la seconda=put.
Questo accade poichè ho una sola colonna DATA e più righe dello stesso materiale. Ho provato varie combinazioni ma non riesco proprio a trovare la formula giusta, voi riuscireste ad aiutarmi? Vi allego un set di dati e spero che la mia spiegazione sia abbastanza chiara
- Allegati
-
- Esempio dati.xlsx
- (10.89 KiB) Scaricato 9 volte
-
- Messaggi: 2302 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 675 volte
- Contatta:
DATEDIFF con condizioni
Millainthesky,
Aggiungi una tabella calendario, il campo che contiene le date l'ho considerato con il nome "Date" e la tabella l'ho chiamata "Calendar".
La misura che poi ho utilizzato è la seguente:
Prova a vedere se ti torna (a seconda di come vuoi considerare le date agli estremi potresti dover togliere o meno 1).
Andrea
Aggiungi una tabella calendario, il campo che contiene le date l'ho considerato con il nome "Date" e la tabella l'ho chiamata "Calendar".
La misura che poi ho utilizzato è la seguente:
Codice: Seleziona tutto
=
VAR MinDate =
MIN ( Dati[Creationdate] )
VAR MaxDate =
MAX ( Dati[Creationdate] )
VAR Today =
TODAY ()
VAR Result =
IF (
MinDate = MaxDate;
COUNTROWS ( DATESBETWEEN ( 'Calendar'[Date]; MinDate; Today ) );
COUNTROWS ( DATESBETWEEN ( 'Calendar'[Date]; MinDate; MaxDate ) )
)
RETURN
Result
Andrea
-
- Messaggi: 2302 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 675 volte
- Contatta:
DATEDIFF con condizioni
Millainthesky,
Riallega il file con le modifiche effettuate.
La tabella Calendario la crei dentro al modello e poi la metti in relazione alla tabella già esistente.
Andrea
Riallega il file con le modifiche effettuate.
La tabella Calendario la crei dentro al modello e poi la metti in relazione alla tabella già esistente.
Non so cosa intendi perché COUNTROWS è una funzione del linguaggio DAX quindi c'è per forza
Nemmeno qui capisco cosa intendi, hai detto di aver creato la tabella Calendario, ottimo allora l'avrai chiamata in qualche modo. Io l'ho chiamata "Calendar".
Andrea
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
DATEDIFF con condizioni
Ciao a tutti. La soluzione di Andrea90 sarebbe corretta se per ogni codice ci fossero al massimo due date diverse, ma vedo che in alcuni casi ce ne sono di più. Io più che altro non capisco quale sia l'output che ti aspetti, date le premesse che hai fatto: puoi mostrare un esempio del report che vorresti ottenere in PowerBI, anche poche righe scritte a mano?
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
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
Autore del topic - Messaggi: 6 | Topic creati
- Iscritto il: ven 26 ago 2022, 15:47
DATEDIFF con condizioni
Ho creato la tabella Calendar tramite la funzione CALENDAR, però non mi sembra funzionare la formula oppure sono io che sbaglio qualcosa. Come risultato non ottengo il numero di giorni del materiale al di fuori dello scaffale, ma ho un numero che si ripete a seconda della CreationDate. Infatti non ho le coppie pick/put di date, ma tutte le righe che avevo in partenza.
Quello che vorrei sapere è ogni materiale quando è stato preso e quando è stato riposizionato andando a contare il numero di giorni intercorsi tra il prelievo e il riposizionamento.
Esempio: Krd_424
Codice materiale Creationdate
Krd_424 12/07/2022
Krd_424 20/07/2022
Krd_424 22/07/2022
Krd_424 27/07/2022
Krd_424 11/07/2022
Krd_424 21/07/2022
Krd_424 20/07/2022
Krd_424 02/08/2022
Allora questo materiale è stato preso:
- per la prima volta l'11/07 e riposizionato il 12/07 quindi 1 giorno fuori dallo scaffale;
- la seconda volta il 20/07 e riposizionato il 20/07 quindi 0 giorni fuori;
- la terza volta il 21/07 e riposizionato il 22/07 quindi 1 giorno fuori;
-la quarta volta il 27/07 e riposizionato il 02/08 quindi 6 giorni fuori.
Nel caso in cui ci fossero state 7 righe, la data dell'ultimo riposizionamento sarebbe stata TODAY() fino a quando non fosse stata presente la data reale di riposizionamento.
Quello che vorrei sapere è ogni materiale quando è stato preso e quando è stato riposizionato andando a contare il numero di giorni intercorsi tra il prelievo e il riposizionamento.
Esempio: Krd_424
Codice materiale Creationdate
Krd_424 12/07/2022
Krd_424 20/07/2022
Krd_424 22/07/2022
Krd_424 27/07/2022
Krd_424 11/07/2022
Krd_424 21/07/2022
Krd_424 20/07/2022
Krd_424 02/08/2022
Allora questo materiale è stato preso:
- per la prima volta l'11/07 e riposizionato il 12/07 quindi 1 giorno fuori dallo scaffale;
- la seconda volta il 20/07 e riposizionato il 20/07 quindi 0 giorni fuori;
- la terza volta il 21/07 e riposizionato il 22/07 quindi 1 giorno fuori;
-la quarta volta il 27/07 e riposizionato il 02/08 quindi 6 giorni fuori.
Nel caso in cui ci fossero state 7 righe, la data dell'ultimo riposizionamento sarebbe stata TODAY() fino a quando non fosse stata presente la data reale di riposizionamento.
-
- Messaggi: 2302 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 675 volte
- Contatta:
DATEDIFF con condizioni
Millainthesky,
Propongo una soluzione con PQ, così per ogni "coppia" hai il dato della Creation Date e PickUP Date dal quale poi partire per fare il calcolo delle differenze in nr giorni.
Andrea
Propongo una soluzione con PQ, così per ogni "coppia" hai il dato della Creation Date e PickUP Date dal quale poi partire per fare il calcolo delle differenze in nr giorni.
Andrea
- Allegati
-
- Esempio dati.xlsx
- (21.27 KiB) Scaricato 10 volte
-
Autore del topic - Messaggi: 6 | Topic creati
- Iscritto il: ven 26 ago 2022, 15:47
DATEDIFF con condizioni
Ho provato ad eseguire i passaggi del PQ ma come output ho tutte le coppie ripetute molte volte, infatti ho una tabella di più di 300k righe.
-
- Messaggi: 890 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:03
- Luogo: San Giovanni in Persiceto (BO)
- Ringraziato: 325 volte
- Contatta:
DATEDIFF con condizioni
Molto ingegnosoAndrea90 ha scritto: ↑mar 30 ago 2022, 16:14 Millainthesky,
Propongo una soluzione con PQ, così per ogni "coppia" hai il dato della Creation Date e PickUP Date dal quale poi partire per fare il calcolo delle differenze in nr giorni.
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
Link utili: I nostri tutorial | Come inserire: Immagini - Codice - Risolto
Se il forum ti è stato utile, considera di supportarlo con una libera donazione
-
- Messaggi: 2302 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 675 volte
- Contatta:
DATEDIFF con condizioni
Millainthesky,
A tuo parere:
“Ho provato ad eseguire i passaggi del PQ ma come output ho tutte le coppie ripetute molte volte”
Da un messaggio scritto così, senza file di appoggio che mostri una casistica di errore, come faccio a dirti dove è l’errore ?
Andrea
A tuo parere:
“Ho provato ad eseguire i passaggi del PQ ma come output ho tutte le coppie ripetute molte volte”
Da un messaggio scritto così, senza file di appoggio che mostri una casistica di errore, come faccio a dirti dove è l’errore ?
Andrea
-
Autore del topic - Messaggi: 6 | Topic creati
- Iscritto il: ven 26 ago 2022, 15:47
DATEDIFF con condizioni
Ciao, scusami pensavo di averlo caricato il file!
Ho fatto varie prove e mi sono resa conto che l'errore ce l'ho con il merge di query.
Ad esempio:
-dalla tabella Pari ho questo risultato
-dalla tabella dispari ho questo risultato prima del merge
ma dopo il merge ottengo questo
.
Come vedi, il merge non si effettua nel modo corretto. Ho filtrato un solo codice per poter capire quale fosse il problema, i dati sono tanti e vorrei allegare il file con la query ma sinceramente non so come fare l'estrazione da Power BI.
Ho fatto varie prove e mi sono resa conto che l'errore ce l'ho con il merge di query.
Ad esempio:
-dalla tabella Pari ho questo risultato
-dalla tabella dispari ho questo risultato prima del merge
ma dopo il merge ottengo questo
.
Come vedi, il merge non si effettua nel modo corretto. Ho filtrato un solo codice per poter capire quale fosse il problema, i dati sono tanti e vorrei allegare il file con la query ma sinceramente non so come fare l'estrazione da Power BI.