creazione misura su più date L’argomento è risolto

Il software per la BI di Microsoft, leader nel mercato

admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

creazione misura su più date

Messaggio da admanex »

Buonaera,

vengo a scrivere per avere un consiglio, devo creare una misura che mi vada a matchare in una determinata colonna di data un determinato orizzonte temporale.

esempio:

data filtro dal 1/1/21 - ad oggi

ho creato una misura YOY in questo modo quindi visualizzo la stessa misura nel 1/1/2020 - 26/05/2020

calculate( [Misura], DATEADD('Dates'[Date],-365,DAY))

in questo caso dovrei aggiungere un secondo filtro nella formula, dovrei andare a verificare nel periodo YOY, tutte le caselle che in una determinata colonna hanno un valore maggiore al 26/05/2020(data di filtro data) e che la stessa sia variabile. quindi se io seleziono 1-1-20 /16-03-20, la misura mi dovrebbe restituire tutte i valori con la data maggiore al 16-03.20
grazie tante per l'aiuto che mi potete dare.


Avatar utente

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

creazione misura su più date

Messaggio da Andrea90 »

Ciao admanex,

DATEADD() altro non è che una formula in grado di restituire una lista di date (presenti nell’attuale contesto filtro) spostate in avanti o indietro per un certo intervallo (giorni, mesi, trimestri, anni).

Essendo il suo output una normale tabella, nulla ti vieta di inserire tale formula all’interno di un FILTER() così da andare a togliere le date che non ti interessano, oppure aggiungere un altro argomento filtro al tuo CALCULATE dove imposti il valore che deve avere una data colonna presente all’interno del tuo modello dati.

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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

creazione misura su più date

Messaggio da admanex »

ciao Andrea90 ,

in questo caso il dateaddd, potrebbe sostituire la mia formula.
nel mio caso però la richiesta è diversa della serie.

Calcolai quella determinata data (1/1/2021 e 25/05/2021) la misura in quel determinato orizzonte temporale selezionato portando indietro di 1 anno ( e qui ci siaamo). Ma contemporaneamente mi devi andare a filtrare le date presente in una diversa colonna "X" che hanno un valore maggiore del 25/5/2020. Come faccio ad avere un elemento che mi vada a selezionare la data inserita nel filtro.

grazie tante
Avatar utente

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

creazione misura su più date

Messaggio da Andrea90 »

Ciao admanex,

Se la tua misura è calcolata prendendo in considerazione un campo della Fact table … e questa “colonna X” appartiene ad una tabella che è in grado di filtrare la fact table, basta aggiungere la condizione che ti serve all’interno del calculate come un normale argomento filtro.

Certo non posso entrare nel merito del tuo problema poiché senza un file da utilizzare risulta difficile essere più preciso.

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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

creazione misura su più date

Messaggio da admanex »

Ciao Andrea90 ,

cerco d'inviarti un file per farti capire un po meglio la situazione e ho creato l'intervallo di date appositamente per farti capire la mia problematica.
Nel file ho inserito delle semplici misure, un count degli ordini per data, un count rispetto all'anno precedente e una misura che mi calcola le rimanenze di magazzino, ho utilizzato quel tipo di misura con data ordine blank nel filtro perchè succede che io ho delle situazioni che si sovrappongono tra due anni, quindi effettuare magazzino meno ordini risulta sbagliata. Oltre a darmi molta dinamicità con il filtro data. Nell'anno in corso blanck perché l'ordine accadrà nel futuro.

ho fatto la medesima cosa per il raffronto sullo stesso periodo dell'anno precedente ed è qui che chiedo aiuto, nella misura di rimanenza come faccio a dire calcolami la rimanenza di magazzino, utilizzando la stessa logica, con data ordine > alla data presente nel filtro nel periodo anno meno 1.

Calculate(tot ordini Y(data T-1), con data ordine > all'intervallo di data selezionato riferito all'anno precedente)

chiedo aiuto per strutturare il secondo pezzo.

Grazie tante
Allegati
file esempio2.pbix
(113.19 KiB) Scaricato 32 volte

Autore del topic
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

creazione misura su più date

Messaggio da admanex »

