Forum Discussion
Syndicate_Admin
Administrator
2 years agoSuma
Quiero calcular el tiempo total de viaje en función del filtro de línea y estación Ejemplo: Estación de salida (A1) Llegada, estación (A3) y línea roja para tiempo de viaje = 24 min Cómo hacer est...
Syndicate_Admin
Administrator
2 years ago@MSAYED26 No he probado esto, pero *creo* que solo necesita invertir su comparación dependiendo de la línea:
Travel Time =
VAR __Departure = MAX([Departure station])
VAR __Arrival = MAX([Arrival station])
VAR __Line = MAX([Line])
VAR __DepartIndex = MAXX( FILTER( 'Table', [Line] = __Line && [Departure station] = __Departure ), [Index] )
VAR __ArrivalIndex = MAXX( FILTER( 'Table', [Line] = __Line && [Arrival station] = __Arrival ), [Index] )
VAR __Result =
SWITCH( __Line,
"Blue", SUMX( FILTER( 'Table', [Index] >= __DepartIndex && [Index] <= __ArrivalIndex ), [Travel Time (min)] ),
SUMX( FILTER( 'Table', [Index] <= __DepartIndex && [Index] >= __ArrivalIndex ), [Travel Time (min)] )
)
RETURN
__ResultSyndicate_Admin
Administrator
2 years agoTodo el tiempo de viaje me da en blanco
- Syndicate_Admin2 years ago
Administrator
@MSAYED26 Implementé la medida según lo especificado y parece funcionar. Véase PBIX adjunto.
- Syndicate_Admin2 years ago
Administrator
@MSAYED26 Para que lo esté entendiendo bien, ¿está diciendo que quiere tener en cuenta los viajes de la línea S1 a la A4 en la línea roja con un cambio a la línea azul y luego yendo a la A7, por ejemplo?
- Syndicate_Admin2 years ago
Administrator
@MSAYED26 Bien, prueba este. Se ha actualizado el PBIX adjunto.
Travel Time Measure = VAR __Departure = MAX([Departure station]) VAR __Arrival = MAX([Arrival station]) VAR __Line = MAX([Line]) VAR __DepartIndex = MAXX( FILTER( 'Table', [Line] = __Line && [Departure station] = __Departure ), [Index] ) VAR __ArrivalIndex = MAXX( FILTER( 'Table', [Line] = __Line && [Arrival station] = __Arrival ), [Index] ) VAR __ArrivalIndexReverse = MAXX( FILTER( 'Table', [Line] = __Line && [Departure station] = __Arrival ), [Index] ) VAR __Result = SWITCH( __Line, "Blue", SUMX( FILTER( 'Table', [Index] >= __DepartIndex && [Index] <= __ArrivalIndex ), [Travel Time (min)] ), SUMX( FILTER( 'Table', [Index] < __DepartIndex && [Index] >= __ArrivalIndexReverse ), [Travel Time (min)] ) ) RETURN __Result- Syndicate_Admin2 years ago
Administrator
Gracias