visualizzazione dati per argomento L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato

admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

visualizzazione dati per argomento

Messaggio da admanex »

Buongiorno a tutti e ben ritrovi,

ho un quesito da porvi, devo elaborare una reportistica per una richiesta specifica di un cliente. Lo stesso vorrebbe visualizzare la sua reportistica secondo più variabili. La sua richiesta è quella di avere una pagina del report che andando ad interagire con un pulsante o altro oggetto, riesce a variare la visualizzazione del dato: Vi allego l'esempio per essere più chiaro.
nel file ho creato un semplice file agganciato a una datatable, dove ho inserito due semplici misure, il totale pezzi e il totale € (pezzi*prezzo). ho inserito nel file due immagini, € e #, a cui ho collegato due segnalibri, interagendo sui due segnalibri riesco a far visualizzare o i pezzi e il grafico collegato o il totale € e il grafico collegato.
Nel report in produzione ho 4 colonne di schede numeriche per 8 righe, per un totale di 32 schede numeriche, che hanno all'interno diverse misure. La richiesta è quella di visualizzare in maniera alternata le 32 schede o per importi o per pezzi, un po come nel mio esempio. L'unica problematica del segnalibro e che lo stesso mi aggancia solo con i filtri presenti, se io voglio variare la data e poi passare alla visualizzazione per pezzi la stessa si annulla e torna alla visualizzazione inziale.
Avete qualche consiglio per me? esiste qualche modo per risolvere questa problematica riuscendo ad avere una visualizzazione con più variabili?

vi ringrazio per l'aiuto e vi auguro una buona giornata e buon lavoro
Allegati
file esempio.pbix
(86.72 KiB) Scaricato 14 volte


Avatar utente

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

visualizzazione dati per argomento

Messaggio da Andrea90 »

Ciao admanex,

Nella prima risposta che ho fornito all'utente in questa discussione c'è quello che penso possa fare al caso tuo:

viewtopic.php?f=8&t=351

A presto,
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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

visualizzazione dati per argomento

Messaggio da admanex »

Ciao Andrea90 ,

ho letto il tuo post, molto interessante, complimenti.
ho due dubbi:
1) io ho una base dati molto grande e soprattutto complessa, leggevo le raccomandazioni a riguardo, porta semplicemente un rallentamento oppure ci sono delle problematiche?
2)nel report, ho 3 variabili, che combaciano con tre distinte colonne della mia base dati principale. e di una seconda base dati collegata. Quindi nelle due db ho sempre un valore €, pezzi e $ (prima base prodotti largo consumo, seconda base dati prodotti small) al centro del mio modello ci sono questi due db.

all'interno di questi db ho creato diverse misure collegate alle tre variabili, come ad esempio

Pezzi data scarico= CALCULATE([Totale pezzi], USERELATIONSHIP(sales large c,'Dates'[Date]))
€ data scarico= CALCULATE([Totale €], USERELATIONSHIP(sales large c,'Dates'[Date]))
$ data scarico= CALCULATE([Totale $], USERELATIONSHIP(sales large c,'Dates'[Date]))

utilizzo questa per andare a pescare con il filtro data diversi dati nel medesimo orizzonte temporale perchè ho più date collegate a una singola riga

oppure

Pezzi data scarico Y/Y = calculate([Pezzi data scarico] ,DATEADD('Dates'[Date],-365,DAY))

per avere lo stesso confronto con 365 giorni prima. sempre replicato per tre

IN questo caso posso avere dei problemi utilizzando la tua soluzione?
Devo variare tutte le misure? oppure andando a utilizzare questa soluzione per il campo principale mi varia tutto?

grazie tante per l'aiuto che puoi darmi.

buon pomeriggio
Avatar utente

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

visualizzazione dati per argomento

Messaggio da Andrea90 »

Ciao admanex,

In termini di performance dipende di che cifre stiamo parlando, la tua fact table ad esempio, da quante righe è composta? Giusto per avere un'indicazione se si tratta di 100K o 1Mln o decine di milioni di righe.

La soluzione che avevo fornito in quel tutorial è basata esclusivamente su di un esigenza, ovvero avere lo stesso grafico dal quale poi selezionare la misura che si vuole visualizzare. Se io volessi analizzare 4 misure, dovrei crearle tutte e 4 e poi impostare il calcolo in maniera tale che, andando a cambiare il filtro della tabella scollegata, questa mi mostrerà solo la misura richiesta.

Quindi ogni volta che voglio aggiungere una misura al grafico la dovrei riscrivere, andando ad aggiungere all'elenco anche la nuova misura.

I calculation groups sono una funzione avanzata, e permettono di costruire dei "measure patterns", ovvero:

Tu mi dici che hai creato 3 misure ognuna delle quali attiva una delle 3 possibili relazioni esistenti tra la tabella Calendar e la tabella dei fatti. Quindi se tu vuoi analizzare il totale delle vendite (faccio un esempio), devi crearti 3 misure dove al cui interno cambierai solo la parte dell USERELATIONSHIP.

Ora metti che vuoi fare la stessa cosa con il dato del totale costi, dovresti crearti altre 3 misure uguali nella forma, con l'unica differenza che invece di scrivere [TotalSales] dovresti scrivere [TotalCosts] come primo argomento di CALCULATE().

Bene i Calculation Groups ti evitano questa cosa, ovvero basta che scrivi la tua versione "generica" delle 3 formule che sfruttano USERELATIONSHIP(), e come primo argomento di CALULATE utilizzerai una keyword specifica ( SELECTEDMEASURE() ).

In questo modo potrai avere nel tuo grafico il solo riferimento ad uno dei 3 measure patterns che ti sei creato (li potrai cambiare in maniera dinamica tramite un semplice filtro), e poi come misura metti quella che preferisci, e di volta in volta lui ti calcolerà l'espressione utilizzando la misura da te selezionata.

Questo permette di avere una dinamicità molto elevata nella creazione delle tue reportistiche.

Devi però studiarli bene perché presentano 2 elementi di criticità che è bene sapere, per non incorrere in errori.

A presto,
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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

visualizzazione dati per argomento

Messaggio da admanex »

ciao Andrea90 .

il mio db centrale presenta poco più di 200 k record.

l'idea del selected mesure, mi piace molto perchè potrei implementare una logica legata alla date (YTD; YTM; YTQ) etc etc . quindi quello che mi hai scritto a livello di misura lo comprendo.

ti allego l'immagine, io ho delle schede, che per ogni riga mi propongono una diversa misura utilizzando lo stesso valore( le differenze sono le varie userelationship con il tab date) quindi pezzi per (data ordine, data conferma, data spedizione, data arrivo etc etc) in questo modo posso verificare l'andamento nel tempo. la seconda colonna di scheda è semplicemente YTD.


Immagine


la cosa che ti chiedo è:
per la effettuare la visualizzazione dinamica delle schede con i 3 valori (€, $, pezzi) che t'indicavo come posso farlo? quindi riuscire ad avere la visualizzazione delle 8 schede per i 3 valori, in base alla selezione del filtro, che tipo di misure devo creare? scusami ma non riesco a collegarci la logica.

grazie tante e scusa il disturbo
Avatar utente

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

visualizzazione dati per argomento

Messaggio da Andrea90 »

Ciao admanex,

Da quel che mi pare di capire, dimmi se sbaglio, quell'immagine che hai mostrato è un insieme di schede in ognuna delle quali tu hai inserito una misura ?

Perché se fosse così una delle cose che potresti fare è creare un calculation groups che contenga le formule generiche di ciascuna scheda, poi ne crei un altro che invece contenga le grandezze che vorresti visualizzare (€, $, pezzi). In questo modo, con il secondo calculation group creerai un oggetto filtro che conterrà 3 pulsanti, uno per ciascuna misura. Quando ne selezioni uno ti mostrerà i calcoli di quelle singole schede per la misura selezionata.

A presto,
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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

visualizzazione dati per argomento

Messaggio da admanex »

Ciao Andrea90 ,

scusa per la mancata risposta ma sono stato lontano dai progetti BI, per qualche settimana per le esigenze. Allora ho messo nuovaamente le mani su questo post in quanto era rimasto tutto in sospeso. per rispondere alla tua prima domanda, si è corretto nelle schede è inserita una sola misura.
MI sono mosso in questo modo, come da tuo consiglio sono andato a creare delle misure dinamiche che mi vanno a sfruttare le misure già create con questa espressione trovata sul tuo topi

MisuraDinamica =

SWITCH (
MAX ( Parametri_Filtro[Indice] ),
1, [Tot ordine]
2, [tot in gestione]
3, 4 ,5 6
etc etc (tot 6 misure diverse)

dove le misure sfruttano una logica di data come ti scrivevo nel mio post. Utilizzando un filtro a monte Tot ordine, tot gestione, riesco a essere molto versatile nella rappresentazione grafica.

e utilizzando un secondo filtro come nel tuo esempio riesco a gestire le misure Y/Year, Y/Quarte, Y/Month. Fin qui funziona tutto correttamente e ti ringrazio per il consiglio.

Ho una domanda ho creato 4 misure dinamiche, che vanno a incrociarsi con le 6 misure, funziona tutto correttamente e riesco a utilizzare i filtri in maniera corretta. ti pongo un quesito, la mia desiderata è avere la possibilità di switchare le misure dinamiche in $ o €, quindi un filtro che ragiona a monte di tutto, come potrei risolvere? per non commettere errori, quindi avere un primo filtro che mi da la possibilità di scegliere € o $, e un secondo che mi dia la possibilità di scegliere le misure dinamiche.

ti ringrazio tanto e mi scuso per il delay nella risposta.

buon pomeriggio e grazie
Avatar utente

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

visualizzazione dati per argomento

Messaggio da Andrea90 »

Ciao admanex,

Vedo che hai optato per l'opzione di creare una misura che gestisca la visualizzazione delle altre, invece che ricorrere ai calculation groups. Se il risultato che ottieni è in linea con quel che desideravi bene così :thumbup:

Per quel che riguarda l'ultimo quesito sinceramente non mi ricordo se avevi accennato a come vengono calcolati i valori in € piuttosto che in $. Comunque lo schema rimane lo stesso, ovvero puoi aggiungere una nuova tabella scollegata ed impostarla come oggetto filtro all'interno del tuo report. Questo oggetto avrà solamente 2 pulsanti, uno per vedere i valori in $ ed uno per vedere i valori in €.

Poi a seconda di come calcoli i valori nelle due diverse valute andrai ad applicare la logica che più riterrai opportuna.
L'oggetto filtro lo puoi rendere tale che sarà sempre valida solo una delle due selezioni (così che l'utente non possa selezionare contemporaneamente sia la valuta $ che €), e poi con SELECTEDVALUE potrai controllare che valuta è stata selezionata e modificare in automatico la logica di calcolo delle tue misure.

A presto,
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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

visualizzazione dati per argomento

Messaggio da admanex »

Ciao Andrea90 ben trovato

alla fine ho optato per questa soluzione per semplicità e tempo, ho iniziato a testare i calculation group in un secondo report, ma in questo su cio ho ricominciato a lavorare ho bisogno di essere più preciso possibile. Cmq lo testo e ti faccio sapere.
ad ogni modo, i due valori vengono calcolati con delle misure speculari, quindi tutto ciò che ti decrivevo prima è sia in $, che in € cambia solo la currency.

chiaro il punto di creare la tabella con e di conseguenza creare i due pulsanti.

chiaro di creare il filtro con la singola selezione, per non sommare due volte lo stesso importo.
Andrea90 ha scritto: gio 22 apr 2021, 17:55 e poi con SELECTEDVALUE

sinceramente mi perdo in questa affermazione.

Quindi io mi devo creare le misure dinamiche per entrambe le valute ? poi come utilizzo il selected mesure?

grazie tante

Marco
Avatar utente

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

visualizzazione dati per argomento

Messaggio da Andrea90 »

Tu dovrai costruire una tabella scollegata che abbia un unica colonna (ad esempio la chiami Valuta) con due sole righe (€ e $).

Questa colonna la userai come filtro, e pertanto vedrai due possibili opzioni da selezionare, appunto $ oppure €.

Come fai a sapere quale delle due opzioni l’utente seleziona? Usi SELECTEDVALUE([Valuta]) la quale ti restituirà una delle due voci.

questa formula la usi assieme ad un IF dove gli dirai che se il risultato è $ dovrà restituire la misura in dollari, altrimenti in euro.

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