¿Cómo sumar una medida en una tabla?

Un usuario Pregunto ✅

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:

  1. 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)
  2. 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)
  3. % PARTICIPACIÓN AaA CAMBIO 2020 vs 2018 ARCHIVO DE LLAMADA (como arriba)
  4. YoY COMPARTIR % CAMBIO 2020 vs 2018 NO LLAMAR ARCHIVO (como arriba)
  5. COMPARTIR % DIFERENCIA 2019 vs 2018 ARCHIVO LLAMADA VS ARCHIVO NO LLAMADA (medida 1 – medida 2)
  6. COMPARTIR % DIFF 2020 vs 2018 ARCHIVO LLAMADA VS ARCHIVO NO LLAMADA (medida 3 – medida 4)
  7. VENTAS INCR 2019 (suma de datos de ventas filtrados de 2018 * medida 5)
  8. 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

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)

CÓMO 1.jpg

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.

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.

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)

CÓMO 1.jpg

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!

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *