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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

Encontrar la fecha MIN en una tabla dentro de un grupo

hola. Tengo los siguientes datos de reserva de vuelos. Estoy buscando una fórmula dax para elegir el destino real. Vea a continuación lo que estoy buscando y algo de lógica IF. RDU es el destino real, las otras filas son conexiones o el vuelo de regreso a casa desde RDU.

BUSCANDO..
BookingNumbersalida deAirportllegadaAirportllegadaTimeMaxArrivalFecha de llegadaLlegar/ConectarDestino real
12345BufATL6/10/21 7:00 AM6/10/21 10:00 AM6/10/21conexiónN/A
12345ATLRDU6/10/21 10:00 AM6/10/21 10:00 AM6/10/21llegadaRDUIF MaxArrival = llegada Hora y llegada/conexión = Llegada
12345RDUATL6/14/21 11:00 AM6/14/21 2:00 PM6/14/21conexiónN/A
12345ATLBuf6/14/21 2:00 PM6/14/21 2:00 PM6/14/21llegadaN/A

Creo que necesito encontrar la fecha mínima de llegada dentro de la reserva con la hora/fecha máxima de llegada para marcar RDU como destino.

MaxArrival es una medida caluclada:

MaxArrival = CALCULAR(MAX ('Piernas'[arrivalTime]),
ALLEXCEPT ('Piernas','Piernas'[BookingNumber]),
GROUPBY('Piernas','Piernas'[ArrivalDate]))
Estoy agrupando por BookingNumber (a través de ALLEXCEPT) ya que hay otros números de reserva en mi conjunto de datos completo (esto es sólo una muestra).

Arrive/Connect es una columna calculada:

Llegada/conexión = IF([Llegada máxima] = 'Legs'[arrivalTime], "ArrivingDest", "Connection")
*Necesito una solución Dax, ya que mis datos proceden de un conjunto de datos PBI de conexión en vivo/consulta directa. No puedo transformar los datos.
He probado varias columnas calculadas y medidas, pero obtener varios errores.
¡Gracias!
1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@Dudeman
Sólo hay unas pocas filas más que puedo escribir. Ese fue mi error, he pensado en los múltiples números de reserva, pero olvidé llevarlo a la fórmula. Cambie la medida Destino de resultados a lo siguiente debe funcionar.

Destino del resultado = IF([MaxArrival]=MINX(FILTER(ALLSELECTED(Legs),[BookingNumber]=MAX([BookingNumber])),[MaxArrival]) && [ArriveConnect]="Arrival",MAX([arrivalAirport]))
V-pazhen-msft_0-1621493132420.png

Saludos
Paul Zheng _ Equipo de apoyo a la comunidad

View solution in original post

8 REPLIES 8
Syndicate_Admin
Administrator
Administrator

@Dudeman
Sólo hay unas pocas filas más que puedo escribir. Ese fue mi error, he pensado en los múltiples números de reserva, pero olvidé llevarlo a la fórmula. Cambie la medida Destino de resultados a lo siguiente debe funcionar.

Destino del resultado = IF([MaxArrival]=MINX(FILTER(ALLSELECTED(Legs),[BookingNumber]=MAX([BookingNumber])),[MaxArrival]) && [ArriveConnect]="Arrival",MAX([arrivalAirport]))
V-pazhen-msft_0-1621493132420.png

Saludos
Paul Zheng _ Equipo de apoyo a la comunidad

Lo siento Paul. Una última pregunta. Esa medida funciona, pero ahora necesito componer en una tabla de país con una relación con el código del aeropuerto. Destino de resultados debe estar en una columna calculada para que pueda vincular el código del aeropuerto de detinación a mi tabla de país (¿creo?).

¿Puede ayudar con lo que sería la fórmula de columna calculada para la solución que proporcionó?

Gracias de nuevo.

asombroso. Muchas gracias @V-pazhen-msft Paul. Realmente agradezco su ayuda en esto.

Si no es demasiado pedir, y no hay prisa en absoluto, ¿le importaría explicar lo que la fórmula está haciendo? Es un poco difícil para mí entender todas las piezas y cómo están trabajando juntas aquí.

Gracias de nuevo.

Syndicate_Admin
Administrator
Administrator

@Dudeman

Para lograr el resultado deseado, tendría que crear las 3 medidas:

MaxArrival = CALCULATE(MAX( 'Legs'[arrivalTime]),ALLEXCEPT ('Legs','Legs'[BookingNumber]),GROUPBY('Legs','Legs'[ArrivalDate]))

ArriveConnect = IF([MaxArrival]= MAX([arrivalTime]), "Arrival", "Connection")

Result Destination = IF([MaxArrival]=MINX(ALL(Legs),[MaxArrival]) && [ArriveConnect]="Arrival",MAX([arrivalAirport]))

V-pazhen-msft_0-1621321545912.png


Paul Zheng _ Equipo de apoyo a la comunidad
Si esta publicación ayuda, por favor acéptela como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.

@V-pazhen-msft Paul, muchas gracias, muy cerca, pero no del todo. Esto es más lo que estoy buscando.

Esto funciona con un solo número de reserva, pero cuando lo aplico a mi conjunto de datos más grande con más números de reserva solo obtejo un destino sinlge. Necesito restringir el tiempo mínimo de llegada máxima a cada número de reserva. ¿Cómo ajustaría su solución si hay más de una reserva?

Muchas gracias.

A continuación se muestra un conjunto de datos de ejemplo expandido.. por alguna razón no tomará mi nueva mesa, así que aquí hay una imagen de ella:

Picture2.png

12345 = RDU

23456 = YYZ

34567 = MAR

Syndicate_Admin
Administrator
Administrator

@Dudeman Yo pensaría una medida como:

Measure =
  VAR __ArrivalAirport = MAX('Table'[ArrivalAirport]
  VAR __ArriveConnect = MAX('Table'[Arrive/Connect])
  VAR __ArriveDate = MAX('Table'[ArrivalDate])
RETURN
  IF(__ArriveDate = [Max Arrival] && __ArriveConnect = "Arrival",__ArrivalAirport,"N/A")

@Greg_Deckler

Gracias por la respuesta Greg.

Cuando agrego la medida a la tabla aparece una caja negra y luego desaparece (con una barra de título que dice algo sobre SQL) y luego rompe mi visión de tabla diciendo que no puede mostrar el objeto visual.

¿Pensamientos?

Tal vez hay otra manera de hacer esto, de una manera más corta, donde no necesito usar la columna Calc'd de Llegada/Conexión? Tal vez puedo decir algo como marcar la fila como el destino donde la fecha mínima maxarrival para una reserva (6/10/21 10:00AM) es igual a la llegadaTime? Algo así podría devolver la RDU.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.