Retraso (retraso) de un valor de fila por fecha de columna<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Estimados,
Quisiera hacer un calculo sencillo pero no puedo.
La tabla jmp adjunta es un subconjunto de la base de datos de ocupación hotelera.
La lógica simple para el ID de registro 27421 es;
en 14 abr 2016 250 habitaciones llegan y se registran,
en 14-15-16 Abr 2016 esas 250 Habitaciones se quedan en el hotel por 3 dias,
en 17.04.2015 las 250 Habitaciones que llegaron el 14 de abril de 2016 Check Out (Salir del hotel).
Necesito calcular la columna RoomLeave (que llené manualmente para ese propósito).
El ID de registro es único, pero se producen muchas más llegadas/estancias/salidas en las mismas fechas con diferentes ID de registro.
Muchas gracias de antemano por cualquiera de su apoyo.

Re: Retraso (retraso) de un valor de fila por fecha de columnaSí, no proporcioné la fórmula correcta exacta.Te acercaste.Es la pieza del "Día" la que es complicada. Jim usó la misma fórmula en el guión que escribió, solo que lo tiene correcto en el sentido de que necesita las comillas alrededor de "Día".Con muchas fórmulas de JMP, las opciones pueden ser complicadas (generalmente tienen sentido una vez que las ves), por lo que a menudo necesito el manual del usuario para obtener todas las piezas correctas.
Re: Retraso (retraso) de un valor de fila por fecha de columna¡Gracias Jim Nelson! Funciona y sí, los datos están en orden ascendente.
Muchas gracias de nuevo, puedo sacar mi informe.

PD: Desafortunadamente, el 'día' tiene que venir de la Fecha de estancia Para el LlegadaHabitación y HabitacionNoche pero no sirve para RoomCout que necesita un retraso de +1 día (Un huésped no puede quedarse y hacer el Check Out el mismo día). Cuenta según mi lógica, es imposible resolverlo en un informe tabulado como el de arriba ...
Re: Retraso (retraso) de un valor de fila por fecha de columnaEstimado karen@boulderstats Gracias por la aportación. O lo hice mal o la fórmula misma da error.

Re: Retraso (retraso) de un valor de fila por fecha de columna¿Los datos de cada RecordID están siempre agrupados y en orden ascendente según StayDate?
Si es así, aquí hay una fórmula que funcionará:
If( :RecordId != Lag( :RecordId ) | Fila() == 1,
ar = :HabitaciónLlegada
);
Si (Diferencia de fecha (: Fecha de estadía,: Fecha de salida, "Día") == 1,
Arkansas,
0
);
Re: Retraso (retraso) de un valor de fila por fecha de columnaEstimado Jim Nelson,
Gracias por la entrada, hace el trabajo, pero necesito resolverlo con una columna de fórmula, la base de datos es enorme y se actualiza cada minuto.
Re: Retraso (retraso) de un valor de fila por fecha de columnaAquí hay un script rápido que realiza la actualización de la tabla de datos que desea.
Los nombres predeterminados aquí ( 1 );
dt= tabla de datos actual ();
// Crea la columna RoomLeave e inicialízala
Si ( Intentar (dt:SalirHabitación<< obtener nombre , "" )!= "" , dt<< borrar columnas ( "Salir de la habitación" ));
esperar ( .2 );
dt<< Nueva columna ( "Salir de la habitación" , establezca cada valor ( 0 ));
// Encuentre la última fecha de estadía y la Sala de llegada para cada RecordID
dtsumm = dt << Resumen (invisible,
Grupo (: ID de registro),
máx. ( :FechaEstancia ),
máx. ( :HabitaciónLlegada ),
frecuencia( "Ninguno" ),
Peso( "Ninguno" ),
formato de nombre de columna de estadísticas ( "columna" )
);
// Cambiar el ArrivalRoom a RoomLeave
dtsumm:HabitaciónLlegada << Escoger un nombre ( "Salir de la habitación" );
// Limpiar la tabla de datos para mantener solo las columnas necesarias
dtsumm << borrar columnas ( "N filas" );
// Actualizar la tabla de datos original con los datos de salida
// Coincidencia en el RecordID y la última fecha de estadía
dt << Actualizar(
Con (dtsumm),
Coincidencia de columnas ( :RecordId = :RecordId, :StayDate = :StayDate )
);
// Eliminar la tabla de datos de resumen
cerca (dtsumm, nosave);
Re: Retraso (retraso) de un valor de fila por fecha de columna¿Te funcionaría la función de diferencia de fechas?
Si la diferencia de fecha (fecha de salida, fecha de entrada, día) = 1, entonces la licencia de la habitación = noche de la habitación, de lo contrario, 0.