cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

Un argumento o función DATE tiene un tipo de datos incorrecto no se resolverá

Tengo dos mesas con reservas de hotel. El primero es para futuras reservas y el otro es para las pasadas del año pasado.

Reservas futuras

arrival_datedeparture_datetotal_nightsrate_cattasamonth_yearingresosentered_on
12/2/202212/5/20223IDMES125Dic-202237511/20/2022
12/2/202212/3/20221IGKLM105Dic-202210511/1/2022
12/4/202212/8/20224IMMLR101Dic-202240411/1/2022
12/4/202212/5/20221IDTHO119Dic-202211910/20/2022
12/6/202212/10/20224IMMLR105Dic-202242011/20/2022
12/4/202212/8/20224IGKLM120Dic-202248011/15/2022
12/3/202212/5/20222IDMES129Dic-202225811/15/2022
12/30/20221/2/20233IMGOV (en inglés)100Dic-202230011/22/2022
1/2/20231/10/20238IDMES119Ene-202395211/23/2022
1/15/20231/20/20235IGKLM115Ene-202357511/1/2022
1/29/20231/31/20232IDTHO115Ene-20232302/25/2022
1/29/20231/31/20232IDTHO110Ene-20232206/9/2022

Past_Reservations

arrival_datedeparture_datetotal_nightsrate_cattasamonth_yearingresosentered_on
12/2/202112/10/20218IDMES115Dic-202192011/22/2021
12/3/202112/10/20217IMMLR99Dic-202169312/1/2021
12/5/202112/10/20215IGKLM110Dic-202155011/20/2021
12/1/202112/15/202114IDMES115Dic-2021161011/22/2021
12/7/202212/20/202113IMGOV (en inglés)95Dic-2021123512/1/2021
12/18/202112/25/20217IMMLR105Dic-202173512/5/2021
12/21/202112/24/20213IGKLM115Dic-202134512/21/2021
12/25/202112/27/20212IDTHO109Dic-20212184/10/2021
12/30/20211/5/20226IDTHO105Dic-20216309/17/2021
1/1/20221/10/20229IMMLR105Ene-202294512/12/2021
1/5/20221/10/20225IDMES110Ene-202255012/12/2021
1/10/20221/13/20223IDMES112Ene-20223361/1/2022
1/15/20221/20/20225IMGOV (en inglés)100Ene-20225001/10/2022
1/20/20221/25/20225IMGOV (en inglés)105Ene-20225251/10/2022
1/27/20221/30/20223IDTHO110Ene-20223301/20/2022
1/31/20222/2/20222IDTHO115Ene-20222301/31/2022

He agregado un par de columnas en power query.

El primero calcula la diferencia de días entre arrival_date y entered_on fechas.

Otro divide los valores de la primera columna en un grupo basado en días.

Devtr_0-1669242286697.png

La matriz anterior funciona bien con los datos de FutureReservation. Quiero traer los datos de Past_Reservation con el mismo arrival_date (pero del año pasado).

Utilicé la medida de la siguiente manera:

LY_Past_Res_Rooms = 
var _First_Arr_Date = FIRSTDATE('FutureReservations'[arrival_date])
var _LY_First_Arr_Date = DATE(YEAR(_First_Arr_Date)-1,MONTH(_First_Arr_Date),DAY(_First_Arr_Date))

var _Last_Dep_Date = LASTDATE('FutureReservations'[departure_date])
var _LY_Last_Arr_Date = DATE(YEAR(_Last_Dep_Date)-1,MONTH(_Last_Dep_Date),DAY(_Last_Dep_Date))

return
CALCULATE(COUNT('Past_Reservations'[rate_cat]),
            FILTER(ALL('Past_Reservations'[arrival_date]),
                    'Past_Reservations'[arrival_date]>=DATEVALUE(_LY_First_Arr_Date)
                    &&
                    'Past_Reservations'[arrival_date]<>BLANK()))

Pero muestra el error:

Un argumento o función DATE tiene un tipo de datos incorrecto o el resultado es demasiado grande o demasiado pequeño.

He buscado en Google tantas veces y he revisado las otras publicaciones. Pero no encuentro la solución.

