Totale progressivo anno precedente 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


tank260
Messaggi: 33 | Topic creati
Iscritto il: gio 4 nov 2021, 18:58
Ringraziato: 1 volta

Totale progressivo anno precedente

Messaggio da tank260 »

Buongiorno.

Con questa misura, riesco ad ottenere il fatturato progressivo per anno.

Per favore, come posso ottenere una misura con il fatturato dello stesso periodo dell'anno precedente? Grazie.

Codice: Seleziona tutto

VAR MaxDate =
    MAX ( Vendite[Data] )
VAR MaxYear =
    YEAR ( MaxDate )
VAR Result =
    CALCULATE (
        [Fatturato];
        FILTER (
           ALLSELECTED ( Calendario );
            Calendario[Data] <= MaxDate
                && VALUE ( Calendario[Anno] ) = MaxYear
        )
    )
RETURN
    Result


Avatar utente

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

Totale progressivo anno precedente

Messaggio da Andrea90 »

tank260,

Puoi guardare questo topic:

viewtopic.php?f=9&t=434&p=2374&hilit=erika#p2374

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
tank260
Messaggi: 33 | Topic creati
Iscritto il: gio 4 nov 2021, 18:58
Ringraziato: 1 volta

Totale progressivo anno precedente

Messaggio da tank260 »

Grazie Andrea90

Porta pazienza ma non sono riuscito ad adeguare la formula.
Allegati
Test.xlsx
(688.85 KiB) Scaricato 20 volte
Avatar utente

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

Totale progressivo anno precedente

Messaggio da Andrea90 »

tank260,

Se hai fatto la misura che hai postato direi che hai tutto quello che ti serve per calcolare quello che chiedi.

Altrimenti se hai preso la misura da qualche parte e semplicemente incollata direi che è meglio prendersi del tempo per studiarne la sintassi, altrimenti con il dax si va poco lontano.

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
tank260
Messaggi: 33 | Topic creati
Iscritto il: gio 4 nov 2021, 18:58
Ringraziato: 1 volta

Totale progressivo anno precedente

Messaggio da tank260 »

Ciao Andrea90

Con il tuo suggerimento e molta fatica (data la mia poca esperienza) sono riuscito ad ottenere il risultato desiderato. Almeno, mi pare.

Codice: Seleziona tutto

VAR MaxDate =
    MAX ( Calendario[Data] )
VAR MaxYear =
    YEAR ( MaxDate )
VAR MinDate =
    CALCULATE (
        MIN ( Calendario[Data] );
        FILTER (
            ALLSELECTED ( Calendario );
            Calendario[Data] <= MaxDate
                && VALUE ( Calendario[Anno] ) = MaxYear
        )
    )
VAR TempTablePY =
    SAMEPERIODLASTYEAR ( DATESBETWEEN ( Calendario[Data]; MinDate; MaxDate ) )
VAR Result =
    IF (
        ISBLANK ( [Progressivo] );
        BLANK ();
        CALCULATE ( Vendite[Fatturato_]; TempTablePY )
    )
RETURN
    Result
A scopo didattico e se ne hai voglia, mi piacerebbe avere un tuo parere se la misura utilizzata va bene così oppure se può essere ulteriormente ottimizzata. Ho l'impressione di averla complicata troppo...

In estrema sintesi nella mia pivot ho bisogno di vedere il fatturato dell'anno corrente e precedente per anno, mese e giorno.

Grazie ancora.
Allegati
Test.xlsx
(773.38 KiB) Scaricato 14 volte
Avatar utente

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

Totale progressivo anno precedente

Messaggio da Andrea90 »

tank260,

Proverei così:

Codice: Seleziona tutto

=
VAR MaxDate =
    MAX ( Calendario[Data] )
VAR TempTab =
    SAMEPERIODLASTYEAR (
        FILTER ( ALL ( Calendario[Data] ); Calendario[Data] <= MaxDate )
    )
VAR Result =
    IF ( ISBLANK ( [Fatturato_] ); BLANK (); CALCULATE ( [Fatturato_]; TempTab ) )
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
tank260
Messaggi: 33 | Topic creati
Iscritto il: gio 4 nov 2021, 18:58
Ringraziato: 1 volta

Totale progressivo anno precedente

Messaggio da tank260 »

Grazie Andrea90 per la disponibilità.

La misura che mi hai indicato non corrisponde alle mie esigenze, perché ho la necessità che il progressivo anno precedente si resetti ad ogni anno.

Ciao.
Avatar utente

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

Totale progressivo anno precedente

Messaggio da Andrea90 »

tank260,

Basta che modifichi la condizione interna al filter:

Codice: Seleziona tutto

=VAR MaxDate =
    MAX ( Calendario[Data] )
VAR MaxYear = 
    MAX( Calendario[Anno] )
VAR TempTab =
   SAMEPERIODLASTYEAR (
        FILTER ( ALL( Calendario[Data] ); Calendario[Data] <= MaxDate && YEAR(Calendario[Data]) = MaxYear )
    )
VAR Result =
    IF ( ISBLANK ( [Fatturato_] ); BLANK (); CALCULATE ( [Fatturato_]; TempTab ) )
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
tank260
Messaggi: 33 | Topic creati
Iscritto il: gio 4 nov 2021, 18:58
Ringraziato: 1 volta

Totale progressivo anno precedente

Messaggio da tank260 »

Grazie Andrea90

Come temevo mi sono complicato inutilmente la vita: con metà codice hai ottenuto il mio stesso risultato e certamente con migliore efficienza :clap: .

Grazie ancora e buona settimana.

Ciao.

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

Totale progressivo anno precedente

Messaggio da Gennaro_64 »

Andrea90 ha scritto: dom 3 apr 2022, 20:04 Basta che modifichi la condizione interna al filter:

=VAR MaxDate =
MAX ( Calendario[Data] )
VAR MaxYear =
MAX( Calendario[Anno] )
VAR TempTab =
SAMEPERIODLASTYEAR (
FILTER ( ALL( Calendario[Data] ); Calendario[Data] <= MaxDate && YEAR(Calendario[Data]) = MaxYear )
)
VAR Result =
IF ( ISBLANK ( [Fatturato_] ); BLANK (); CALCULATE ( [Fatturato_]; TempTab ) )
RETURN
Result
Buon giorno Andrea90,
Ho provato questa seconda versione della misura (finalizzata ad un progressivo PY che si azzera all'inizio di ogni anno) nel file di esempio, ma va in errore:

(Errore di calcolo nella misura 'Vendite'[Progr_AP_Andrea2]: Le operazioni di confronto DAX non supportano il confronto di valori di tipo Integer con valori di tipo Text. Provare a utilizzare la funzione VALUE o FORMAT per convertire uno dei valori.).

Quella di questo topic è' una discussione molto utile ed interessante e quindi sto facendo qualche prova per familiarizzare con la misura.
Allego il file con la tua misura (l'ho chiamata "Progr_AP_Andrea2").
Puoi verificare se sbaglio io qualcosa?
Ciao e grazie
g
Allegati
Test.xlsx
(815.1 KiB) Scaricato 10 volte
Rispondi