SofiaVaz
Hola a todos,
Soy muy nuevo en Power BI y estoy lidiando con DAX desde cero, por lo que esta pregunta puede ser un poco básica …
El modelo de datos con el que estoy trabajando tiene un campo llamado «voy» (número de viaje) y otro llamado «Unidades» (número de unidades transportadas).
¿Cómo puedo calcular la variación del número de unidades por viaje? Básicamente, quiero saber cómo han evolucionado los volúmenes transportados (ejemplo: Variation = UnitVoy02-UnitsVoy01).
Gracias a todos,
Sofia Vaz
Alba
En respuesta a SofiaVaz
@SofiaVaz
De acuerdo, eso no está permitido con la sintaxis simplificada para el argumento de filtro. Prueba esto en su lugar:
UnitsNumberDiff = [UnitsNumber] - CALCULATE ( SUM ( Table1[Unidades_2] ); FILTER ( ALL ( Table1[sst_voyage] ); Table1[sst_voyage] = SELECTEDVALUE ( Table1[sst_voyage] ) - 1 ) )
Código formateado con
Alba
Hola @SofiaVaz
¿Puede mostrar una muestra de su tabla?
¿Quieres ver todas las variaciones? Es decir
(UnidadesVoy2 – UnidadesVoy1), (UnidadesVoy3 – UnidadesVoy2), …, UnidadesVoyN – UnidadesVoyN-1
¿Cómo le gustaría ver eso? ¿En un gráfico?
SofiaVaz
En respuesta a Alba
Hola AIB,
Gracias por su respuesta. Lamentablemente, no puedo compartir la tabla de datos, pero tiene razón, quiero ver todas las variaciones.
Me imaginé usar un gráfico en cascada para mostrar esta información, pero la medida creada (si la forma correcta es creando una medida …) también se puede usar en una tabla, por ejemplo, algo como Voy | Unidades | Variación.
¡Gracias!
Sofia Vaz
Alba
En respuesta a SofiaVaz
@SofiaVaz
¿Son consecutivos los números de viaje?
Siempre puede compartir un pequeño fragmento de su tabla, lo suficiente para mostrar su estructura, o con datos ficticios si hay información confidencial.
SofiaVaz
En respuesta a Alba
Los números de viaje son consecutivos desde 1801 hasta 1824, 1901 hasta 192x … y así sucesivamente («18» desde 2018, 19 desde 2019, y así sucesivamente …)
Como puede ver a continuación, el mismo viaje tiene diferentes entradas y mi idea era contar «Unidades2» por viaje y comparar este número con el recuento del viaje anterior …
¡Gracias!
v-cherch-msft
En respuesta a SofiaVaz
Hola @SofiaVaz
Consulte el archivo de muestra adjunto. Puede obtener el recuento anterior con la siguiente medida. Y luego puede obtener la variación.
PreviousCount = CALCULATE ( SUM ( Table1[Unidades_2] ), FILTER ( ALL ( Table1 ), Table1[sst_voyage] = MAX ( Table1[sst_voyage] ) - 1 ) )
Variation = IF(ISBLANK([PreviousCount]),BLANK(), [Count]-[PreviousCount])
Saludos,
Cherie
SofiaVaz
En respuesta a v-cherch-msft
Hola @ v-cherch-msft:
¡Tu solución también funciona!
Lamento no haberlo marcado como la solución, pero primero probé la otra.
Gracias por tomarse el tiempo.
Sofia Vaz
Alba
En respuesta a SofiaVaz
@SofiaVaz
OK, ¿qué tal esto?
1. Coloque un gráfico de líneas en su informe y coloque Table1[sst_voyage] en el eje x
2. Coloque esta medida en valores. Dará el número de unidades por viaje:
UnitsNumber = SUM(Table1[Unidades_2])
3. Coloque esta medida en valores. Le dará la diferencia en unidades entre el viaje actual y el anterior:
UnitsNumberDiff = [UnitsNumber] - CALCULATE ( SUM ( Table1[Unidades_2] ); Table1[sst_voyage] = SELECTEDVALUE ( Table1[sst_voyage] ) - 1 )
Esto debería funcionar siempre que los números de viaje sean consecutivos.
SofiaVaz
En respuesta a Alba
Buenos días @AlB,
Gracias por tu ayuda.
Intenté con tus expresiones pero devuelve un error …
No puedo averiguar qué está mal con SELECTEDVALUE … ¿alguna pista?
Gracias,
Sofía
Alba
En respuesta a SofiaVaz
@SofiaVaz
De acuerdo, eso no está permitido con la sintaxis simplificada para el argumento de filtro. Prueba esto en su lugar:
UnitsNumberDiff = [UnitsNumber] - CALCULATE ( SUM ( Table1[Unidades_2] ); FILTER ( ALL ( Table1[sst_voyage] ); Table1[sst_voyage] = SELECTEDVALUE ( Table1[sst_voyage] ) - 1 ) )
Código formateado con
SofiaVaz
En respuesta a Alba
¡Así funciona!
Solo tuve que agregar la función Value () antes de sst_voyage porque está definida como texto en la tabla de datos.
Ahora solo necesito encontrar una manera de calcular la variación cuando los nombres de los viajes no son consecutivos. Pero lo intentaré solo y, si es necesario, volveré a pedir tu ayuda.
Muchísimas gracias,
Sofia Vaz