Misura su tabella L’argomento è risolto

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

Osiride
Messaggi: 15 | Topic creati
Iscritto il: gio 6 ago 2020, 0:34
Ringraziato: 4 volte

Misura su tabella

Messaggio da Osiride »

ciao a tutti
ho il seguente problema:
mbi.JPG
mbi.JPG (27.13 KiB) Visto 396 volte
Ho la necessità di calcolare un valore in base alla percentuale (>=5%) ma quando vado a creare la misura (Misura = IF([OK%]<= 0,05;0;SUM(Valore))) mi fa il calcolo sul subtotale e non mi restituisce il totale in basso. Io vorrei invece che sul subtotale ci sia solo la somma dei gruppi con percentuale al di sopra del 5% e non che la misura lavora anche sulla percentuale del sub totale.
Spero di essermi spiegato e vi ringrazio in anticipo.
Purtroppo non mi è possibile condividere i dati.

Ciao


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:

Misura su tabella

Messaggio da Enrico Galli »

Osiride ha scritto: gio 13 ago 2020, 10:53 Purtroppo non mi è possibile condividere i dati.
Ciao. Capisco che tu non possa condividere i dati, ma quello che ci hai dato è davvero troppo poco. Servirebbe sapere almeno a grandi linee come è fatto il data model e soprattutto qual è la formula della misura [OK%]
Potresti almeno fare uno screenshot della vista relazioni, in modo da mostrarci le tabelle in gioco e i nomi dei campi?
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

Autore del topic
Osiride
Messaggi: 15 | Topic creati
Iscritto il: gio 6 ago 2020, 0:34
Ringraziato: 4 volte

Misura su tabella

Messaggio da Osiride »

Enrico Galli ha scritto: gio 13 ago 2020, 11:04
Osiride ha scritto: gio 13 ago 2020, 10:53 Purtroppo non mi è possibile condividere i dati.
Ciao. Capisco che tu non possa condividere i dati, ma quello che ci hai dato è davvero troppo poco. Servirebbe sapere almeno a grandi linee come è fatto il data model e soprattutto qual è la formula della misura [OK%]
Potresti almeno fare uno screenshot della vista relazioni, in modo da mostrarci le tabelle in gioco e i nomi dei campi?
La misura è semplicemente la divisione tra gli ID ok sul totale.
Per quanto riguarda il data c è solo una DimArea che va dalla Area - > Zona -> Sede. Io vorrei che la percentuale sia calcolata su zona.
Avatar utente

Lodovico D'Incau
Messaggi: 87 | Topic creati
Iscritto il: lun 29 giu 2020, 17:56
Ringraziato: 27 volte
Contatta:

Misura su tabella

Messaggio da Lodovico D'Incau »

Hey ciao Osiride,
sarebbe sicuramente di grande aiuto avere un file di esempio, le soluzioni sono molteplici e non avere l'idea ben chiara di com'è strutturato il tuo file diventa lavorioso aiutarti, anche solo per ricrearsi il file di esempio e scrivere la formula ci vuole tempo.
Potresti per esempio prendere il tuo file e mettere nelle misure tutti con valori identici o cambiare qualche dato, oppure tagliando il set di dati a 100 righe, dovrebbe essere abbastanza veloce avendo il file sorgente, così poi sicuramente è tutto più chiaro e viene più semplice aiutarti.
Vuoi approfondire le tue conoscenze sul pacchetto Microsoft 365?
Vieni a scoprire i corsi gratuiti nel mio canale youtube:
https://www.youtube.com/lodovicodincau
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:

Misura su tabella

Messaggio da Enrico Galli »

Sei sempre un po' "avaro" di informazioni, comunque ci provo.
Provando a immaginare come è fatto il tuo modello, ho creato questa misura per il calcolo degli importi solo nei sottogruppi con % filtrata (nel mio caso superiore al 50%, nel tuo sarà inferiore al 5%):

Codice: Seleziona tutto

Importi ok = 
    VAR tabsedi = SUMMARIZE(Sedi, Sedi[ID_Sede])
    VAR sedicomimportiok = ADDCOLUMNS(tabsedi, "SommaImporti", CALCULATE(SUM(Movimenti[Importi]), Movimenti[ID_Movimento] = "ok"))
    VAR sediconimportiokperc = ADDCOLUMNS(sedicomimportiok, "% movimenti ok", [%OK])
    VAR sedifiltrate = FILTER(sediconimportiokperc, [% movimenti ok] > 0.5)
    VAR Risultato = SUMX(sedifiltrate, [SommaImporti])
    RETURN Risultato
Immagine

Allego file di prova, fai sapere
Allegati
Percentuale sottogruppo.pbix
(25.55 KiB) Scaricato 19 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
Avatar utente

Autore del topic
Osiride
Messaggi: 15 | Topic creati
Iscritto il: gio 6 ago 2020, 0:34
Ringraziato: 4 volte

Misura su tabella

Messaggio da Osiride »

Grazie!!!
Perdonami se ti rispondo solo ora ma è da oggi pomeriggio che cerco di adattare lo script ai miei dati 😅.
Ora i dati vengono filtrati correttamente ma faccio ancora fatica a capire il ragionamento che hai applicato, se riuscissi a spiegarlo te ne sarei infinitamente grato.

Lodovico D'Incau hai ragione...dalla prossima cercherò di creare un set di dati per agevolare tutti.

Vi ringrazio molto.
Ciao
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:

Misura su tabella

Messaggio da Enrico Galli »

Osiride ha scritto: gio 13 ago 2020, 22:17 faccio ancora fatica a capire il ragionamento che hai applicato, se riuscissi a spiegarlo te ne sarei infinitamente grato
Intanto mi fa piacere che tu abbia raggiunto il risultato :thumbup:
La logica (che non è detto sia la migliore: è quella che sono riuscito a elaborare io :mrgreen: ):
1) Per ogni riga del report, indipendentemente dal fatto che sia una sede, una zona o il totale complessivo, ho bisogno di "creare" una tabella che abbia una riga per ogni sede (quelle visibili nel contesto valutativo di quella riga del report). Questo è ciò che fa SUMMARIZE.
2) Una volta che, per ciascuna riga, ho creato la mia tabella con il dettaglio di sede, ad essa aggiungo due colonne (ADDCOLUMNS): la somma degli importi in cui l'ID movimento è "ok", e la % di movimenti "ok" (sul totale di quella sede).
3) Filtro questa tabella "virtuale", che ho arricchito con le due colonne di cui sopra, per le sole righe che rispettano il criterio di "%ok"
4) Infine, sulla tabella che risulta dal filtro, faccio una somma degli importi

Forse non sarà così semplice da "metabolizzare", se sei alle prime armi con il DAX, ma spero di aver almeno reso la logica del ragionamento ;)
Ti consiglio naturalmente di continuare a seguirci, e in particolare una visitina alla sezione Tutorial di PowerBI, che andrà man mano arricchendosi :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
Rispondi