Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hola a todos
Actualmente estoy trabajando con el siguiente conjunto de datos:
Fecha | Fin del cliente | Canal | Distribuidor | Región | Producto | Unidades | Precio | Ingresos |
01/03/2020 | A | Mayorista | A Ltd | Uk | P001 | 10 | 2.5 | 25 |
01/03/2020 | B | Comercio | A Ltd | Uk | P001 | 20 | 3.1 | 62 |
01/03/2020 | C | Doméstica | A Ltd | Uk | P002 | 0 | 0 | 0 |
01/03/2020 | D | Mayorista | B Ltd | Rey | P002 | 40 | 1.8 | 72 |
01/03/2020 | E | Comercio | B Ltd | Rey | P002 | 0 | 0 | 0 |
01/03/2020 | F | Doméstica | B Ltd | Rey | P002 | 60 | 1.6 | 96 |
01/03/2020 | G | Comercial | B Ltd | Rey | P003 | 50 | 2.7 | 135 |
01/03/2020 | H | Comercio | C Ltd | Francia | P003 | 4 | 1.54 | 6.16 |
01/02/2020 | A | Mayorista | A Ltd | Uk | P001 | 8 | 2.45 | 19.6 |
01/02/2020 | B | Comercio | A Ltd | Uk | P001 | 0 | 0 | 0 |
01/02/2020 | C | Doméstica | A Ltd | Uk | P002 | 15 | 3.1 | 46.5 |
01/02/2020 | D | Mayorista | B Ltd | Rey | P002 | 10 | 1.95 | 19.5 |
01/02/2020 | E | Comercio | B Ltd | Rey | P002 | 5 | 2 | 10 |
01/02/2020 | F | Doméstica | B Ltd | Rey | P002 | 0 | 0 | 0 |
01/02/2020 | G | Comercial | B Ltd | Rey | P003 | 12 | 2.95 | 35.4 |
01/02/2020 | H | Comercio | C Ltd | Francia | P003 | 10 | 1.54 | 15.4 |
01/01/2020 | A | Mayorista | A Ltd | Uk | P001 | 20 | 2.6 | 52 |
01/01/2020 | B | Comercio | A Ltd | Uk | P001 | 30 | 3 | 90 |
01/01/2020 | C | Doméstica | A Ltd | Uk | P002 | 2 | 3.4 | 6.8 |
01/01/2020 | D | Mayorista | B Ltd | Rey | P002 | 25 | 2 | 50 |
01/01/2020 | E | Comercio | B Ltd | Rey | P002 | 16 | 1.5 | 24 |
01/01/2020 | F | Doméstica | B Ltd | Rey | P002 | 5 | 1.82 | 9.1 |
01/01/2020 | G | Comercial | B Ltd | Rey | P003 | 0 | 0 | 0 |
01/01/2020 | H | Comercio | C Ltd | Francia | P003 | 22 | 1.1 | 24.2 |
Estoy tratando de calcular la variación de precio por "Canal" de un mes al siguiente (01/03/2020 vs 01/02/2020). En la siguiente tabla, puedes ver el resultado que estoy obteniendo para [Price Var]:
La medida dax es la siguiente:
Price Var =
VAR Intervals = MonthsPrior[MonthsPrior Value]
VAR PricePriorPeriod =
CALCULATE(
[Average Price],
DATEADD( Data[Date], (Intervals *-1), MONTH)
)
RETURN
IF(
ISFILTERED( Data[Channel] ),
( [Average Price] - [Price Prior Period] ) * SUM( Data[Units] ),
SUMX(
Data,
(Data[Price] - PricePriorPeriod) * Data[Units]
)
)
Los totales para cada canal individual (totales de línea) son correctos... sin embargo, el total general en la parte inferior es incorrecto. El total general debe ser una suma del total de cada canal. I.e:
-12,5 + -90 + 27,52 + -11,61 a -86,59
El total que estoy buscando en la línea total es de -86.59
Medidas adicionales de referencia:
Precio medio
Average Price =
DIVIDE(
SUM(Data[Revenue]),
SUM(Data[Units] )
)
Precio Período anterior
Price Prior Period =
VAR Intervals = MonthsPrior[MonthsPrior Value]
RETURN
CALCULATE(
[Average Price],
DATEADD( Data[Date], (Intervals *-1), MONTH)
)
Cualquier ayuda sería muy apreciada!
Gracias
Aaron
@aaron92 Esto parece un problema de totales de medida. Muy común. Vea mi post al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376
Además, esta Medida Rápida, Medir Totales, La Palabra Final debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907
Hola @Greg_Deckler ,
Gracias por responder tan rápido!
He actualizado mi medida a esto:
Price Var =
IF(
HASONEFILTER( Data[Channel] ),
( [Average Price] - [Price Prior Period] ) * SUM( Data[Units] ),
SUMX(
Data,
(Data[Price] - [Price Prior Period]) * Data[Units]
)
)
Sin embargo, todavía no estoy obteniendo el resultado esperado. Mi resultado se convierte en 396.16 en lugar de -86.59.
Creo que esto probablemente tiene algo que ver con el hecho de que estoy tratando de restar el precio del período actual (esto es definido por el usuario en un filtro de fecha en la página) por el precio en el período anterior al período seleccionado.
Si echa un vistazo a la captura de pantalla de abajo, he definido el período como 01/03/2020 y el parámetro "MonthsPrior" se establece en 1, por lo tanto, las medidas (Mes Anterior) están mostrando las cifras para 01/02/2020. Los resultados reales línea por línea para Price Var son correctos, ¡pero no el total! 😞
¿Alguna idea?
Aaron
Debe utilizar SUMMARIZE o GROUPBY en función de cómo está agrupando las cosas en el objeto visual:
Price Var =
IF(
HASONEFILTER( Data[Channel] ),
( [Average Price] - [Price Prior Period] ) * SUM( Data[Units] ),
SUMX(
Data, //this generally needs to be a SUMMARIZE or GROUPBY of the table based upon how data is grouped/summarized in the table/matrix
(Data[Price] - [Price Prior Period]) * Data[Units]
)
)
Hola @Greg_Deckler
Intenté lo siguiente, pero aparece un error:
"La función CALCULATE no se puede utilizar en un argumento de expresión para la función GROUPBY()."
Price Var =
IF(
HASONEFILTER( Data[Channel] ),
( [Average Price] - [Price Prior Period] ) * SUM( Data[Units] ),
GROUPBY(
Data,
Data[Channel],
"Price Variance",
SUMX(
CURRENTGROUP(),
( Data[Price] - [Price Prior Period] ) * Data[Units]
)
)
)
¿Es esto porque estoy tratando de usar la medida [Período anterior de precio] que utiliza CALCULATE?
Price Prior Period =
VAR Intervals = MonthsPrior[MonthsPrior Value]
RETURN
CALCULATE(
[Average Price],
DATEADD( Data[Date], (Intervals *-1), MONTH)
)
@aaron92 Sin embargo, otra razón por la que no me gustan las funciones CALCULATE, o T"I".
https://community.powerbi.com/t5/Community-Blog/To-bleep-With-Time-Intelligence/ba-p/1260000
¿Algún consejo sobre cómo actualizaría mi medida para que funcione? Dado el conjunto de datos anterior, etc.?
@aaron92 Bueno, tal vez intente RESUMIR en lugar de GROUPBY, pero de lo contrario tendría que simularlo y deshacerse de las funciones T"I" y CALCULATE usando algo como AVERAGEX y lo que FILTER sea necesario para deshacerse de DATEADD (como EOMONTH, etc.) Me tomaría un tiempo para relajarse.
¡Claro!
Vea el siguiente enlace:
https://www.dropbox.com/s/4407b0xy91u9jtn/Price%20Variance%20Analysis.pbix?dl=0
@aaron92 OK, lo tengo descargado, voy a tratar de revisar hoy y ver si puedo conseguir que se desenrolle.
¡Eres un héroe! ¡Gracias! 😊
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |