Pagina 1 di 1

DAX DATEADD oppure SAMEPERIODLASTYEAR

Inviato: gio 26 ago 2021, 10:18
da AntonioP
Ciao ragazzi,
non riesco ad ottimizzare questa formula:

Codice: Seleziona tutto

=VAR DateMax = MAXX (VENDITE; [Data Fattura/NC])
RETURN 
	CALCULATE([Valore Vendita]; CALCULATETABLE (
	SAMEPERIODLASTYEAR (Calendario[Data]); Calendario[Data] <= DateMax))
Nella mia powerpivot vorrei confrontare il venduto dell'anno corrente (filtrato per mese) con quello dell'anno precedente (anch'esso filtrato sullo stesso periodo alla data massima equivalente).
Ad esempio le vendite di Agosto 2021 dove la data max è 25/08/2021 con le vendite di agosto 2020 filtrato alla data max del 25/08/2020.

Dove sbaglio?

Grazie

DAX DATEADD oppure SAMEPERIODLASTYEAR

Inviato: gio 26 ago 2021, 11:29
da Andrea90
Ciao AntonioP,

prova a dare un’occhiata al file che ho allegato in questa discussione.

viewtopic.php?f=9&t=434

Andrea

DAX DATEADD oppure SAMEPERIODLASTYEAR

Inviato: gio 26 ago 2021, 14:42
da AntonioP
Andrea90 ha scritto: gio 26 ago 2021, 11:29 Ciao AntonioP,

prova a dare un’occhiata al file che ho allegato in questa discussione.

viewtopic.php?f=9&t=434

Andrea
Ciao Andrea,
il Topic che mia hai segnalato mi è tornato utile. Ho solo dovuto correggere i riferimento dichiarati nelle VAR DataMax e DataMin, andando a leggere il campo data contenuto nella tabella VENDITE. In questo modo:

Codice: Seleziona tutto

=VAR MaxDate = MAX (VENDITE[Data Fattura/NC])
 VAR MinDate = MIN (VENDITE[Data Fattura/NC])
 VAR TempTablePY = SAMEPERIODLASTYEAR ( DATESBETWEEN (Calendario[Data]; MinDate; MaxDate))
 VAR Result = CALCULATE ([Valore Vendita]; TempTablePY)
 RETURN 
  Result
Grazie mille

DAX DATEADD oppure SAMEPERIODLASTYEAR

Inviato: gio 26 ago 2021, 18:03
da AntonioP
AntonioP ha scritto: gio 26 ago 2021, 14:42
Andrea90 ha scritto: gio 26 ago 2021, 11:29 Ciao AntonioP,

prova a dare un’occhiata al file che ho allegato in questa discussione.

viewtopic.php?f=9&t=434

Andrea
Ciao Andrea,
il Topic che mia hai segnalato mi è tornato utile. Ho solo dovuto correggere i riferimento dichiarati nelle VAR DataMax e DataMin, andando a leggere il campo data contenuto nella tabella VENDITE. In questo modo:

Codice: Seleziona tutto

=VAR MaxDate = MAX (VENDITE[Data Fattura/NC])
 VAR MinDate = MIN (VENDITE[Data Fattura/NC])
 VAR TempTablePY = SAMEPERIODLASTYEAR ( DATESBETWEEN (Calendario[Data]; MinDate; MaxDate))
 VAR Result = CALCULATE ([Valore Vendita]; TempTablePY)
 RETURN 
  Result
Grazie mille
Ciao Andrea,
riscontro un anomalia sulla nuova misura 'Venduto -1' costruita con il DAX sopra, a cui non riesco a dare una spiegazione.
Con qualsiasi filtro impostato manualmente non risulta essere possibile.
Guarda il pdf allegato: la misura 'Venduto -1' dovrebbe essere uguale alla misura 'Venduto Anno Prec' ottenuta con DATAADD e il filtro sui giorni di agosto 2021. Invece 'Venduto -1' su alcune righe è totalmente sbagliato, mentre su altre è corretta.
Da cosa può dipendere?

DAX DATEADD oppure SAMEPERIODLASTYEAR

Inviato: gio 26 ago 2021, 18:14
da Andrea90
Ciao AntonioP,

se vuoi che ci diamo un’occhiata gira un file demo con la struttura dati simile a quella che stai utilizzando, e qualche record giusto per provare.

Andrea