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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
Syndicate_Admin
Administrator
Administrator

Cantidad de coches necesarios

Hola a todos,

Necesito ayuda para definir la cantidad de autos requeridos para atender las reservas.

Por ejemplo, tengo 2 reservas. Uno sobre el periodo del 23/09/2022 - 27/09/2022, y otro el 28/09/2022 - 01/10/2022

Así que cuando filtro el periodo del 23/09/2022 al 01/10/2022, debería mostrar que solo un coche requerido atiende a estas 2 reservas.

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

¿Puede proporcionar datos de muestra para las tablas relevantes?

Gracias por el archivo. Aquí hay una forma, que implica modelar los datos de manera ligeramente diferente. Esto implica cambiar la estructura de la tabla de 'Reservas' para expandir las fechas de 'Reservas' [Inicio] a 'Reservas'[Fin], de modo que obtenga una fila por fecha para cada reserva. Con esta estructura, los cálculos son simples:

1) Crear la nueva Tabla de Reservas utilizando:

New reserves =
VAR _Expanded =
    GENERATE ( Reserves, CALENDAR ( Reserves[Start], Reserves[End] ) )
RETURN
    SELECTCOLUMNS (
        _Expanded,
        "_Cod", Reserves[Cod],
        "_Group", Reserves[Group],
        "_status", Reserves[Status],
        "Dates Booked", [Date]
    )

new model.pngAhora use estas medidas para las imágenes:

Number of Cars = COUNT(Cars[License plate])
Number of Reservations = DISTINCTCOUNT('New reserves'[_Cod])
Cars Avalailable = [Number of Cars] - [Number of Reservations]

result.png

Nuevo archivo adjunto

Esta forma es realmente mejor para el análisis. Gracias.

Pero el principal problema sigue ocurriendo.

Por ejemplo, estas 2 reservas.

Jlio_0-1664131732067.png

Cuando filtro el rango de fechas 24/09/22 - 01/10/2022, solo debe contar como 1 coche reservado.

Porque las 2 reservas serán atendidas con el mismo coche.

Jlio_1-1664131847546.png

El problema es que la tabla de reservas no incluye la matrícula, por lo que no hay forma de saber de esta tabla qué coches "individuales" están en uso. Todo lo que sabemos es si hay una reserva para un grupo en fechas determinadas; no qué coches se asignan a cada reserva. ¿Entender?

¿Qué pasa si cuento en su nueva tabla, la cantidad para cada fecha (Fechas reservadas), en el período filtrado y obtengo el valor máximo de ese recuento?

Creo que funcionaría.

¿Puedes ayudarme a hacerlo?

¿Qué tal algo como esto?

new.png

Nuevo archivo adjunto

Me gustó esto:

Jlio_1-1664148907346.png

Jlio_3-1664148922684.pngJlio_2-1664148920343.png

Jlio_4-1664148957682.png

Parece estar funcionando bien.

Gracias, me ayudaste mucho.

Syndicate_Admin
Administrator
Administrator

Hola

No estoy seguro de cómo se ve el resultado esperado, pero traté de crear una muestra como la siguiente.

Es para crear una nueva columna.

Consulte la imagen de abajo y el archivo pbix adjunto si se adapta a sus necesidades.

Espero que lo siguiente pueda proporcionar algunas ideas sobre cómo crear una solución para su modelo de datos.

Jihwan_Kim_0-1664073399820.png

Count CC =
VAR _prevenddate =
    MAXX (
        FILTER (
            Data,
            Data[Name] = EARLIER ( Data[Name] )
                && Data[End] < EARLIER ( Data[Start] )
        ),
        Data[End]
    )
RETURN
    SWITCH (
        TRUE (),
        _prevenddate = BLANK (), 1,
        DATEDIFF ( _prevenddate, Data[Start], DAY ) = 1, 0,
        DATEDIFF ( _prevenddate, Data[Start], DAY ) > 1, 1
    )

Hola

Gracias por su ayuda,

Tengo una lista de reservas, y el análisis va a los coches del mismo grupo.

Jlio_4-1664076018002.png

Supongamos que recibo una nueva reserva en el período del 24/09/22 - 01/10/22 para el Grupo de Automóviles A, y solo tengo 2 autos disponibles. Puedo aceptar, porque el mismo coche se alquilará a las reservas 14 y 19, quedando 1 disponible.

Así que cuando cuento el número de coches reservados, debe ser uno a este rango de fechas.

Pero solo para coches del mismo grupo.

La forma en que lo estoy haciendo no se ajusta a las dos fechas, por lo que es contar 2 autos.

Cantidad Reservas =
CALCULAR( CONTAR(Reservas[Grupo de Automóviles]),
FILTRO( VALORES( «Reservas»[Inicio]), «Reservas»[Inicio] <= Máximo(Calendario[Fecha])),
FILTRO( VALORES( «Reservas»[Fin]), O('Reservas'[Fin] >= Min(Calendario[Fecha]),ISBLANK((Reservas[Fin]))))))

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors