Confronto di valori in anni diversi, selezionando periodi di interesse 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

Rispondi

erikapoulain
Messaggi: 3 | Topic creati
Iscritto il: mar 13 apr 2021, 15:56
Ringraziato: 1 volta

Confronto di valori in anni diversi, selezionando periodi di interesse

Messaggio da erikapoulain »

Ciao a tutti,

ho creato un modello dati in cui collego due database di vendite di due anni diversi (nel dettaglio 2020 e 2021).
Ho diverse power pivot che mostrano solo il dato 2021 (una analizza il venduto per le varie categorie, l'altra per le sottocategorie, generi, ecc...) e sono tutte collegate ad un unico filtro di sequenza temporale. In questo modo i dati si modificano in un'unica volta in base alle esigenze ed è perfetto per analisi veloci.

Infine ho creato una power pivot che dovrebbe mettere a confronto i valori delle vendite 2020 con quelle 2021 per i giorni selezionati nella sequenza temporale: in pratica vorrei che, se ad esempio la sequenza temporale comprende le date 31 marzo- 18 aprile 2021, la pivot mi mostrasse sia le vendite 2021, sia i valori del venduto 2020 per i giorni 31 marzo - 18 aprile.

Ho guardato il video di Lodovico D'Incau in cui spiega la funzione DATEADD e mi chiedevo se esiste modo di applicarla su un periodo di tempo di più giorni.
Infatti vorrei ottenere proprio la stessa cosa che fa lui, ma confrontando tra loro le vendite di periodi di più giorni (non solo di uno come mostra nell'esempio) e a distanza di un anno.

Sento che mi sto perdendo in un bicchier d'acqua ma non riesco ad uscirne :crazy:

Spero di essere stata chiara :)
grazie


Avatar utente

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

Confronto di valori in anni diversi, selezionando periodi di interesse

Messaggio da Andrea90 »

Buongiorno erikapoulain,

Con un file allegato sarebbe più semplice risponderti.

Posso riciclare quanto fatto per una discussione di ieri, allegando un file con un foglio chiamato PPivot2 dove ho creato una misura a cui lego poi uno slicer per data.

Codice: Seleziona tutto

 =
VAR MaxDate =
    MAX ( 'Calendar'[Date] )
VAR MinDate =
    MIN ( 'Calendar'[Date] )
VAR TempTablePY =
    SAMEPERIODLASTYEAR ( DATESBETWEEN ( 'Calendar'[Date]; MinDate; MaxDate ) )
VAR Result =
    CALCULATE ( [#Amount]; TempTablePY )
RETURN
    Result
Facci sapere se è in linea con la tua richiesta.

A presto,
Andrea
Allegati
TestData.xlsx
(387.58 KiB) Scaricato 139 volte
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
erikapoulain
Messaggi: 3 | Topic creati
Iscritto il: mar 13 apr 2021, 15:56
Ringraziato: 1 volta

Confronto di valori in anni diversi, selezionando periodi di interesse

Messaggio da erikapoulain »

Ciao Andrea
grazie mille per la risposta, sostanzialmente hai capito cosa cerco.
Vorrei chiederti se riesci a spiegarmi (anche a grandi linee) questa misura, oppure se sai già che esiste una discussione tutorial relativi in modo da farti perdere meno tempo. Vorrei non limitarmi a fare un copia e incolla ma capirci di più.

Ti chiedo poi due cose:

1) Se i dati di vendita 2020 e 2021 li ho in due diverse tabelle in base all'anno (collegate tra loro tramite una tabella "ponte" in cui ho inserito un calendario dal 2018 al 2023), immagino che questa misura non vada bene, o sbaglio? Come mi suggeriresti di procedere?
Naturalmente, se non esiste un modo "semplice" per ovviare questo problema dei dati separati su due tabelle, mi limiterò ad accordarle in una query nuova e fare come nell'esempio che hai allegato.
Sono comunque curiosa di capire se c'è una soluzione alternativa.

2) Sempre a proposito di misure che permettano di selezionare periodi temporali, ti chiedo se hai suggerimenti sulla creazione di una misura che mi riporti ogni giorno il dato di vendita del giorno precedente.
Ad esempio: ho creato una query che, una volta aggiornata, mi dà i dati di vendita Year To Date, Month To Date, Week To Date (usando un tutorial di Lodovico su Forum Excel). Vorrei però anche una sorta di "Yesterday", cioè una misura che dica alla pivot di mostrare i dati del giorno precedente all'attuale, senza dover volta per volta selezionare in un filtro.
Ho cercato un po' sul web ma non ho trovato suggerimenti. Hai la soluzione anche per questo? :)

Grazie tantissimo per il prezioso supporto!
Erika
Avatar utente

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

Confronto di valori in anni diversi, selezionando periodi di interesse

Messaggio da Andrea90 »

Ciao erikapoulain,

Allora per quanto riguarda la misura che ti avevo preparato:

Codice: Seleziona tutto

VAR MaxDate =
    MAX ( 'Calendar'[Date] )
VAR MinDate =
    MIN ( 'Calendar'[Date] )
Il filtro sulle singole date è stato creato prendendo il campo 'Calendar'[Date], pertanto, nel momento in cui tu selezioni un range di date dal filtro, queste due variabili si popolano rispettivamente con il valore della data più recente, e con quello della data meno recente.

Codice: Seleziona tutto

VAR TempTablePY =
    SAMEPERIODLASTYEAR ( DATESBETWEEN ( 'Calendar'[Date]; MinDate; MaxDate ) )
La formula DATESBETWEEN utilizza la due date prese come estremi per riportare tutte le date comprese al loro interno. Questa lista di date viene poi portata indietro di un anno tramite la funzione SAMEPERIODLASTYEAR.

SAMEPERIODLASTYEAR altro non è che la traduzione di DATEADD ( [Lista di Date], -1, YEAR )
Ovvero tu stai chiedendo al sistema di spostare indietro di -1 YEAR la lista di date passata come primo argomento ( [Lista di Date] contiene la lista risultante da DATESBETWEEN).

Codice: Seleziona tutto

VAR Result =
    CALCULATE ( [#Amount]; TempTablePY )
Crei un contesto filtro nuovo, da applicare alla misura [#Amount], dove le uniche date che interessano sono quelle presenti all'interno della variabile TempTablePY.

Con questa spiegazione, e con l'utilizzo di DATEADD() dovresti essere in grado di calcolarti in autonomia il valore della vendita al giorno precedente. Poiché DATEADD può portare in avanti od indietro le date in termini di YEAR / MONTH / DAY / QUARTER

https://dax.guide/dateadd/

Per quanto riguarda la domanda relativa al fatto che hai due fact table (2020 e 2021), ovviamente il fatto di unirle semplifica di molto la procedura (tant'è che penso tu possa adattare la formula che ti ho passato). Per quel che riguarda invece il fatto di tenerle separate allora se hai calcolato due misure [SalesAmount], una che punta alla sola fact table 2021 e l'altra che punta alla sola fact table 2020, nel momento in cui utilizzi la formula

Codice: Seleziona tutto

VAR Result =
    CALCULATE ( [#Amount]; TempTablePY )
Al posto di [#Amount] andrei ad inserire [#Amount2020] in questo modo la fact table 2020 verrà filtrata comunque dalle date presenti all'interno della lista TempTablePY (anche se sarebbero necessarie ulteriori considerazioni in merito al tipo di modello dati che stai utilizzando, poiché tenere attive due fact table non aiuta molto le performance di PowerBI).

A presto,
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
erikapoulain
Messaggi: 3 | Topic creati
Iscritto il: mar 13 apr 2021, 15:56
Ringraziato: 1 volta

Confronto di valori in anni diversi, selezionando periodi di interesse

Messaggio da erikapoulain »

Ciao Andrea,

alla fine ho fatto come mi hai suggerito, ho unito le fact table.
Sono riuscita poi a crearmi anche la formula di confronto dati per vedere la crescita/descrescita delle vendite, partendo da quella suggerita da te.

Grazie mille della soluzione e anche della spiegazione della misura!
Erika
Rispondi