Oggetto visivo per immettere un parametro nelle tabelle L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato
Rispondi

Andrea77R
Messaggi: 6 | Topic creati
Iscritto il: gio 21 set 2023, 16:01

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea77R »

Buongiorno,
ho la seguente necessità: dovendo conteggiare la durata di un evento, vorrei dare modo all'utente di variare il range di date (inizio e fine) e fare in modo che queste date vengano usate per i calcoli della durata dell'evento in quel range di date.

Faccio un esempio:
L'attvità1 dura dal 20/01/2023 al 06/07/2023
L'utente desidera sapere quanti giorni è stata attiva nel periodo 01/06/23-15/06/23

Su excel è facile da gestire:
Si creano 2 celle dove inserire le due date inizio/fine del report e poi si calcola
Durata= min(15/06/23;06/07/23) - max(01/06/23;20/01/23)
Tralasciando i casi di durate negative, che verranno poi eliminate, si calcola agevolmente la durata.

In powe bi sono riuscito con un workaround, usando un calendario che viene agganciato nel filtro della dashboard, ma così facendo sono obbligato ad avere una permutazione di tutte le date per tutte le attività; per ogni incrocio calcolo e poi usando il filtro aggrego solo per quello che interessa. Funziona, ma è poco elegante e il db diventa troppo pesante.

Esiste qualcosa per fare in modo che l'utente possa selezionare le date (01/06 e 15/06 dell'esempio) e che queste diventino 2 colonne delle tabella dove ho tutte le attività?
In questo modo avrei un'attività per riga con le sue date di inizio e fine attività e ulteriori 2 date di inizio fine report.
Un'ulteriore colonna verrebbe usata per calcolare la durata nel range di date del report (con la stessa formula, o simile, che userei in excel).

Ringrazio anticipatamente chi vorrà e saprà aiutarmi.
Grazie


Avatar utente

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

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea90 »

@Andrea77R,

Allega un file di esempio.

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

Autore del topic
Andrea77R
Messaggi: 6 | Topic creati
Iscritto il: gio 21 set 2023, 16:01

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea77R »

Buongiorno Andrea,
ho caricato un file excel di esempio, la logica da applicare è quella del file.

In Power BI avrei trovato anche un'altra soluzione: l'utente modifica un file excel contenente le due date del range del report, ma non è quello che vorrei.


Grazie.
Andrea
Allegati
Range di date in power bi.xlsx
(11.54 KiB) Scaricato 138 volte
Avatar utente

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

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea90 »

@Andrea77R,

Puoi creare una tabella Calendario che sia scollegata rispetto alla tabella che contiene i dati.

Lo slicer con le date lo crei con il campo data della tabella Calendario così da avere a disposizione tutte quelle che ti servono.

Poi per calcolare la durata puoi usare una logica simile:

Codice: Seleziona tutto

=
VAR MaxDate =
    MAX ( 'Calendar'[Data] )
VAR MinDate =
    MIN ( 'Calendar'[Data] )
VAR Result =
    SUMX (
        VALUES ( Dati ),
        VAR value_t =
            MIN ( MaxDate, Dati[Fine] ) - MAX ( MinDate, Dati[Inzio] )
        VAR result =
            IF ( value_t < 0, 0, value_t )
        RETURN
            result
    )
RETURN
    Result
Per il numero di attività non so che logiche vuoi utilizzare, ma comunque la logica potrebbe essere simile a quella che ti ho mostrato nella precedente misura.

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

Autore del topic
Andrea77R
Messaggi: 6 | Topic creati
Iscritto il: gio 21 set 2023, 16:01

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea77R »

Grazie per il tempo dedicato e grazie per la pulizia nel codice.
Nel fine settimana lo applico subito.

Immaginavo servisse qualcosa che fungesse da variabile, ma leggendo online non sono riuscito a trovare nulla che riuscissi a capire e/o mettere in pratica.
Passami il paragone, è un po' come nel VBA di excel dove si chiarano le variabili da usare successivamente.

Grazie ancora e buon fine settimana.
Andrea
Avatar utente

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

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea90 »

@Andrea77R,

Giusto per essere chiari, l'approccio che propongo è completamente diverso dalla tua idea iniziale, non modifico le tabelle che hai nel modello dati aggiungendo colonne. Creo una tabella calendario slegata dalla tua tabella dati utilizzandola solamente come campo filtro per permettere all'utente di selezionare il range di date desiderato.

Il resto è una misura DAX

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

Autore del topic
Andrea77R
Messaggi: 6 | Topic creati
Iscritto il: gio 21 set 2023, 16:01

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea77R »

La precisazione è stata provvidenziale!
"il resto è una misura DAX" mi aperto la mente, stavo già impazzendo per capire dove andare a scrivere quel codice.
Volevo scriverlo come campo di una nuova colonna dove ho i dati.

Funziona!
Ho solo aggiunto un +1 nella data max, perchè il range di date deve iniziare dalle 00:00 del primo giorno e finire alle 23:59 dell'ultimo giorno

Autore del topic
Andrea77R
Messaggi: 6 | Topic creati
Iscritto il: gio 21 set 2023, 16:01

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea77R »

Buonasera @Andrea90
avevo testato il tuo suggerimento su un set di dati molto ridotto e funzionava.
Simulavo in parallelo con excel e power bi ed ottenevo risultati identici.

Ho caricato 2 anni (2022 e 2023) e fatto qualche test, ma non mi tornano più i numeri con quanto già fatto in excel.
Allora sono andato ad indagare i casi anomali, in particolare quelli per i quali veniva conteggiato qualcosa anche per periodi non compresi nel range dello slicer.

Nel file allegato ho messo due viste ricavate filtrando la stessa targa.
Nella prima immagine si vedono due "movimenti" della vettura: una manutenzione che inizia il 19/11/22 e finisce il 31/01/24, poi l'auto è disponibile dal 31/01/24 fino al 31/12/30 (in realtà ce ne sono molti altri prima, ma è corretto che vengano conteggiati).
Si vede anche la misura creata con la tua regola.
Nell'immagine seguente il range di date è fino al 31/12/23.
La data dello slicer è quella del Calendario.
Cosa mi aspetto? Che il 2024 e seguenti vadano sempre a zero.

Ho seguito pedissequamente il tuo consiglio, apportando gli aggiustamenti del caso.
Dove sbaglio?

Grazie per il supporto.
Andrea
Allegati
Slicer e misura.pptx
(212.17 KiB) Scaricato 218 volte
Avatar utente

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

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea90 »

@Andrea77R,

File PDF, immagini, Power Point, Word, ecc ecc sono del tutto inutili.
Se vuoi un aiuto mirato devi allegare un file demo con i dati a sufficienza per mostrare l'errore che riscontri, ed il risultato desiderato scritto a mano.

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

Autore del topic
Andrea77R
Messaggi: 6 | Topic creati
Iscritto il: gio 21 set 2023, 16:01

Oggetto visivo per immettere un parametro nelle tabelle

Messaggio da Andrea77R »

@Andrea90
Perdonami per la perdita di tempo e grazie per la pazienza.
Ho sbagliato io nella scelta del campo data per costruire la matrice: non era quello dello slicer ma quello della tabella dati.
Correttamente mi rappresentava il dato aggregando per quel campo.
Power BI faceva la cosa giusta, ero io a chiedergli quella sbagliata per la mia necessità.

Grazie ancora
Rispondi