Buongiorno a tutti,
vorrei calcolare i volumi di vendita cumulati dell'anno corrente e di quello precedente (alla stessa data) e mostrarli in un grafico. Ho usato queste formule
DAX.Volume Vendite Cumulato Anno Corrente = CALCULATE('Misure DAX'[DAX.Volume Vendite],DATESYTD(dimCalendario[Data]))
DAX.Volume Vendite Cumulato Anno Precedente = CALCULATE([DAX.Volume Vendite Cumulato Anno Corrente],dateadd(dimCalendario[Data],-1,YEAR))
Tutto bene, ma io ho i dati dal 2002 ad oggi. Nel grafico vorrei vedere, se nessun filtro presente, 2021 vs 2020, se invece filtro qualche anno precedente, tipo il 2018, 2018 vs 2017 e così via
Il grafico invece mi riporta (direi giustamente) tutti gli anni, se non filtro nulla.
Mi sono arrovellato con un po' di funzioni, ma non ne esco.
Grazie per un eventuale aiuto
Alessandro
Vendite cumulate anno corrente e precedente L’argomento è risolto
-
- Messaggi: 160 | Topic creati
- Iscritto il: sab 24 ott 2020, 23:04
- Luogo: Treviso
- Ringraziato: 11 volte
-
- Messaggi: 2240 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 672 volte
- Contatta:
Vendite cumulate anno corrente e precedente
Ciao alex77,
Ti devi costruire manualmente la formula in modo tale che lui prenda sempre l’ultimo anno (se non filtri nulla sarà il 2021, se invece hai un filtro attivo ti prenderà quello selezionato).
Poi fai in modo di calcolarti l’anno precedente a quello selezionato, e da lì ti filtri le date della calendar table del solo anno che ti interessa.
Fatto questo le passi come argomento filtro dentro al Calculate.
A presto,
Andrea
Ti devi costruire manualmente la formula in modo tale che lui prenda sempre l’ultimo anno (se non filtri nulla sarà il 2021, se invece hai un filtro attivo ti prenderà quello selezionato).
Poi fai in modo di calcolarti l’anno precedente a quello selezionato, e da lì ti filtri le date della calendar table del solo anno che ti interessa.
Fatto questo le passi come argomento filtro dentro al Calculate.
A presto,
Andrea
-
Autore del topic - Messaggi: 160 | Topic creati
- Iscritto il: sab 24 ott 2020, 23:04
- Luogo: Treviso
- Ringraziato: 11 volte
Vendite cumulate anno corrente e precedente
Grazie mille Andrea90 , come sempre!
Devo dire che all'inizio mi sono detto "ma io volevo la formula" (non proprio "pappa pronta", ma magari qualche indicazione sulle funzioni da usare) , poi mi sono letto con calma i tuoi consigli, e dopo qualche errore, (specialmente su quella per l'anno precedente, ho fatto dei pastrocchi inenarrabili e poi era una banalità) sono arrivato al dunque. Quindi meglio così, che un po' di sforzo fa imparare di più! Perché, tra l'altro, forse avevo saltato un passaggio abbastanza rilevante nella domanda: nel grafico voglio mostrare i mesi e questo mi creava qualche problemino.
Ho risolto così:
Devo dire che all'inizio mi sono detto "ma io volevo la formula" (non proprio "pappa pronta", ma magari qualche indicazione sulle funzioni da usare) , poi mi sono letto con calma i tuoi consigli, e dopo qualche errore, (specialmente su quella per l'anno precedente, ho fatto dei pastrocchi inenarrabili e poi era una banalità) sono arrivato al dunque. Quindi meglio così, che un po' di sforzo fa imparare di più! Perché, tra l'altro, forse avevo saltato un passaggio abbastanza rilevante nella domanda: nel grafico voglio mostrare i mesi e questo mi creava qualche problemino.
Ho risolto così:
Codice: Seleziona tutto
DAX.Volume Vendite Cumulato Anno Corrente =
VAR vAnnoCorrente = Year(maxx(ALLSelected(dimCalendario),dimCalendario[Data]))
VAR vResult = CALCULATE('Misure DAX'[DAX.Volume Vendite],DATESYTD(dimCalendario[Data]),dimCalendario[Anno]=vAnnoCorrente)
RETURN
vResult
Codice: Seleziona tutto
DAX.Volume Vendite Cumulato Anno Precedente =
VAR vAnnoPrecedente = Year(maxx(ALLSelected(dimCalendario),dimCalendario[Data]))-1
VAR vResult =CALCULATE('Misure DAX'[DAX.Volume Vendite Cumulato Anno Corrente],dateadd(dimCalendario[Data],-1,YEAR),dimCalendario[Anno]=vAnnoPrecedente)
RETURN vResult
-
- Messaggi: 33 | Topic creati
- Iscritto il: mer 29 lug 2020, 9:59
- Ringraziato: 2 volte
Vendite cumulate anno corrente e precedente
Ciao alex77
in merito al tuo problema io ho risolto in questo modo:
ho aggiunto la seguente colonna Confronto_Spend nella Fact_Table, che prende i soli valori di spend per i mesi del 2021 di cui ho i dati disponibili (gen-feb-mar) con i dati degli stessi mesi per gli anni precedenti (2020,2019,....)
In un grafico a colonne raggruppate ho messo:
Asse: nome mese
Legenda: Anno
Valori: Confronto_Spend
in merito al tuo problema io ho risolto in questo modo:
ho aggiunto la seguente colonna Confronto_Spend nella Fact_Table, che prende i soli valori di spend per i mesi del 2021 di cui ho i dati disponibili (gen-feb-mar) con i dati degli stessi mesi per gli anni precedenti (2020,2019,....)
Codice: Seleziona tutto
Confronto_Spend =
var maxdate=CALCULATE(MAX(Fact_Table[Data]),ALL(Fact_Table))
var _maxmonth= MONTH(maxdate)
Return
IF(MONTH(Fact_Table[Data])<=_maxmonth,Fact_Table[Spend],BLANK())
Asse: nome mese
Legenda: Anno
Valori: Confronto_Spend
-
- Messaggi: 2240 | Topic creati
- Iscritto il: dom 28 giu 2020, 19:41
- Luogo: Bologna
- Ringraziato: 672 volte
- Contatta:
Vendite cumulate anno corrente e precedente
Ciao ad entrambi ,
Intanto volevo ringraziare Alexia per essere aver condiviso la sua soluzione (ci teniamo a creare con il tempo una community attiva)
Poi riguardo la richiesta volevo provare ad allegare questo file (a me piace avere una demo sotto da testare), che ho provato a realizzare sulla base di ciò che ho capito dal primo messaggio di alex77.
Se la soluzione proposta non fosse in linea con il problema originale fate sapere
#TotAmt
#Amt YTD
#Amt YTD PY
A presto,
Andrea
Intanto volevo ringraziare Alexia per essere aver condiviso la sua soluzione (ci teniamo a creare con il tempo una community attiva)
Poi riguardo la richiesta volevo provare ad allegare questo file (a me piace avere una demo sotto da testare), che ho provato a realizzare sulla base di ciò che ho capito dal primo messaggio di alex77.
Se la soluzione proposta non fosse in linea con il problema originale fate sapere
#TotAmt
Codice: Seleziona tutto
=
IF (
NOT HASONEVALUE ( 'Calendar'[Year] );
CALCULATE ( SUM ( 'Fact'[Amount] ); 'Calendar'[Year] = 2021 );
SUM ( 'Fact'[Amount] )
)
Codice: Seleziona tutto
=IF (
ISBLANK ( [#TotAmt] );
BLANK ();
CALCULATE ( [#TotAmt]; DATESYTD ( 'Calendar'[Date] ) )
)
Codice: Seleziona tutto
=VAR TempTablePY =
SAMEPERIODLASTYEAR ( DATESYTD ( 'Calendar'[Date] ) )
VAR Result =
CALCULATE ( [#TotAmt]; TempTablePY )
RETURN
Result
Andrea
- Allegati
-
- TestData.xlsx
- (369.96 KiB) Scaricato 46 volte
-
Autore del topic - Messaggi: 160 | Topic creati
- Iscritto il: sab 24 ott 2020, 23:04
- Luogo: Treviso
- Ringraziato: 11 volte
Vendite cumulate anno corrente e precedente
Ciao,
grazie Alexia e Andrea90 .
Dunque:
1. Come detto da Andrea, sono felice che il mio post non sia solo per "risolvere il mio problemino", ma possa aiutare altri a fare prove, imparare...
2. Alexia grazie della proposta, l'ho provata, ho trovato anche interessante l'uso della colonna calcolata dax (perchè finora mai usata, sono alle prime/seconde armi con Power BI ). Se l'ho implementata giusta però non mi va bene il fatto che mostri tutti gli anni, a meno di filtri. Come spiegavo nel primo post io voglio vedere, se non ci sono filtri, solo l'ultimo anno confrontato con il penultimo, se filtro un anno precedente voglio vedere quell'anno confrontato con quello che, a sua volta, lo precede. Però interessante nella tua soluzione il fatto che si vedano solo i mesi già passati dell'anno corrente (2021 al momento)
3. Andrea90 alcune domande:
- volevo chiederti innanzitutto se mi spieghi meglio le tue formule. Mi sono anche letto per esempio a cosa serve HASONEVALUE, che non conoscevo (come tante altre ), ma mi sfugge un po' la logica in particolare della formula #TotAmt
- sempre in #TotAmt hai forzato un filtro a "2021". Presumo però che il valore "secco" poi lo debba trasformare in una formula che mi dia, genericamente, l'anno corrente, giusto?
- con le mie formule vedo il 2020 fino ad aprile (ora maggio) come il 2021 e a me va bene così. Però potenzialmente utile la tua soluzione, che mostra il 2020 fino a dicembre; perchè non è detto che poi, discutendo con chi utilizzerà il report, non voglia vedere l'andamento di tutto il 2020 e vedere a mano a mano "crescere" il 2021.
- feedback sulle mie formule: ti parevano comunque "sensate" o ritieni che possano avere problemi (di performance, di effetti indesiderati...) ?
Penso di aver detto tutto
grazie Alexia e Andrea90 .
Dunque:
1. Come detto da Andrea, sono felice che il mio post non sia solo per "risolvere il mio problemino", ma possa aiutare altri a fare prove, imparare...
2. Alexia grazie della proposta, l'ho provata, ho trovato anche interessante l'uso della colonna calcolata dax (perchè finora mai usata, sono alle prime/seconde armi con Power BI ). Se l'ho implementata giusta però non mi va bene il fatto che mostri tutti gli anni, a meno di filtri. Come spiegavo nel primo post io voglio vedere, se non ci sono filtri, solo l'ultimo anno confrontato con il penultimo, se filtro un anno precedente voglio vedere quell'anno confrontato con quello che, a sua volta, lo precede. Però interessante nella tua soluzione il fatto che si vedano solo i mesi già passati dell'anno corrente (2021 al momento)
3. Andrea90 alcune domande:
- volevo chiederti innanzitutto se mi spieghi meglio le tue formule. Mi sono anche letto per esempio a cosa serve HASONEVALUE, che non conoscevo (come tante altre ), ma mi sfugge un po' la logica in particolare della formula #TotAmt
- sempre in #TotAmt hai forzato un filtro a "2021". Presumo però che il valore "secco" poi lo debba trasformare in una formula che mi dia, genericamente, l'anno corrente, giusto?
- con le mie formule vedo il 2020 fino ad aprile (ora maggio) come il 2021 e a me va bene così. Però potenzialmente utile la tua soluzione, che mostra il 2020 fino a dicembre; perchè non è detto che poi, discutendo con chi utilizzerà il report, non voglia vedere l'andamento di tutto il 2020 e vedere a mano a mano "crescere" il 2021.
- feedback sulle mie formule: ti parevano comunque "sensate" o ritieni che possano avere problemi (di performance, di effetti indesiderati...) ?
Penso di aver detto tutto