Giusto per completezza, ho creato anche delle misure utilizzando la funzione last date, per avere una misura che mi riporta la data del mio filtro, e quindi anche last date Y-1, ma non riesco a relazionare questa misura con data ordine.

mi sembrava giusto inserirlo.

grazie
Avatar utente

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

creazione misura su più date

Messaggio da Andrea90 »

Ciao admanex,

Come rimanenze di magazzino tu prendi solo le righe che hanno vuoto il campo [data ordine] ?

Perché nel tuo file di esempio non ci sono righe vuote relative ad anni precedenti.

Inoltre nel tuo file d'esempio la relazione tra le due tabelle è di tipo 1:1, io imposterei 1:* (lato 1 è la tabella Calendar).

Inoltre controlla di aver impostato la tabella Dates come una tabella data così da aver abilitate le formule Time Intelligence.

Inoltre invece di DATEADD(....., -365, DAYS) inserisci DATEADD(....., -1, YEAR), oppure SAMEPERIODLASTYEAR()

Come misura partirei da una simile:

Codice: Seleziona tutto

Rim_Mag_PY = 
VAR MaxDate =
    DATEADD ( LASTDATE ( Dates[Date] ), -1, YEAR )
VAR MinDate =
    DATEADD ( FIRSTDATE ( Dates[Date] ), -1, YEAR )
VAR TempTable =
    DATESBETWEEN ( Dates[Date], MinDate, MaxDate )
VAR Result =
    CALCULATE ( [Tot Magazzino], 'test 2'[data ordine] = BLANK (), TempTable )
RETURN
    Result
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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

creazione misura su più date

Messaggio da admanex »

ciao Andrea90 ,

per quanto riguarda le righe vuote se uso ytd, posso utilizzare o le colonne bianche o analogamente le righe con data ordine superiore a today.
per quanto riguarda YOY, inre altà dovrei utilizzare la data ordine maggiore a quella presente nel filtro Y-1. Per quanto riguarda la relazione ti confermo che nel mio modello è 1 a *, e la mia tabella calendar è una tabella date.

per quanto riguarda le tue misure, utilizzo il -365 day perchè trovo la misura più precisa rispetto al -1year, trovo sempre qualche piccolo disallineamento del dato.

per le 4 misure penso che la misura var result debba essere inserita come maggiore a temp table o blank, che dici?

grazie tante e buona domenica.
Avatar utente

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

creazione misura su più date

Messaggio da Andrea90 »

Ciao admanex,

Non sono 4 misure, la misura è una sola, ed è composta da variabili (le VAR, il Result è la variabile che contiene l’output definitivo).

Dire >TempTable non ha senso poiché la TempTable è una lista di date che poi tu passi all’interno della funzione Calculate al fine di avere un contesto filtro differente. Le date sono quelle comprese tra la data max e min (che considerano il filtro delle date che hai aggiunto).

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
admanex
Messaggi: 41 | Topic creati
Iscritto il: gio 18 mar 2021, 12:06
Luogo: Roma
Ringraziato: 2 volte

creazione misura su più date

Messaggio da admanex »

Ciao Andrea90 ,

si certo, concordo con te e forse mi sono espresso male, ti parlo di 4 misure perché le prime tre stringhe presenti nella tua unica formula dax sono già presenti nel mio modello originario per effettuare delle altre statistiche, ecco perché ti parlavo di misure differenti, nel mio caso potrei andare ad implementare solo l'ultimo pezzo, facendo riferimento alle altre variabili già create, cmq nel modello di esempio ok.

per quanto riguarda la misura creata purtroppo non riporta il valore desiderato ma viene visualizzata come vuota

faccio presente che nel calcolo desiderato le condizioni per il calcolo della misura sono due o:
- data ordine =blank
- oppure data ordine maggiore di DATEADD ( LASTDATE ( Dates[Date] ), -1, YEAR )

in queste due condizioni devono essere calcolate le misura, il primo caso è possibile ma non molto consueta il secondo caso è quotidiano in quanto magari vengono ordinati in una data futura rispettivamente al filtro trasposto YOY.

Spero di essere stato più chiaro, grazie per l'aiuto che puoi darmi.

Buona giornata e buon lavoro

Grazie tante
Rispondi