Pagina 1 di 1

Filtri e range di date

Inviato: mer 29 mar 2023, 16:03
da ivuss
Ciao a tutti :wave:

La mia avventura con le date su Power BI continua, ne facciamo esperienza :thumbup:
Vi chiedo un aiuto, spiego brevemente il problema:

In una pagina ho la possibilità di selezionare le date di mio interesse e visualizzare una serie di dati.
In particolare, dovrei visualizzare anche la promozione attiva nel periodo che ho selezionato.

Il mio problema sta qui, nell'attribuire un range di date ad un record. Nella mia tabella, relativa alle promozioni, ho 3 colonne:
- Nome promozione
- Data inizio
- Data fine

Faccio un esempio: se ho una promozione attiva da gennaio 2023 ad aprile 2023 e nel mio filtro ho impostato la visualizzazione dei dati per marzo 2023 come fa il modello a riconoscere che in quel mese è attiva la promozione?

All'interno del modello ho varie tabelle con questo funzionamento, in cui ho data inizio - data fine. Esiste un modo per gestire in modo efficace questa situazione?


Grazie in anticipo per l'aiuto.

Filtri e range di date

Inviato: mer 29 mar 2023, 16:07
da Andrea90
ivuss,

A domande generiche, risposte generiche.

Se esegui un filtro su gennaio 2023 utilizzando il campo mese-anno della tabella calendario vuol dire che stai in realtà filtrando 31 date distinte dal 01/01/2023 al 31/01/2023.

Da qui potresti prendere la data che più ti interessa, ad esempio quella di inizio mese (o di fine) e vedere se, filtrando la tabella delle promozioni, c'è n'è una attiva in quella data.

Poi da qui dipende cosa vuoi farci tu di questa informazione.

Andrea

Filtri e range di date

Inviato: mer 29 mar 2023, 17:51
da ivuss
Ciao Andrea90
e grazie per la tua risposta. Effettivamente sono rimasta sul generico perché pensavo fosse una situazione abbastanza comune e ricercavo, se esistente, un metodo generico applicabile a situazioni tutte simili (in poche parole con il funzionamento data inizio - data fine).

Faccio a questo punto un esempio concreto:

Ho questa tabella
Immagine

e ho anche una tabella data principale con valori dal 01/01/2021 al 31/12/2023, chiamata tb_calendario.

Se in visualizzazione report, attraverso tb_calendario, filtro i dati visualizzati per l'intero mese di febbraio dovrei vedere che è attiva la "PROMOZIONE A"

La mia domanda è: come faccio, dato che ho effettivamente due date (inizio e fine) e non un range di date, a comunicare al modello di visualizzare la promozione A?

Al momento ho risolto in questo modo, ma non è il massimo dell'efficienza:

Immagine

Invece di agire su data inizio e data fine, assegno un indice ad ogni promozione.
Poi, nella tabella tb_calendario, creo i relativi gruppi: dal 01//01/2023 al 31/03/2023 ho "1", dal 01/04/2023 al 31/05/2023 ho "2" e così via...


Metto dunque in relazione questi indici e non più le date, un modo per aggirare l'ostacolo insomma, e funziona. Ma mi chiedo se esista un metodo più efficiente che ancora non conosco o un vostro parere sulla correttezza di questo metodo "alternativo".

Spero di essere stata più esaustiva :D

Filtri e range di date

Inviato: mer 29 mar 2023, 18:05
da Andrea90
ivuss,

Se tu hai un report per mese ottieni un range di date, quindi devi decidere quale logica utilizzare per ottenere solo una data di quel range da utilizzare per filtrare la tabella delle promozioni (es MAX).

Non c’è bisogno di mettere in relazione le due tabelle, prenderai il campo data e lo utilizzerai per filtrare la tabella delle promozioni con un FILTER che verifichi quale riga soddisfa data inizio <= data corrente <= data fine.

A quel punto avrai una sola riga della tabella promozioni e tu prenderai il valore della promozione tramite formule come SELECTEDCOLUMNS.

Questa discussione aveva un caso simile a quello che vuoi fare tu:

viewtopic.php?t=1019

Andrea

Filtri e range di date

Inviato: gio 30 mar 2023, 9:41
da ivuss
Grazie mille Andrea90 :thumbup: