Uso valore slicer come variabile L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato

vambro
Messaggi: 11 | Topic creati
Iscritto il: mar 8 dic 2020, 13:35
Ringraziato: 2 volte

Uso valore slicer come variabile

Messaggio da vambro »

Buongiorno,
grazie per l'opportunità di questo gruppo, dove poter avere un supporto su Power BI.
Premetto che non sono esperto, ma uso un modello per fare alcune analisi delle spese rispetto al budget in un certo periodo. Ho una formula dove calcolo la media di una colonna nel periodo di 9 mesi, in una tabella filtrata in base ad alcuni campi.

Questa è la tabella, dove "Monthly_Average" è la media della colonna spese per 9 mesi.

Codice: Seleziona tutto

Average = 
SUMMARIZE(
	'Financial Data',
	'Financial Data'[COUNTRY],
	'Financial Data'[COST_CATEGORY],
 	'Financial Data'[IMPLEMENTING_MISSION],
	"Monthly_Average", 
		SUMX(
			'Financial Data',
			if('Financial Data'[COST_CATEGORY]="ST",'Financial Data'[EXPENSES]/9,0.00)
		)
)
Il mio obiettivo sarebbe di avere i mesi dinamici, dove selezionando il mese nello slicer il risultato si aggiorna automaticamente.

Codice: Seleziona tutto

"Monthly_Average",
SUMX(
	'Financial Data',
	if('Financial Data'[COST_CATEGORY]="ST",'Financial Data'[EXPENSES]/VALORE SELEZIONATO NELLO SLICER,0.00)
)

Non sono sicuro che ciò si possa fare su Power BI. Allego qualche screenshot di com'è attualemente la visualizzazione.

Spero qualcuno mi possa dare qualche indicazone.



Immagine

Immagine

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:

Uso valore slicer come variabile

Messaggio da Enrico Galli »

Ciao, e innanzi tutto grazie a te per esserti iscritto :)

Secondo me non ti serve una tabella calcolata, e penso che potresti sostituirla con il seguente calcolo:

Codice: Seleziona tutto

MonthlyAverage :=
DIVIDE (
    CALCULATE (
        SUM ( 'Financial Data'[EXPENSES] ),
        'Financial Data'[COST_CATEGORY] = "ST"
    ),
    COUNTROWS ( VALUES ( 'Months'[Months] ) )
)
Che ne dici? Fammi sapere :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

Autore del topic
vambro
Messaggi: 11 | Topic creati
Iscritto il: mar 8 dic 2020, 13:35
Ringraziato: 2 volte

Uso valore slicer come variabile

Messaggio da vambro »

Grazie mille per la tua risposta Enrico, molto apprezzata.

La funzione COUNTROWS però sembra che conti tutte le righe della tabella 'Months', quindi usa sempre il valore 11 nel calcolo. A me invece serve utilizzare solo il mese selezionato nello slicer, cioè 9, 7, 6, 5, 8 eccetera. In sostanza, il valore selezionato nello slider deve essere usato come denominatore in un calcolo in cui a numeratore c'è la somma delle spese.

Autore del topic
vambro
Messaggi: 11 | Topic creati
Iscritto il: mar 8 dic 2020, 13:35
Ringraziato: 2 volte

Uso valore slicer come variabile

Messaggio da vambro »

Ecco il mio file, versione semplificata giusto per trovare la soluzione.
Allegati
Financial model.pbix
(45.87 KiB) Scaricato 11 volte
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:

Uso valore slicer come variabile

Messaggio da Enrico Galli »

Sì, l'obiettivo mi era chiaro. COUNTROWS ( VALUES () ) dovrebbe contare solo i valori presenti nel filter context, ovvero quelli che tu hai selezionato nello slicer. Se così non è, vedo qualche problema nel modello, o forse hai usato il campo sbagliato nello slicer (dev'essere preso dalla tabella Months, non dalla fact)
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

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

Uso valore slicer come variabile

Messaggio da Enrico Galli »

Grazie per l'allegato, ora è tutto chiaro: tu avevi inserito il mio calcolo come colonna calcolata, e non come misura: questo fa un'enorme differenza... inoltre, nel report c'era ancora un campo preso dalla tabella Average, che io ho eliminato del tutto come vedrai dal file che ti ri-allego
Allegati
Financial model.pbix
(43.37 KiB) Scaricato 20 volte
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

Autore del topic
vambro
Messaggi: 11 | Topic creati
Iscritto il: mar 8 dic 2020, 13:35
Ringraziato: 2 volte

Uso valore slicer come variabile

Messaggio da vambro »

Grazie ancora Enrico, adesso ho capito e posso applicarlo al mio modello completo.

Autore del topic
vambro
Messaggi: 11 | Topic creati
Iscritto il: mar 8 dic 2020, 13:35
Ringraziato: 2 volte

Uso valore slicer come variabile

Messaggio da vambro »

Però mi sembra di capire che non c'è modo di utilizzare il conteggio dei valori del filter context '(o la misura) come se fosse una colonna o una variabile per una formula. Ad esempio per sostituirlo al posto del 9 (che attualmente è una costante) nella seguente formula che crea una nuova colonna nella tabella 'Financial Data:

"Monthly_Average",SUMX('Financial Data',if('Financial Data'[COST_CATEGORY]="ST",'Financial Data'[EXPENSES]/9,0.00))
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:

Uso valore slicer come variabile

Messaggio da Enrico Galli »

Fare questo genere di calcolo (aggregazioni) in una tabella, sotto forma di colonna calcolata, è un errore. Le colonne calcolate lavorano sul row context, ovvero iterano riga per riga tutti i dati della tabella, e non sul filter context. È impossibile spiegare concetti così lunghi e complessi in un unico post: Andrea90 ha pubblicato diversi tutorial introduttivi sul row context che trovi nell'apposita sezione del forum: viewtopic.php?f=19&t=104

Ti consiglio di chiarirti bene questi pilastri fondamentali, altrimenti farai davvero fatica ad andare avanti :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

Autore del topic
vambro
Messaggi: 11 | Topic creati
Iscritto il: mar 8 dic 2020, 13:35
Ringraziato: 2 volte

Uso valore slicer come variabile

Messaggio da vambro »

Grazie mille Enrico, sia per le tue risposte che per l'introduzione ai tutorial di Andrea90 che trovo (per adesso ho visto solo il primo) molto semplici e chiari, veramente utilissimi!!
Sono molto contento di essermi iscritto a questo forum.
Rispondi