Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! It's time to submit your entry. Live now!

Reply
Syndicate_Admin
Administrator
Administrator

Subíndice basado en la condición de las filas anteriores/siguientes en Power Query

Estoy trabajando con un conjunto de datos en Power BI y usando Power Query para preparar mis datos para los informes. El conjunto de datos realiza un seguimiento de varios viajes mediante las siguientes columnas:

  • ShiftID: Representa el momento en que un camión comienza su turno en el depósito y regresa al depósito.
  • StopType: Una parada en el origen (S) o en el cliente (C).
  • StopOrder: Indica el orden de las paradas en un turno (se restablece para cada nuevo ShiftID).

Necesito crear una nueva columna en Power Query llamada TripEvent que se incrementa en función de las siguientes reglas:

  1. Para cada ShiftID, el evento de viaje comienza en 1, independientemente de la primera parada (ya sea un origen o un cliente).
  2. El evento de viaje sigue siendo el mismo siempre que el camión se detenga en un cliente (StopType = 'C').
  3. Si el camión se detiene en una fuente (StopType = 'S'), comienza un nuevo evento de viaje, por lo que se incrementa el número de evento de viaje.
  4. Si el último evento es una parada en un origen (StopType = 'S') y no hay más entregas (paradas del cliente), el evento de viaje sigue siendo el mismo que el anterior (es decir, sin incremento).

¿Cómo puedo lograr esta lógica de columna condicional en Power Query, donde la columna TripEvent se incrementa y se restablece en función de estas condiciones?

¡Gracias de antemano por cualquier ayuda!

ShiftID (ID de turno) StopOrder (Orden de parada) Tipo de parada Evento de viaje
1382883 1 B 1
1382883 2 B 1
1382883 3 B 1
1382883 4 S 1
1383115 1 B 1
1383115 2 B 1
1383115 3 S 1
1383115 4 B 2
1383115 5 S 2
1387288 1 B 1
1387288 2 B 1
1387288 3 S 1
1388995 1 S 1
1388995 2 B 1
1388995 3 B 1
1388995 4 S 1
1390789 1 B 1
1390789 2 B 1
1390789 3 B 1
1390789 4 S 1
1391573 1 S 1
1391573 2 B 1
1391573 3 B 1
1391852 1 B 1
1391852 2 B 1
1391852 3 S 1
1391852 4 B 2
1391852 5 S 2
1395271 1 B 1
1395271 2 S 1
1395271 3 B 2
1395271 4 S 2
1395769 1 B 1
1395769 2 S 1
1395769 3 B 2
1395769 4 S 2
1395997 1 B 1
1395997 2 S 1
1395997 3 B 2
1395997 4 B 2
1395997 5 S 2
1397028 1 B 1
1397028 2 B 1
1397028 3 S 1
1397028 4 B 2
1397028 5 S 2
1398598 1 B 1
1398598 2 S 1
1398598 3 B 2
1398598 4 B 2
1398598 5 S 2
1400647 1 B 1
1400647 2 S 1
1400647 3 B 2
1400647 4 S 2
1400647 5 B 3
1400647 6 B 3
1400647 7 S 3
1477794 1 B 1
1477794 2 S 1
1477794 3 B 2
1477794 4 S 2
1479624 1 B 1
1479624 2 B 1
1479624 3 B 1
1479624 4 S 2
1479624 5 B 2
1479624 6 S 2
2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Chenipeps por qué las últimas 3 filas en este caso no son #2

1388995 1 S 1
1388995 2 B 1
1388995 3 B 1
1388995 4 S 1

Hola, esta es mi 4ª condición
"Si el último evento es una parada en un origen (StopType = 'S') y no hay más entregas (paradas del cliente), el evento de viaje sigue siendo el mismo que el anterior (es decir, sin incremento)".

Por lo tanto, este debería permanecer como 1.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! It's time to submit your entry.

January Power BI Update Carousel

Power BI Monthly Update - January 2026

Check out the January 2026 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.