Hola a todos,
Agradecería su apoyo en el siguiente tema.
Quiero calcular el valor medio de las ventas por Cliente y por cuenta por mes y para todo el año.
Para calcular el valor promedio por cliente y mes es sencillo (suma del valor de ventas / recuento de cliente distinto) y el mes se puede seleccionar en el filtro, y para todo el año dará el promedio seleccionando todos los meses.
Sin embargo, lo que no está funcionando conmigo es crear una fórmula que me proporcione el resultado del valor de ventas por número de cuentas por mes y para todo el año, ya sea que seleccionemos un cliente o no. Es muy complicado. He intentado usar DAX pero no funcionó. Si es simplemente suma de valor de ventas / suma de # de cuentas, creo que no tendrá sentido si calculamos para todo el año para todas las cuentas. ¿Hay alguna solución para ello?
CLIENTE | MES | VALOR DE VENTAS | # de CUENTAS |
Cliente A | ene-22 | 200 | 10 |
Cliente A | feb-22 | 100 | 11 |
Cliente A | mar-22 | 20 | 12 |
Cliente A | abr-22 | 400 | 11 |
Cliente A | Mayo-22 | 200 | 12 |
Cliente A | jun-22 | 220 | 15 |
Cliente A | jul-22 | 120 | 14 |
Cliente A | ago-22 | 333 | 14 |
Cliente A | sep-22 | 593 | 14 |
Cliente A | oct-22 | 890 | 14 |
Cliente B | ene-22 | 900 | 5 |
Cliente B | feb-22 | 100 | 6 |
Cliente B | mar-22 | 50 | 6 |
Cliente B | abr-22 | 200 | 7 |
Cliente B | Mayo-22 | 100 | 7 |
Cliente B | jun-22 | 200 | 7 |
Cliente B | jul-22 | 300 | 7 |
Cliente B | ago-22 | 700 | 7 |
Cliente B | sep-22 | 400 | 8 |
Cliente B | oct-22 | 100 | 7 |
Cliente C | ene-22 | 200 | 23 |
Cliente C | feb-22 | 300 | 23 |
Cliente C | mar-22 | 230 | 23 |
Cliente C | abr-22 | 340 | 24 |
Cliente C | Mayo-22 | 450 | 24 |
Cliente C | jun-22 | 750 | 24 |
Cliente C | jul-22 | 230 | 24 |
Cliente C | ago-22 | 120 | 25 |
Cliente C | sep-22 | 400 | 24 |
Cliente C | oct-22 | 200 | 25 |
Hola Yolo.
Gracias por la respuesta. La solución no funciona y esta es la razón:
El número de cuentas no debe ser acumulativo. Si en enero eran 5 cuentas y febrero son 6 cuentas, entonces ha aumentado en 1 y no en 6. Es un valor de venta basado en la suscripción. Entonces, en PBI, si filtro solo al cliente A, quiero ver el promedio para todo el año (valor total de ventas / número total de cuenta (no acumulativo)). Puedo considerar el promedio del número de cuentas durante ese año. Lo mismo ocurre con el número de cuenta para todos los demás clientes.
Entonces, la mejor manera es calcular primero las ventas promedio por cuenta para cada mes y luego agregar estos promedios para ver el promedio total de ventas por cuenta.
Luego, si quiero ver el promedio total de todas las cuentas, será el promedio de ventas para cada una de las cuentas dividido por el número de cuentas.
Por favor, hágamelo saber si no está claro.
Gracias de nuevo.
Puede crear una medida:
Measure = CALCULATE(DIVIDE(SUM('Table'[SALES VALUE]),SUM('Table'[# of ACCOUNTS])),ALLSELECTED('Table'))
¡Saludos!
Yolo Zhu
Si este post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Hola Yolo,
Bueno, todavía no hace lo que se requiere.
La medida debe ser la suma del valor de las ventas / # de las cuentas
# de cuentas puede ser el promedio del año completo o el # de cuentas en el último mes.
Lo que hiciste es dividir por # acumulativo de cuentas, lo cual no debería ser el caso.
Puede crear una columna de mes en la tabla y, a continuación, crear dos tablas nuevas:
Table 2 = SUMMARIZE('Table',[CUSTOMER])
Table 3 = SUMMARIZE('Table',[month_Month])
A continuación, cree una nueva medida en la tabla:
Average = SWITCH(TRUE(),ISFILTERED('Table 3'[month_Month])=FALSE()&&ISFILTERED('Table 2'[CUSTOMER])=FALSE(),CALCULATE(SUM([SALES VALUE])/SUM([# of ACCOUNTS]),ALLSELECTED('Table')),ISFILTERED('Table 2'[CUSTOMER])=TRUE()&&ISFILTERED('Table 3'[month_Month])=FALSE(),CALCULATE(SUM('Table'[SALES VALUE])/SUM('Table'[# of ACCOUNTS]),FILTER(ALLSELECTED('Table'),[CUSTOMER]=MAX('Table 2'[CUSTOMER]))),ISFILTERED('Table 2'[CUSTOMER])=FALSE()&&ISFILTERED('Table 3'[month_Month])=TRUE(),CALCULATE(SUM('Table'[SALES VALUE])/SUM('Table'[# of ACCOUNTS]),FILTER(ALLSELECTED('Table'),MONTH('Table'[MONTH])=MAX('Table 3'[month_Month]))),CALCULATE(SUM('Table'[SALES VALUE])/SUM('Table'[# of ACCOUNTS]),FILTER(ALLSELECTED('Table'),MONTH('Table'[MONTH])=MAX('Table 3'[month_Month])&&[CUSTOMER]=MAX('Table 2'[CUSTOMER]))))
Cree una medida para establecer si la medida puede mostrar:
if_display = SWITCH(TRUE(),ISFILTERED('Table 3'[month_Month])=FALSE()&&ISFILTERED('Table 2'[CUSTOMER])=FALSE(),1,ISFILTERED('Table 3'[month_Month])=FALSE()&&ISFILTERED('Table 2'[CUSTOMER])=TRUE(),IF(MAX('Table'[CUSTOMER])=MAX('Table 2'[CUSTOMER]),1,0),ISFILTERED('Table 3'[month_Month])=TRUE()&&ISFILTERED('Table 2'[CUSTOMER])=FALSE(),IF(MAX('Table'[month_Month])=MAX('Table 3'[month_Month]),1,0),IF(MAX('Table'[CUSTOMER])=MAX('Table 2'[CUSTOMER])&&MAX('Table'[month_Month])=MAX('Table 3'[month_Month]),1,0))
A continuación, coloque las columnas de la tabla 2 y la tabla 3 en dos segmentaciones de datos y coloque la medida if_display en el filtro visual de la tabla:
Salida:
¡Saludos!
Yolo Zhu
Si este post Ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.