Pagina 1 di 2

Totale progressivo anno precedente

Inviato: ven 1 apr 2022, 18:10
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

Totale progressivo anno precedente

Inviato: ven 1 apr 2022, 18:13
da Andrea90
tank260,

Puoi guardare questo topic:

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

Andrea

Totale progressivo anno precedente

Inviato: ven 1 apr 2022, 19:00
da tank260
Grazie Andrea90

Porta pazienza ma non sono riuscito ad adeguare la formula.

Totale progressivo anno precedente

Inviato: ven 1 apr 2022, 19:41
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

Totale progressivo anno precedente

Inviato: dom 3 apr 2022, 11:49
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.

Totale progressivo anno precedente

Inviato: dom 3 apr 2022, 13:13
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

Totale progressivo anno precedente

Inviato: dom 3 apr 2022, 19:53
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.

Totale progressivo anno precedente

Inviato: dom 3 apr 2022, 20:04
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

Totale progressivo anno precedente

Inviato: dom 3 apr 2022, 20:32
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.

Totale progressivo anno precedente

Inviato: lun 9 mag 2022, 7:17
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