Analisi Variazione Prezzi 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


Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Analisi Variazione Prezzi

Messaggio da Gennaro_64 »

Buon giorno,

Partendo da una base dati delle fatture pervenute

Immagine

grazie ai suggerimenti di Andrea90 ed Enrico Galli nel topic
viewtopic.php?f=9&t=866&p=4517#p4517
sono riuscito ad ottenere una serie di informazioni di analisi, tra cui il Costo Medio unitario in corrispondenza di ogni DataFattura.

Adesso vorrei analizzare le variazioni del costo medio unitario rispetto alla rilevazione precedente come indicato nell'immagine che segue

Immagine

Come posso fare?
Allego il file per ogni valutazione.
Grazie
Gennaro
Allegati
Analisi variaz_Prezzi.xlsx
(374.82 KiB) Scaricato 16 volte


Avatar utente

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

Analisi Variazione Prezzi

Messaggio da Andrea90 »

Gennaro_64,

Nella tabella dei consumi ordina il campo data in senso crescente ed aggiungi una colonna indice.

Poi utilizza la seguente formula per trovare il valore "Diff_Vs_Prec", il resto è un semplice delta%:

Codice: Seleziona tutto

=
VAR CurIndex = MAX( Cons_Elettrici[Indice] )
VAR CurCosto = [CostoMedioAC]
VAR PreCosto = CALCULATE( [CostoMedioAC]; Cons_Elettrici[Indice] = CurIndex - 1; ALL('Calendar'[Date]))
VAR Result = IF( NOT(ISBLANK(PreCosto));CurCosto - PreCosto;BLANK())
RETURN Result
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
Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Analisi Variazione Prezzi

Messaggio da Gennaro_64 »

Grazie Andrea90,
Andrea90 ha scritto: sab 27 ago 2022, 11:00 aggiungi una colonna indice.
Ottimo! E' un "percorso logico" che potrà essere utilizzato anche in altri contesti quando non sono disponibili funzioni DAX che si basano sulle variabili temporali.

Di nuovo Grazie.
Gennaro
Avatar utente

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

Analisi Variazione Prezzi

Messaggio da Andrea90 »

Gennaro_64,

Le funzioni DAX che si basano su variabili temporali (penso tu ti riferisca alle TimeIntelligence Function) altro non sono che sintassi "semplificate" di formule più complesse, ovvero tu scrivi una semplice formula come DATEADD(), ma poi il sistema le traduce per te in sintassi DAX più complesse.

Pertanto, prima di utilizzare queste sintassi cercherei di capire bene come potermi costruire personalmente queste logiche, altrimenti se non ho a disposizione le TimeIntelligence funtion poi rimango a "piedi".

Le logiche da poter applicare al tuo caso erano diverse, un'altra ad esempio è la seguente (ti lascio solo la prima parte che identifica l'ultima data disponibile, il resto è un semplice utilizzo di quella data dentro ad un calculate per trovare lo stesso risultato desiderato):

Codice: Seleziona tutto

=
Var TempDate = MAX(Cons_Elettrici[Data_Ft])
Var TempTab = MAXX(FILTER( ALL( Cons_Elettrici); Cons_Elettrici[Data_Ft]<TempDate); Cons_Elettrici[Data_Ft])
Return TempTab


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
Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Analisi Variazione Prezzi

Messaggio da Gennaro_64 »

Ciao Andrea90 ,
Andrea90 ha scritto: sab 27 ago 2022, 11:29 (penso tu ti riferisca alle TimeIntelligence Function)
Sì, esatto.
Andrea90 ha scritto: sab 27 ago 2022, 11:29 altrimenti se non ho a disposizione le TimeIntelligence funtion poi rimango a "piedi"
Ed è quello che è successo a me, motivo di questo topic.

Grazie Andrea90 per questa "preziosa" dritta.
La terrò in considerazione. Anzi, almeno per quelle "TimeIntelligence funtion" con le quali ho preso un po' di confidenza negli ultimi tempi, proverò a costruire la misura con la "sintassi DAX complessa".

PS: Ma le misure che pubblichi con quale strumento le redigi? Così belle a colori, con lo scorrimento a destra e sinistra .... :)

Gennaro
Avatar utente

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

Analisi Variazione Prezzi

Messaggio da Andrea90 »

