Anónimo
Hola a todos
Lo siento si esto se ha preguntado antes, pero realmente estoy luchando aquí. Mi jefe me ha encargado replicar un informe de Excel con Power BI, y casi estoy allí, pero por este único problema.
Estoy tratando de calcular un aumento de ventas muy a medida, que en Excel es relativamente simple a medida que apunta la fórmula a las celdas que necesita. Sin embargo, en Power BI se han requerido numerosas medidas DAX para llegar a este punto, pero está bien. Por lo tanto, hasta ahora tengo:
- YoY SHARE % CHANGE 2019 vs 2018 CALL FILE (tomando el % de la cuota de un año y restando de otro año para todas las tiendas que están en el archivo de llamada)
- AaA COMPARTIR % CAMBIO 2019 vs 2018 NO LLAMAR ARCHIVO(tomar el porcentaje de cuota de un año y restar de otro año para todas las tiendas que no están en el archivo de llamada)
- % PARTICIPACIÓN AaA CAMBIO 2020 vs 2018 ARCHIVO DE LLAMADA (como arriba)
- YoY COMPARTIR % CAMBIO 2020 vs 2018 NO LLAMAR ARCHIVO (como arriba)
- COMPARTIR % DIFERENCIA 2019 vs 2018 ARCHIVO LLAMADA VS ARCHIVO NO LLAMADA (medida 1 – medida 2)
- COMPARTIR % DIFF 2020 vs 2018 ARCHIVO LLAMADA VS ARCHIVO NO LLAMADA (medida 3 – medida 4)
- VENTAS INCR 2019 (suma de datos de ventas filtrados de 2018 * medida 5)
- INCR VENTAS 2020 (suma de datos de ventas filtrados de 2018 * medida 6)
Como puede ver, hay varias medidas necesarias para llegar a este punto, y si planeo como una tabla se ve bien y los valores coinciden con mi informe de Excel. Sin embargo, las filas Total no suman:
mes | VENTA DE INCR 2019 | MINORISTA 1 INC VENTAS 2019 | MINORISTA 2 INC VENTAS 2019 | MINORISTA 3 INC VENTAS 2019 | MINORISTA 4 INC VENTAS 2019 | INCRE VENTAS 2020 | MINORISTA 1 INC VENTAS 2020 | MINORISTA 2 INC VENTAS 2020 | MINORISTA 3 INC VENTAS 2020 | MINORISTA 4 INC VENTAS 2020 |
Enero | 44.304 euros | 1.611 euros | -11.184euros | 26.107 euros | 27.771 euros | 238.087 euros | 41.341 euros | 15.644 euros | 18.788 euros | 162.314 libras esterlinas |
Febrero | 136.427 euros | -1.418 euros | -6.561euros | 32.742 euros | 111.664 euros | 272.442 euros | 22.908 euros | 8.453 euros | 48.007 euros | 193.073 euros |
Marzo | 147.459 euros | 7.027 euros | -3.599 euros | 78.056 euros | 65.976 euros | 129.178 euros | 54.368euros | 2.871 euros | 30.423 libras esterlinas | 41.515 euros |
Abril | 211.106 euros | 1.719 euros | -15.873 euros | 97.766 euros | 127.495euros | |||||
Puede | 248.852 euros | 18.191 libras esterlinas | 24.980 libras esterlinas | 60.964euros | 144.716 euros | |||||
Junio | 365.241 euros | 25.249 euros | 16.516 euros | 128.764euros | 194.713 libras esterlinas | |||||
Julio | 271.421 euros | -27.066euros | 79.009 euros | 27.485euros | 191.993euros | |||||
Agosto | 224.874 euros | -1.282 euros | 58.197 euros | 65.183euros | 102.777 euros | |||||
septiembre | 113.407 euros | -38.918euros | 75.814 euros | 39.257 euros | 37.254euros | |||||
Octubre | 78.997euros | -7.884euros | 47.042 euros | 6.998 euros | 32.842 euros | |||||
Noviembre | 179.791 libras esterlinas | -199euros | 40.436 euros | 13.981€ | 125.573 euros | |||||
Diciembre | 155.035 euros | 24.700 libras esterlinas | 15.484 euros | -19.527 euros | 134.377 euros | |||||
Total | 2.208.968 euros | 6.501 euros | 298.042 euros | 566.703 euros | 1.337.723 euros | 2.766.599 euros | 551.740 libras esterlinas | 214.851 euros | 242.857 euros | 1.757.151 euros |
¿QUÉ TOTAL DEBE SER | 2.176.914 euros | 1.730 libras esterlinas | 320.261euros | 557.776 euros | 1.297.151 euros | 639.707 euros | 118.617 euros | 26.968euros | 97.218 euros |
396.902 euros |
Entendiendo que la fórmula DAX está aplicando los mismos cálculos a la fila TOTAL, ¡pero solo necesito sumar lo que está arriba! He visto subprocesos similares donde las personas han tenido el mismo problema, pero sus datos siempre se basan en datos codificados de forma rígida en lugar de campos.
¿Alguna idea? Lo siento por el post largo…
Saludos,
Almiar
mahoneypat
Intento usar este patrón de medida en su lugar. Mantenga sus medidas existentes como usted hará referencia a ellos en las nuevas.
NewMeasure á sumx(values(Date[Month]), [ExistingMeasure]) // o usa Fecha[YearMonth]
Este patrón de medida debe darle el resultado correcto tanto en las filas como en el total.
Si esto funciona para usted, por favor márquelo como la solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
v-zhenbw-msft
Hola @briktheprop ,
Creamos una muestra, una tabla de fechas y una tabla de hechos, se basan en una relación de uno a varios.
Y creamos una medida a la que puedes referirte.
sum average =
var x = [averange]
Return
SUMX(VALUES('date'[Month]),x)
Si no cumple con su requisito, ¿podría proporcionar una muestra de maqueta basada en datos falsos o describir los campos de cada tabla y las relaciones entre tablas simplemente?
Será útil si puede mostrarnos el resultado esperado exacto basado en las tablas. Cargue sus archivos en OneDrive Para la Empresa y comparta el enlace aquí.
Por favor, no contenga ninguna Información Confidencial o Datos Reales en su respuesta.
Por cierto, pbix como adjunto.
Saludos
Equipo de Apoyo comunitario _ zhenbw
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
v-zhenbw-msft
Hola @briktheprop ,
¿Qué tal el resultado después de seguir las sugerencias mencionadas en mi publicación original?
¿Podría proporcionar más detalles o resultados esperados al respecto si no cumple con su requisito?
Saludos
Equipo de Apoyo comunitario _ zhenbw
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
v-zhenbw-msft
Hola @briktheprop ,
Creamos una muestra, una tabla de fechas y una tabla de hechos, se basan en una relación de uno a varios.
Y creamos una medida a la que puedes referirte.
sum average =
var x = [averange]
Return
SUMX(VALUES('date'[Month]),x)
Si no cumple con su requisito, ¿podría proporcionar una muestra de maqueta basada en datos falsos o describir los campos de cada tabla y las relaciones entre tablas simplemente?
Será útil si puede mostrarnos el resultado esperado exacto basado en las tablas. Cargue sus archivos en OneDrive Para la Empresa y comparta el enlace aquí.
Por favor, no contenga ninguna Información Confidencial o Datos Reales en su respuesta.
Por cierto, pbix como adjunto.
Saludos
Equipo de Apoyo comunitario _ zhenbw
Si este post ayuda, por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
mfelix
Hola @briktheprop ,
Necesitas usar una medida de agregador (las que terminan con una X) en tu caso SUMX.
Rehacer su medida a algo similar a esto:
Increase in Sales =
var increase_in_sales = [Increase in Sales]
Return
IF(HASONEVALUE(Calendar[Month]);increase_in_sales; SUMX(Calendar; increase_in_sales))
Esto es comprobar si el mes es sólo un valor único si sí, a continuación, devolver la medida de lo contrario hace el SUMX.
Reemplace el valor de la variable [Aumentar en ventas] por el código de la medida (si no desea crear una nueva medida de lo contrario, utilice la medida en var. También asumo que tiene una tabla de calendario denominado calendario simplemente reemplace por el nombre de la tabla de su columna de fecha.
greg_deckler
Esto parece un problema de medidas totales. Muy común. Vea mi publicación 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, medida total, la palabra final debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/mp/547907
allisonkennedy
hola rick
Lo siento si me lo perdí, pero puede compartir las fórmulas para las medidas que ya ha calculado, como usted dice que este es un problema común con totales que parecen «equivocados» en el cálculo de la medida, por lo que si puede compartir sus Las fórmulas DAX para las medidas pueden ayudar a entender por qué están «equivocadas» y cómo pueden solucionarlas.
¿Este post ha resuelto tu problema? por favor, márquelo como una solución para que otros puedan encontrarlo rápidamente y para que la comunidad sepa que su problema ha sido resuelto.
Si ha encontrado este post útil, por favor, dale un saludo.
Trabajo como instructor y consultor para Microsoft 365, especializado en Power BI y Power Query.
https://sites.google.com/site/allisonkennedycv
Anónimo
En respuesta a allisonkennedy
Hola Allison,
¡Gracias por volver a mí! Las fórmulas que proporcionó son las siguientes:
1.
BEBE AHORA – MINORISTA1 % DE CAMBIO DE PARTICIPACIÓN 2019 vs 2018 ARCHIVO DE LLAMADA ?
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]),
Datos[Callfile] – «Archivo de llamadas»,
Datos[Año] – 2019,
Datos[RETAILER] – «MINORISTA1»)
–
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «Archivo de llamadas», Datos[Year] – 2018 , Datos[RETAILER] – «MINORISTA1»)
2.
BEBE AHORA – MINORISTA1 % DE CAMBIO EN LA PARTICIPACIÓN 2019 frente a 2018 ¿NO LLAMA ARCHIVO?
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «No Callfile», Datos[Year] – 2019 , Datos[RETAILER] – «MINORISTA1»)
–
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «No Callfile», Datos[Year] – 2018 , Datos[RETAILER] – «MINORISTA1»)
3.
BEBE AHORA – MINORISTA1 % DE CAMBIO DE PARTICIPACIÓN 2020 vs 2018 ARCHIVO DE LLAMADA ?
si (
ESTÁ EN BLANCO(
CALCULAR(
suma (datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]),
Datos[Callfile] – «Archivo de llamadas»,
Datos[Año] – 2020,
Datos[RETAILER] – «MINORISTA1») ,
BLANCO() ,
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «Archivo de llamadas», Datos[Year] – 2020 , Datos[RETAILER] – «MINORISTA1»)
–
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «Archivo de llamadas», Datos[Year] – 2018 , Datos[RETAILER] – «MINORISTA1») )
4.
BEBE AHORA – MINORISTA1 % DE CAMBIO DE PARTICIPACIÓN A/A 2020 vs 2018 ¿NO LLAMA ARCHIVO?
si (
ESTÁ EN BLANCO(
CALCULAR(
suma (datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]),
Datos[Callfile] – «Sin archivo de llamadas»,
Datos[Año] – 2020,
Datos[RETAILER] – «MINORISTA1») ,
BLANCO() ,
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «No Callfile», Datos[Year] – 2020 , Datos[RETAILER] – «MINORISTA1»)
–
CALCULAR( suma( Datos[DRINK NOW – CLIENT]) / suma (datos[DRINK NOW – CATEGORY]), Datos[Callfile] – «No Callfile», Datos[Year] – 2018 , Datos[RETAILER] ? «MINORISTA1») )
5.
BEBE AHORA – MINORISTA1 COMPARTIR % DIF 2019 vs 2018 ARCHIVO DE LLAMADA VS NO ARCHIVO DE LLAMADA ?
[DRINK NOW – RETAILER1 YoY SHARE % CHANGE 2019 vs 2018 CALL FILE] – [DRINK NOW – RETAILER1 YoY SHARE % CHANGE 2019 vs 2018 NOT CALL FILE]
6.
BEBE AHORA – MINORISTA1 COMPARTIR % DIF 2020 vs 2018 ARCHIVO DE LLAMADA VS NO ARCHIVO DE LLAMADA ?
[DRINK NOW – RETAILER1 YoY SHARE % CHANGE 2020 vs 2018 CALL FILE] – [DRINK NOW – RETAILER1 YoY SHARE % CHANGE 2020 vs 2018 NOT CALL FILE]
7.
BEBE AHORA – MINORISTA1 INCRE VENTAS 2019 ?
CALCULAR(
suma (datos[DRINK NOW – CATEGORY]),
Datos[Callfile] – «Archivo de llamadas»,
Datos[Año] – 2018,
Datos[RETAILER] – «MINORISTA1» )
* [DRINK NOW – RETAILER1 SHARE % DIFF 2019 vs 2018 CALL FILE VS NOT CALL FILE]
8.
BEBE AHORA – MINORISTA1 INCRE VENTAS 2020
CALCULAR(
suma (datos[DRINK NOW – CATEGORY]),
Datos[Callfile] – «Archivo de llamadas»,
Datos[Año] – 2018,
Datos[RETAILER] – «MINORISTA1» )
* [DRINK NOW – RETAILER1 SHARE % DIFF 2020 vs 2018 CALL FILE VS NOT CALL FILE]
En resumen, las fórmulas 1 y 2 se utilizan para hacer la fórmula 5, que luego se aplica a su vez con datos de la fuente original para crear la fórmula 7.
¡Lo siento por las fórmulas largas, soy autodidacta en su mayor parte!
mahoneypat
Intente usar este patrón de medida en su lugar. Mantenga sus medidas existentes como usted hará referencia a ellos en las nuevas.
NewMeasure á sumx(values(Date[Month]), [ExistingMeasure]) // o usa Fecha[YearMonth]
Este patrón de medida debe darle el resultado correcto tanto en las filas como en el total.
Si esto funciona para usted, por favor márquelo como la solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
Anónimo
En respuesta a mahoneypat
Gracias Pat – esto ofrece un encanto!