Analisi Variazione Prezzi L’argomento è risolto
Moderatore: Utilizzo_prof_Excel
-
- Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Analisi Variazione Prezzi
Buon giorno,
Partendo da una base dati delle fatture pervenute
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
Come posso fare?
Allego il file per ogni valutazione.
Grazie
Gennaro
Partendo da una base dati delle fatture pervenute
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
Come posso fare?
Allego il file per ogni valutazione.
Grazie
Gennaro
- Allegati
-
- Analisi variaz_Prezzi.xlsx
- (374.82 KiB) Scaricato 17 volte
-
- Messaggi: 2268 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Analisi Variazione Prezzi
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%:
Andrea
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
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Analisi Variazione Prezzi
Grazie Andrea90,
Di nuovo Grazie.
Gennaro
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
-
- Messaggi: 2268 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Analisi Variazione Prezzi
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):
Andrea
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
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Analisi Variazione Prezzi
Ciao Andrea90 ,
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
Sì, esatto.
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
-
- Messaggi: 2268 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Analisi Variazione Prezzi
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
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
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Analisi Variazione Prezzi
Andrea90 ,
Adesso è il tempo giusto ....
Dopo qualche prova ecco il mio primo "tag code" di esempio scritto correttamente ....
A presto ....
Gennaro
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])
Gennaro
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Analisi Variazione Prezzi
Buon giorno Andrea90
La misura della "Differenza vs Precedente" rilevazione funziona benissimo come puoi vedere dall'immagine che segue
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]
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
La misura della "Differenza vs Precedente" rilevazione funziona benissimo come puoi vedere dall'immagine che segue
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
Mia aiuti a capire per favore.
Ciao e grazie
gennaro
-
- Messaggi: 2268 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 673 volte
- Contatta:
Analisi Variazione Prezzi
Gennaro_64,
Andrea
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
-
Autore del topic - Messaggi: 107 | Topic creati
- Iscritto il: dom 11 apr 2021, 12:47
- Ringraziato: 5 volte
Analisi Variazione Prezzi
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,
quale ragionamento ha seguito il sistema per fornire quei risultati "strampalati".
Ciao Andrea90 e di nuovo grazie
gennaro
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
Ciao Andrea90 e di nuovo grazie
gennaro