totale progressivo su più colonne 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

Fabripol
Messaggi: 13 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

totale progressivo su più colonne

Messaggio da Fabripol »

Buon Pomeriggio a Tutti

Premetto che molto probabilmente il quesito che sto per sottoporvi può essere risolto in maniera veloce con una semplice Pivot,
ma la curiosità di capire le Potenzialità di Power Query mi è venuta dai video che Il Bravo Emmanuele Vietti (canale Utilizzo professionale di Microsoft Office su Youtube ha postato sull'argomento Totali progressivi (per dirla all'inglese il Running Total).
Se ho una tabella, come quella che vi allego, e volessi creare un modo per ottenere il totale progressivo sulle colonne dei costi (1.CONS e 1.PREV) e sulle colonne delle Ore, in base alla commessa piuttosto che l'item e in base alle voci di costo e i centri di costo, qual è l'approccio migliore?
Creare una funzione personalizzata come ha fatto Emmanuele, ma mi perdo sulla creazione dei gruppi da passare alla funzione.
Io ho inserito nel foglio PQ il calcolo della prima colonna di progressivo... e vorrei un vostro suggerimento per poterla velocizzare un po'.
Oppure se avete qualche altra idea....
Il bello è che in PQ non esiste una sola possibilità ma con la marea di funzioni disponibili se ne aprono parecchie....

Vi ringrazio sin da subito.... è davvero un onore attingere a questo circolo virtuoso.... Enrico, Andrea , Emmanuele , Gerardo, Lodovico.... e tutti gli altri.

Grazie
Fabrizio
Allegati
Progressivo parziale più colonne.xlsx
(160.92 KiB) Scaricato 4 volte


Avatar utente

Andrea90
Messaggi: 237 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Riccione
Ringraziato: 125 volte
Contatta:

totale progressivo su più colonne

Messaggio da Andrea90 »

Ciao Fabripol,

Io sinceramente non utilizzerei PQ per questo tipo di calcoli. Preferisco di gran lunga PowerPivot e le formule DAX proprio perché posso così adattarle di volta in volta direttamente dentro il report che voglio realizzare, mentre con PQ quel dato diventa "statico" e pertanto difficilmente utilizzabile se cambiano le aggregazioni.

Posso però proporti questa soluzione in PQ. (non è una soluzione ottimizzata, bisogna testarla, ma può forse mostrarti una logica diversa di approccio, inoltre se vuoi cambiare logica di calcolo basta modificare i campi da inserire all'interno del raggruppamento, che tramite interfaccia risulta molto semplice).

Utilizza una custom function, ed un raggruppamento. Non ho controllato bene se i valori tornano :? ma almeno può servirti come spunto, chissà :D

A presto,

Andrea
Allegati
Progressivo parziale più colonne.xlsx
(332.16 KiB) Scaricato 2 volte

Autore del topic
Fabripol
Messaggi: 13 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

totale progressivo su più colonne

Messaggio da Fabripol »

Grazie Andrea per la risposta ma....
Tu hai creato una funzione personalizzata (fxCumulata) per calcolare il progressivo sulla colonna 1.CONS (è questa la staticità di cui parli?)
Vuol dire che devo creare tante funzioni per quante sono le colonne interessate? (1.PREV,2.CONS.ORE e 2.PREV.ORE)?
Poi quello che mi manda in confusione sono i passaggi:
parti con un raggruppa righe che aggancia una tabella temporanea in cui vai a mettere la colonna indice,
poi aggiungi un ulteriore tabella per andare a fare la somma sulla colonna 1.CONS
poi tieni solo la tabella Test
e poi riespandi

è geniale :)

Fabrizio
Ultima modifica di Fabripol il dom 10 gen 2021, 18:01, modificato 1 volta in totale.
Avatar utente

Andrea90
Messaggi: 237 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Riccione
Ringraziato: 125 volte
Contatta:

totale progressivo su più colonne

Messaggio da Andrea90 »

Ciao Fabripol,

Alla formula personalizzata può anche essere aggiunto un ulteriore parametro così che la formula sarà una sola, e quando dovrai andare a calcolare il progressivo per un altro campo basterà mettere quest’ultimo come riferimento. Quindi alla tua prima domanda risponderei no.

Alla tua seconda domanda il raggruppa righe crea un record tabella, che viene poi sfruttato dalla formula custom. La formula ha, al momento, solo la necessità di un valore in formato tabella, e questo le viene fornito dalla TempTable. Una volta calcolata la somma cumulata dentro la nuova tabella elimino tutto quello che non serve e espando l’unica colonna che rimane.

Quello che intendo io con staticità è che quella è una colonna calcolata (indipendentemente che tu usi la mia soluzione o la tua) che ha senso solo per un certo raggruppamento di valori. È un numero statico. se invece tu carichi quella tabella in un modello dati potrai calcolare la stessa cosa utilizzando le formule in linguaggio Dax, queste ti permettono, potenzialmente, di calcolare una somma cumulata a prescindere dal tipo di campo (o campi) dimensionali che posizionerai sulle righe del tuo report.

A presto,

Andrea

Autore del topic
Fabripol
Messaggi: 13 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

totale progressivo su più colonne

Messaggio da Fabripol »

Grazie Andrea ....
se per te non è un problema vorrei capire cosa aggiunge il DAX se magari puoi farmi un esempio con gli stessi dati.
Anche perchè ho visto che una normale Pivot mi consente di creare il progressivo....la potenzialità del modello dati è che non mi fermo ad una tabella dati...ma posso creare delle relazioni con altre tabelle....

Grazie di nuovo Andrea
Fabrizio
Avatar utente

Andrea90
Messaggi: 237 | Topic creati
Iscritto il: dom 28 giu 2020, 19:41
Luogo: Riccione
Ringraziato: 125 volte
Contatta:

totale progressivo su più colonne

Messaggio da Andrea90 »

Ciao Fabrizio,

Nessun problema. Dentro il file che ti allego troverai la PowerPivot già caricata con le due misure.

Basta mantenere sulle righe il campo [Periodo], poi gli altri campi che precedono Periodo li puoi togliere, aggiungere, insomma modificare a piacere per controllare che cosa puoi ottenere con una misura DAX.

Nulla poi ti vieta di aggiungere complessità al calcolo, raggiungendo risultati che con delle normali Pivot non si può fare.

A presto,

Andrea

P.s. DAX Formula:

# TotCONS:

Codice: Seleziona tutto

=SUMX( Prova_Progressivo; [1.CONS] )
# Cum_CONS:

Codice: Seleziona tutto

=VAR CurrentPeriod = MAX( Prova_Progressivo[Periodo] )

VAR TempTable = FILTER( ALL( Prova_Progressivo[Periodo] ); Prova_Progressivo[Periodo] <= CurrentPeriod )

VAR Result = CALCULATE( [# TotCONS]; TempTable )

RETURN Result
Allegati
Progressivo PPivot.xlsx
(575.02 KiB) Scaricato 2 volte

Autore del topic
Fabripol
Messaggi: 13 | Topic creati
Iscritto il: mar 28 lug 2020, 21:02

totale progressivo su più colonne

Messaggio da Fabripol »

Grazie Andrea ....

Tutto chiaro!!!!

Fabrizio
Rispondi