Pagina 1 di 1
Colonna calcolata
Inviato: mer 28 lug 2021, 17:02
da emme1010
Buonpomeriggio,
vorrei sottoporvi questo problema:
ho due tabelle relazionate
tabella Stock
tabella Costi
il mio obiettivo sarebbe riportare nella tabella stock nella colonna costo, il costo che ha la data più recente per entry
Esempio
ogni suggerimento è ben accetto
Colonna calcolata
Inviato: mer 28 lug 2021, 17:38
da Andrea90
Ciao
emme1010,
Come primo suggerimento direi di verificare di aver inserito correttamente le immagini, poiché io non riesco a vederle, ecco il link per il tutorial:
viewtopic.php?f=4&t=12
Secondo aspetto, con le immagini ci si fa pochissimo, meglio allegare un file con qualche riga demo di dati ed il risultato desiderato scritto a mano.
Altrimenti costringi gli utenti a dover replicare le tue immagini in un file di esempio per mostrarti i possibili calcoli da utilizzare.
A presto,
Andrea
Colonna calcolata
Inviato: mer 28 lug 2021, 17:57
da emme1010
ops, le immagini le vedo perfettamente!
in allegato stock.xlsx
Foglio Stock (anagrafica Item)
Foglio Entry (movimenti sugli item)
Foglio Risultato, è ciò che mi aspetto nella colonna Costo.
Grazie anticipatamente
Colonna calcolata
Inviato: mer 28 lug 2021, 18:16
da Andrea90
Ciao
emme1010,
Se vuoi farlo come colonna calcolata in DAX allora devi costruirti una misura che contenga:
1) Var MinDate che altro non è che il MAX del posting date, il tutto racchiuso dentro ad un calculate così da beneficiare del context transition
2) Una seconda variabile chiamata Result che contenga il calcolo di un SUMX della RELATEDTABLE(Entry) che calcoli la somma del campo Cost per Unit, questo perché stai creando una colonna calcolata dentro alla tabella stock. Anche questa racchiusa dentro ad un calculate dove il valore del PostingDate è uguale a quello della variabile al punto 1.
3) chiudi la misura con RETURN Result
A presto,
Andrea
Colonna calcolata
Inviato: mer 28 lug 2021, 22:24
da emme1010
grazie innanzitutto.
questo il costrutto:
Codice: Seleziona tutto
costo_ultimo =
VAR datamax =
MAXX ( RELATEDTABLE ( Entry ), Entry[Posting Date] )
VAR result =
CALCULATE (
SUMX ( RELATEDTABLE ( Entry ), Entry[Cost per Unit] ),
Entry[Posting Date] = datamax
)
RETURN
result
non ho ben capito l'utilizzo del Calculate nella var datamax. sembra funzionare lo stesso
Colonna calcolata
Inviato: mer 28 lug 2021, 22:34
da Andrea90
Ciao
emme1010,
Il codice va inserito nei tagcode, per questa volta l'ho fatto io al tuo posto.
Tornando alla tua richiesta, il motivo per il quale ti funziona comunque è perché hai utilizzato RELATEDTABLE anche dentro MAXX, se lo togli vedrai che ricevi un valore BLANK.
Se al posto di:
Codice: Seleziona tutto
MAXX ( RELATEDTABLE ( Entry ), Entry[Posting Date] )
scrivi:
Otterrai lo stesso risultato, il motivo risiede che CALCULATE, quando utilizzato dentro ad un contesto riga (come quello delle colonne calcolate), attiva il context transition, e pertanto il contesto riga (ovvero il singolo stock) diventa un contesto filtro in grado di filtrare la tua tabella entry per solo quelle righe relative al codice di stock che stai analizzando.
A presto,
Andrea
Colonna calcolata
Inviato: mer 28 lug 2021, 22:44
da emme1010
ancora grazie, per il prezioso aiuto.