Forum Discussion
DAX
Hola a todos
Necesito ayuda con la fórmula DAX para calcular la cuota de mercado.
Tengo datos maestros que son muy limpios, pero son una combinación de valor y volumen por segmento, fabricante, marca a nivel de mes.
- Básicamente, quiero poder utilizar la fórmula del DAX para entender que la cuota de mercado es la SUMA de los volúmenes de UNA marca de un determinado PUNTO DE DATOS de un mes/trimestre/año, frente al total del SEGMENTO de ese mismo mes/trimestre/año. Lo que luego me ayudaría a mirarlo / rebanar y cortar por marca / Mfg, etc. ...
=DIVIDIR(CALCULAR(suma(MarketData[Valor de ventas])),CALCULAR(SUM(MarketData[Valor de ventas]),FILTRAR(ALLSELECTED(MarketData),MarketData[SEGMENT]=MAX(MarketData[SEGMENT]))),0)
¡He creado una medida usando esta fórmula! pero el problema al que me enfrento es: está dividiendo el valor / volumen de un mes / año en particular con el valor / volumen TOTAL del segmento (no está filtrando el calendario). Quiero que la cuota de mercado sea la SUMA de los volúmenes de marca de un determinado PUNTO DE DATOS de mes/trimestre/año, frente alsegmento total de ese mismo mes/trimestre/año.
| Segmento | Mercado | Marca | Mes | Ventas |
| Adulto | 1 | A | 1/2/2024 | 233 |
| Niños | 1 | B | 1/2/2024 | 323 |
| Niños | 2 | C | 1/3/2024 | 17.368 |
6 Replies
- Syndicate_Admin
Administrator
Hola @kalpesh07 - ¿Puedes probar el cálculo a continuación, agregando con segmento y período de fecha? Espero que ya tengas la tabla de fechas en tu modelo.
Cuota de mercado =
DIVIDIR(
SUM(MarketData[Ventas]),
CALCULAR(
SUM(MarketData[Ventas]),
FILTRO(
ALLSELECTED(MarketData),
MarketData[SEGMENT] = MAX(MarketData[SEGMENT]) &&
'DateTable'[DatePeriod] = MAX('DateTable'[DatePeriod])
)
),
0
)¿He respondido a tu pregunta? ¡Marca mi publicación como una solución! ¡Esto ayudará a otros en el foro!
¡Agradezco sus felicitaciones! - Syndicate_Admin
Administrator
Hola @rajendraongole1
¡No, esto no está funcionando! Tengo una tabla de calendario aparte. He usado una función relacionada.=
DIVIDIR(
SUMA(MarketData[Valor de ventas]),
CALCULAR(
SUMA(MarketData[Valor de ventas]),
FILTRO(
TODOS SELECCIONADOS(MarketData),
MarketData[SEGMENTO] = MÁXIMO(MarketData[SEGMENT]) &&RELACIONADO('Calendario'[Fecha])
= MÁXIMO('Calendario'[Fecha])
)
),
0
)
- Syndicate_Admin
Administrator
Hola @kalpesh07,
Tal vez pueda intentar utilizar la siguiente fórmula de medida si es adecuada para sus necesidades:
formula = DIVIDE ( SUM ( MarketData[Sales Value] ), CALCULATE ( SUM ( MarketData[Sales Value] ), ALLSELECTED ( MarketData ), VALUES ( MarketData[SEGMENT] ), VALUES ( 'Calendar'[Date] ) ), 0 )Saludos
Xiaoxin Sheng
- Syndicate_Admin
Administrator
@v-shex-msft ¡Gracias!
- Syndicate_Admin
Administrator
Hola @v-shex-msft ¿Me pueden ayudar con la misma medida pero calculando lo mismo que el período móvil? Necesito ayuda con el cálculo sobre la base del período móvil. MAT significa los últimos 12 meses.
Así que tengo que calcular el % de ventas base de los últimos 12 meses para cada mes como
Ene'24 MAT (Feb23-Ene24)
Feb'24 MAT (Mar23-Feb'24)
Mar'24 MAT (Abr23-Mar24)- Syndicate_Admin
Administrator
Tengo una pregunta, ¿por qué usó la siguiente declaración, es posible que se haya filtrado de Filtrar desde la página.
VALORES ( MarketData[SEGMENT] ),
VALORES ( 'Calendario' [Fecha] )