Restituire il conteggio totale a prescindere dalla "granularità" della Pivot L’argomento è risolto

Non è propriamente un programma di BI, ma nelle sue versioni più recenti anche Excel può fare grandi cose!

Moderatore: Utilizzo_prof_Excel

Rispondi
Avatar utente

kris9951
Messaggi: 33 | Topic creati
Iscritto il: gio 24 set 2020, 22:10
Ringraziato: 3 volte

Restituire il conteggio totale a prescindere dalla "granularità" della Pivot

Messaggio da kris9951 »

Salve a tutti!

Sono qui a chiedervi aiuto perché ho ancora molto da imparare sulle Pivot.

Ho creato una Pivot (PowerPivot) basata su una tabella.
In essa ho creato una misura che mi crea il conteggio del numero di prodotti che ci sono in tabella.

Il problema è che se aumento la granularità della Pivot i valori dei conteggi cambiano (giustamente), ma paradossalmente avrei bisogno che una misura che mi restituisse sempre il conteggio del totale di ogni prodotto a prescindere dalla granularità della tabella in quanto devo ricavare una percentuale che si basa tra il rapporto del totale di ogni prodotto ed il valore di un campo che varia al variare della granularità della tabella

Spero di essere stato chiaro ma non esitate a chiedere chiarimenti

Allego un file dove ci sono tutti i dettagli.

Ringrazio tutti per il supporto :)
Allegati
Cartel1.xlsx
File di esempio
(152.7 KiB) Scaricato 15 volte


Avatar utente

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

Restituire il conteggio totale a prescindere dalla "granularità" della Pivot

Messaggio da Andrea90 »

Ciao kris9951,

Prova ad inserire questa misura:

Codice: Seleziona tutto

CALCULATE( COUNTROWS( Tabella1 ); ALLEXCEPT( Tabella1; Tabella1[Modello]))
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
Avatar utente

Autore del topic
kris9951
Messaggi: 33 | Topic creati
Iscritto il: gio 24 set 2020, 22:10
Ringraziato: 3 volte

Restituire il conteggio totale a prescindere dalla "granularità" della Pivot

Messaggio da kris9951 »

Andrea90 ha scritto: ven 29 gen 2021, 20:21 CALCULATE( COUNTROWS( Tabella1 ); ALLEXCEPT( Tabella1; Tabella1[Modello]))
Grazie Andrea!! :clap: :clap:
Sarebbe una figata capirla questa misura :crazy:

1) La funzione CALCULATE "Valuta un'espressione in un contesto modificato dai filtri." (non ho capito)
2) La funzione COUNTROWS restituisce il numero di righe di una tabella
3) La funzione ALLEXCEPT restituisce tutte le righe di una tabella ad eccezione delle righe interessate dai filtri di colonna specificati (sembra chiaro ma non ho capito in che modo lavora con le altre funzioni)

Potresti darmi una spiegazione di questa misura se possibile?
Ti ringrazio per il supporto!! :D :D
Avatar utente

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

Restituire il conteggio totale a prescindere dalla "granularità" della Pivot

Messaggio da Andrea90 »

Ciao kris9951,

1) Ogni misura viene sempre valutata nel contesto valutativo in cui sarà utilizzata, per farla molto semplice, all'interno di un report a matrice come quello che hai mostrato tu, campo dimensione che hai posto sulle righe, o sulle colonne della pivot, influenza l'output della misura. L'unica formula in grado di modificare il contesto valutativo è CALCULATE (o CALCULATETABLE). La sua logia è la seguente, prima di tutto valuto e modifico il contesto filtro, poi valorizzo l'espressione all'interno del contesto appena modificato.

2) In questo caso l'espressione che valuterà CALCULATE è per l'appunto COUNTROWS()

3) CALCULATE riceve come argomenti filtro o delle liste di valori, oppure dei modifiers, e cioè delle funzioni che modificano il modo con cui il contesto filtro viene utilizzato, ALLEXCEPT è uno di questi. Invece di rimuovere tutti i filtri che non ti interessano elencandoli dentro ad ALL() utilizzi ALLEXCEPT per indicare solamente quelli che devono rimanere attivi. Dunque la tabella che di volta in volta andrai a misurare in termini di numero di righe (misura al punto 2) verrà filtrata solo per il valore [Modello].

Attenzione che se vai a rimuovere quest'ultimo campo dal tuo report, ALLEXCEPT diventerà niente di meno che ALL(Tabella1).

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
Rispondi