Ahi Ahi Gennaro_64 :? ,

Questo significa che non hai letto la sezioni annunci dello staff, poiché il codice va sempre inserito nei tag code, come spiegato qui:

viewtopic.php?t=13

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
Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Analisi Variazione Prezzi

Messaggio da Gennaro_64 »

Andrea90 ,
Andrea90 ha scritto: sab 27 ago 2022, 12:00 Questo significa che non hai letto la sezioni annunci dello staff, poiché il codice va sempre inserito nei tag code, come spiegato qui:
Diciamo che all'epoca dei miei primi passi in questo Forum non è che avevo capito bene .... :) :) come funzionava e cosa fosse un "tag code".

Adesso è il tempo giusto ....
Dopo qualche prova ecco il mio primo "tag code" di esempio scritto correttamente .... :) :)

Codice: Seleziona tutto

IF(ISBLANK([CostoMedioAP]);BLANK();[CostoMedioAC]-[CostoMedioAP])
A presto .... :)

Gennaro

Autore del topic
Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Analisi Variazione Prezzi

Messaggio da Gennaro_64 »

Buon giorno Andrea90

La misura della "Differenza vs Precedente" rilevazione funziona benissimo come puoi vedere dall'immagine che segue

Immagine

Mi piacerebbe vedere anche il saldo progressivo (Running Total) di queste variazioni (Diff_Vs_Prec_RT).
Per farlo ho utilizzato la sintassi già utilizzata in altri contesti del tipo [SalesAmount]

Codice: Seleziona tutto

=VAR MaxData = MAX('Cons_Elettrici'[Data_Ft])
VAR VariazCostoRT = CALCULATE([Diff_Vs_Prec]; 'Calendar'[Date]<= MaxData; All('Cons_Elettrici'[Data_Ft]))
RETURN
VariazCostoRT
ma, evidentemente questo contesto non è proprio uguale e, come puoi vedere nell'immagine sopra, non funziona.

Mia aiuti a capire per favore.
Ciao e grazie
gennaro
Avatar utente

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

Analisi Variazione Prezzi

Messaggio da Andrea90 »

Gennaro_64,

Codice: Seleziona tutto

=
VAR Idx =
    MAX ( Cons_Elettrici[Indice] )
VAR TempTab =
    ADDCOLUMNS (
        SUMMARIZE ( ALL ( Cons_Elettrici ); Cons_Elettrici[Indice]; 'Calendar'[Date] );
        "@CostoMedio"; [Diff_Vs_Prec]
    )
VAR Result =
    SUMX ( FILTER ( TempTab; Cons_Elettrici[Indice] <= Idx ); [@CostoMedio] )
RETURN
    Result
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
Gennaro_64
Messaggi: 107 | Topic creati
Iscritto il: dom 11 apr 2021, 12:47
Ringraziato: 5 volte

Analisi Variazione Prezzi

Messaggio da Gennaro_64 »

Grazie Andrea90 ,

PS:
Sai Andrea90 . Prima di formulare il nuovo topic, mi sono cimentato in alcuni tentativi, tutti infausti ovviamente. Ma ero giunto alla conclusione, vista la tipologia di risultato cui perveniva la mia misura, che forse sarebbe stata utile una "colonna aggiuntiva" che, una volta "isolati", svincolati dal loro procedimento di calcolo, e messi in fila i risultati della precedente variabile, [Diff_Vs_Prec], ne fornisse una somma progressiva.
Avevo tentato, ero arrivato (e mi sono fermato) ad "ADDCOLUMNS" di [Diff_Vs_Prec], avevo aggiunto la "SUM" della nuova colonna, ma non funzionava ed ho chiesto aiuto.
Ecco, credo sia un buon inizio .... :).

PS2: Non mi è ancora chiaro il perché del risultato errato della misura da me proposta,

Codice: Seleziona tutto

=VAR MaxData = MAX('Cons_Elettrici'[Data_Ft])
VAR VariazCostoRT = CALCULATE([Diff_Vs_Prec]; 'Calendar'[Date]<= MaxData; All('Cons_Elettrici'[Data_Ft]))
RETURN
VariazCostoRT
quale ragionamento ha seguito il sistema per fornire quei risultati "strampalati".

Ciao Andrea90 e di nuovo grazie

gennaro
Rispondi