El mismo masuere funciona bien dentro de la imagen de la tarjeta. Pero no en la matriz anterior.

Encuentre el archivo Pbix aquí.

Necesita su ayuda.

Gracias de antemano.

12 REPLIES 12
Syndicate_Admin
Administrator
Administrator

Hola

Comparta también el enlace de descarga de los archivos de Excel de origen, desde donde cargó los datos en PBI.

Hola @Ashish_Mathur

Aquí está el enlace a toda la carpeta.

Gracias.

Hola

Vea si mi solución aquí ayuda. Puede descargar el archivo PBI desde aquí.

Untitled.png

Hola @Ashish_Mathur Gracias por su tiempo. Su enfoque trae el resultado. Pero tener decenas de miles de filas de ambas tablas durante varios años hará que esto visual sea desordenado y confuso para el usuario. Sin mencionar que el mismo período de tiempo (que el usuario quiere ver) tiene múltiples fechas de informe a medida que avanza el mes / año. Si amablemente miras mi intento y me guías con la solución de por qué el visual no muestra todas las filas / datos de la tabla de reservas anteriores, estaré en deuda contigo.

Gracias.

De nada. No puedo entender su enfoque, aunque acepto la deficiencia que ha identificado en mi enfoque.

Syndicate_Admin
Administrator
Administrator

@Devtr No puedo volver a crear (ver PBIX adjunto debajo de la firma). Pero, tampoco sé qué es group_bda, así que no puedo recrearme al 100%.

Lo siento, pero ya he adjuntado el archivo.

¿No funcionó?

Group_bda divide los valores booked_days_in_adv en grupos.

0 (reserva reservada el mismo día)

1(hace un día)

...

6-10 (hace seis a diez días)

...

Gracias.

@Devtr Veo el problema, a veces _First_Arr_Date está EN BLANCO.

Prueba esto:

LY_Past_Res_Rooms = 
var _First_Arr_Date = FIRSTDATE('FutureReservations'[arrival_date])
return
if(_First_Arr_Date = BLANK(), BLANK(),
        var _LY_First_Arr_Date = DATE(YEAR(_First_Arr_Date)-1,MONTH(_First_Arr_Date),DAY(_First_Arr_Date))

        var _Last_Dep_Date = LASTDATE('FutureReservations'[departure_date])
        var _LY_Last_Arr_Date = DATE(YEAR(_Last_Dep_Date)-1,MONTH(_Last_Dep_Date),DAY(_Last_Dep_Date))
        var _Result = CALCULATE(COUNT('Past_Reservations'[rate_cat]),
                FILTER(ALL('Past_Reservations'[arrival_date]),
                        'Past_Reservations'[arrival_date]>=DATEVALUE(_LY_First_Arr_Date)
                        &&
                        'Past_Reservations'[arrival_date]<>BLANK()))
        return
        _Result
)

Gracias @Greg_Deckler por su rápida respuesta y tiempo.

Tan pronto como tenga la oportunidad mañana, aplicaré esto.

Estoy bastante seguro de que funcionará.

Una vez más, realmente aprecio su apoyo y experiencia.

@Devtr Bueno, soluciona el problema que tenías. Si obtienes el resultado que deseas, no lo sé.

@Greg_Deckler Necesito tu ayuda de nuevo...

Después de cambiar la medida como se sugiere, la matriz muestra el visual. Pero esta medida muestra solo el total de la columna. Faltan los datos de fila.

Devtr_0-1669300820865.png

Las reservas anteriores tienen algunas reservas que caen bajo los grupos "2" y "6-10". Porque estas reservas se reservaron muchos días antes.

Por lo tanto, faltan algunos de los datos de la reserva anterior.

Gracias por su ayuda y paciencia.

@Devtr Me perdí el enlace de descarga y solo usé las tablas que publicaste, dame un minuto.

Helpful resources

Announcements
November 2022 Update

Check it Out!

Click here to read more about the November 2022 updates!

Microsoft 365 Conference â__ December 6-8, 2022

Microsoft 365 Conference - 06-08 December

Join us in Las Vegas to experience community, incredible learning opportunities, and connections that will help grow skills, know-how, and more.

Top Kudoed Authors