Pagina 1 di 1

Misura da campo data

Inviato: mar 1 giu 2021, 9:54
da DarioDalfe
Ciao a tutti,

chiedo ancora il vostro supporto perché non riesco a risolvere un problema legato a misure che fanno riferimento alla sequenza temporale.
Data una lista di commesse(=progetto) vorrei poterle interrogare e automaticamente rilevare se una commessa è chiusa o aperta.

Pensavo di collegare nel modello dati i campi date e data apertura/data chiusura e associare un valore calcolato 1 o zero in base al periodo filtrato con questa misura.

Codice: Seleziona tutto

=IF(
	Tb_InputAnaCom[DataApertura]<='Calendar'[Date];
	0;
	1
	)
questa misura però mi restituisce un errore.
Grazie a tutti

Dario

Misura da campo data

Inviato: mar 1 giu 2021, 10:05
da Andrea90
Ciao Dario,

Ci sono alcuni errori che mi portano a suggerire di ripassare bene i concetti di contesto valutativo (in particolar modo il contesto riga - di cui trovi una serie di tutorial anche sul forum).

Considera che tu sei all’interno di una misura, la quale non ha contesto riga (a meno che non sia esplicitato dall’utente tramite formule quali FILTER, SUMX, ecc).

Considera inoltre la logica che stai applicando, stai chiedendo di verificare che una data apertura (di una commessa) sia inferiore ad una data del campo calendar date. Fai finta che il campo calendar date tu lo possa assimilare a tutte le righe data della tua calendar table, come fa lui a dirti vero o falso, se non gli specifichi tu a quale data far riferimento ?

Io comunque sposterei questo calcolo in una colonna calcolata della tabella commesse poiché il fatto che sia aperta o chiusa è un fatto che non cambia in base ai vari filtri o report che andrai a creare, è un dato anagrafico che una volta caricato il modello dati rimarrà sempre uguale.

A presto,
Andrea

Misura da campo data

Inviato: dom 11 lug 2021, 16:20
da Gennaro_64
Ciao Andrea90 ,
E se si provasse a creare "manualmente" la 'Calendar'[Date] ?
In un foglio di lavoro potrei creare una cella con la 'Calendar'[Date], la data a partire dalla quale si vuole fare il confronto con la funzione "IF".
Importerei questa tabella con la data "manualmente" inserita in PQ e la trasformerei in un parametro che sostituirei nella formula

=IF(Tb_InputAnaCom[DataApertura]<='Calendar'[Date]; 0; 1)

Potrebbe andare?
Domando perché il file allegato non è utilizzabile perché punta a file presenti sul pc dell'utente.
Ciao e grazie
g

PS: Conosco la funzionalità "parametro" grazie ai preziosi tutorial di Lodovico D'Incau :)

Misura da campo data

Inviato: lun 12 lug 2021, 0:32
da Andrea90
Ciao Gennaro_64,

Non ho capito il motivo per il quale vorresti creare una tabella manuale che contiene solo una riga da utilizzare dentro a quella formula che hai scritto, la quale è una formula DAX e come spiegato precedentemente in DAX esiste il contesto valutativo, quindi non puoi scrivere una cosa tipo

Tb_InputAnaCom[DataApertura]<='Calendar'[Date]

A meno che tu non sei all'interno di un contesto riga.

Se tu hai una data di riferimento puoi salvarla all'interno di una formula DAX tramite l'utilizzo di variabili (VAR + RETURN) senza la necessità di crearti tabelle di appoggio.

Andrea

Misura da campo data

Inviato: lun 12 lug 2021, 3:43
da Enrico Galli
Ciao, non mi è molto chiaro il tuo obiettivo: quando selezioni un intervallo con la tua sequenza temporale, cosa vuoi vedere nel report? Tutte le commesse che sono state aperte in quel periodo? E per quanto riguarda la chiusura: vuoi sapere se sono state chiuse in quello stesso periodo, oppure se sono ancora aperte o chiuse ad oggi? Cerca di chiarire meglio questi punti, grazie

Misura da campo data

Inviato: lun 12 lug 2021, 7:52
da Gennaro_64
Andrea90 ha scritto: lun 12 lug 2021, 0:32 Ciao Gennaro_64,

Non ho capito il motivo per il quale vorresti creare una tabella manuale che contiene solo una riga da utilizzare dentro a quella formula che hai scritto, la quale è una formula DAX e come spiegato precedentemente in DAX esiste il contesto valutativo, quindi non puoi scrivere una cosa tipo

Tb_InputAnaCom[DataApertura]<='Calendar'[Date]

A meno che tu non sei all'interno di un contesto riga.

Se tu hai una data di riferimento puoi salvarla all'interno di una formula DAX tramite l'utilizzo di variabili (VAR + RETURN) senza la necessità di crearti tabelle di appoggio.

Andrea
Ciao,
Io ho interpretato il quesito posto come necessità di capire ad una certa data qual'è la fotografia, l'istanatanea delle commesse aperte/chiuse.
Al riguardo, almeno sul piano concettuale, la mia idea era di fornire alla query una data da confrontare con la data di chiusura/apertura delle commesse. Ed avevo pensato ad una data che decide l'utente: es. vorrei vedere al 20 febbraio del 2020 com'era la situazione.
Ecco perché avevo proposto una data che è l'utilizzatore della query a scegliere.
Cmq, ho capito: non è quello il modo di scrivere ciò che io intendevo proporre.
Grazie per il chiarimento.
Alla prossima.

Misura da campo data

Inviato: lun 12 lug 2021, 8:10
da Andrea90
Ciao Gennaro,

Nella prima risposta che ho dato, in fondo, ho suggerito l’utilizzo di una colonna calcolata così da riportare lo stato di commessa come dato anagrafico.

Pertanto la logica la puoi applicare sia in PowerQuery, sia in un campo calcolato in Dax.

La formula che hai suggerito tu utilizza il Dax, quindi non è sbagliata la logica, è sbagliato il modo di scrivere la formula. La data che vuoi prendere come riferimento la puoi salvare all’interno di una variabile e richiamare quella come valore di confronto quando andrai ad impostare l’IF.

Andrea