Ragazzi ritorno da voi perché sto impazzendo.
Forse non ho ancora ben capito le logiche di PowerBI e per questo mi confondo un pò.
Ho fatto miliardi di prove ma non riesco a risolvere il problema.
Parto dall'inizio.
Ho una tabella dei fatti -
FactDPF - che ha questo aspetto:
.....
2021 | C1| D2 | P1 | 0,15
2021 | C1| D1 | P1 | 0,26
2022 | C1| D1 | P1 | 0,30
2022 | C1| D1 | P1 | 0,41
2022 | C1| D1 | P1 | 0,41
2022 | C1| D1 | P2 | 0,24
2022 | C1| D1 | P2 | 0,23
2022 | C1| D1 | P2 | 0,10
2023 | C1| D1 | P2 | 0,15
2023 | C1| D2 | P3 | 0,20
.....
C1 e D1 sono attributi Cliente, P1 e P2 relativi al prodotto, 2021, 2022, 2023 gli anni di riferimento, mentre i numeri le quantità di Ordinato.
Creo una misura utilizzando questo codice:
Codice: Seleziona tutto
#Righe=
CALCULATE(
COUNTROWS(
SUMMARIZE(
FactDPF,
FactDPF[Anno],
FactDPF[Cliente],
FactDPF[Deposito],
FactDPF[Prodotto]
)
),
FactDPF[Anno] IN {2021,2022},
FactDPF[Deposito] = "D1",
FactDPF[Prodotto] IN {"P1", "P2"}
)
Il risultato che ottengo è
#Righe = 3, come mi aspettavo.
Suppongo che SUMMARIZE restituisca una tabella di questo tipo:
2021 | C1| D1 | P1
2022 | C1| D1 | P1
2022 | C1| D1 | P2
Per cui il numero di righe è esattamente 3.
Se cambio il codice:
Codice: Seleziona tutto
MisuraORD=
CALCULATE(
SUMX(
SUMMARIZE(
FactDPF,
FactDPF[Anno],
FactDPF[Cliente],
FactDPF[Deposito],
FactDPF[Prodotto]
),
SUM(FactDPF[Ordinato])
),
FactDPF[Anno] IN {2021,2022},
FactDPF[Deposito] = "D1",
FactDPF[Prodotto] IN {"P1", "P2"}
)
Ottengo
MisuraORD= 5,85 .
Da quello che penso di aver capito, una volta riassunta la tabella, viene calcolata per ciascuna riga la somma dell'ordinato totale (perché manca il RowContext).
Per cui si otterrebbe:
2021 | C1| D1 | P1 | 1,95
2022 | C1| D1 | P1 | 1,95
2022 | C1| D1 | P2 | 1,95
Infatti, 1,95 = 0,26 + 0,30 + 0,41 + 0,41 + 0,24 + 0,23 + 0,10.
Il SUMX restituisce la somma delle 3 righe che è appunto 5,85 (1,95 + 1,95 + 1,95).
Penso il sistema ragioni così perché se cambio SUMX in AVERAGEX ottengo
SommaORD = 1,95 , ovvero (1,95 + 1,95 + 1,95) / 3.
Ma come faccio a dire al sistema di calcolarmi per ciascuna riga della tabella riassunta la somma legata al contesto della riga stessa?
Per intenderci, come faccio ad avere una cosa di questo tipo:
2021 | C1| D1 | P1 | 0,26
2022 | C1| D1 | P1 | 1,12 (0,3 + 0,41 + 0,41)
2022 | C1| D1 | P2 | 0,57 (0,24 + 0,23 + 0,10)
Per poi ottenere
MisuraORD= 1,95 con SUMX o
MisuraORD= 0,65 con AVERAGEX?????????
Ho provato ad inserire ADDCOLUMNS in questo modo:
Codice: Seleziona tutto
MisuraORD=
CALCULATE(
SUMX(
ADDCOLUMNS(
SUMMARIZE(
FactDPF,
FactDPF[Anno],
FactDPF[Cliente],
FactDPF[Deposito],
FactDPF[Prodotto]
),
"SommaORD", SUM(FactDPF[Ordinato])
)
), [SommaORD]
FactDPF[Anno] IN {2021,2022},
FactDPF[Deposito] = "D1",
FactDPF[Prodotto] IN {"P1", "P2"}
)
Ma ottengo sempre
MisuraORD= 5,85 con SUMX o
MisuraORD= 1,95 con AVERAGEX.
Mi sto davvero perdendo...HELP!
Grazie.