Ritardo (ritardo) di un valore di riga in base alla data della colonna<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Carissimi,
Vorrei fare un semplice calcolo ma non ci riesco.
La tabella jmp allegata è un sottoinsieme di Hotel Occupancy Data Base.
La logica semplice per l'ID record 27421 è;
nel 14 aprile 2016 250 camere arrivano e effettuano il check-in,
nel 14-15-16 aprile 2016 quelle 250 camere soggiornano presso l'hotel per 3 giorni,
nel 17.04.2015 le 250 camere arrivate il 14 aprile 2016 Check Out (lasciare l'hotel).
Ho bisogno di calcolare la colonna RoomLeave (che ho riempito manualmente per lo scopo)..
L'ID del record è univoco, ma molti più arrivi/soggiorno/uscite si verificano nelle stesse date con ID del record diversi.
Molte grazie in anticipo per il vostro supporto.

Oggetto: ritardare (ritardo) un valore di riga per data di colonnaSì, non ho fornito la formula esatta esatta.Ci sei andato vicino.È il pezzo "Day" che è complicato. Jim ha usato la stessa formula nella sceneggiatura che ha scritto solo che l'ha corretta in quanto hai bisogno delle virgolette intorno a "Day".Con molte formule JMP le opzioni possono essere complicate (generalmente hanno senso una volta che le vedi), quindi trovo che spesso ho bisogno del manuale dell'utente per ottenere tutti i pezzi corretti.
Oggetto: ritardare (ritardo) un valore di riga per data di colonnaGrazie Jim Nelson! Funziona e sì, i dati sono in ordine crescente.
Molte grazie ancora, posso ritirare il mio rapporto.

PS: Purtroppo il 'giorno' devono venire dal Data soggiorno per il ArrivoCamera E CameraNotte ma non si adatta CameraCout che richiede un ritardo di +1 giorno (un ospite non può soggiornare e fare il check-out lo stesso giorno). Acc. secondo la mia logica è impossibile risolverlo in un rapporto tabulato come quello sopra...
Oggetto: ritardare (ritardo) un valore di riga per data di colonnaCaro karen@boulderstats grazie per l'input. O ho sbagliato o la formula stessa dà errore.

Oggetto: ritardare (ritardo) un valore di riga per data di colonnaI dati per ogni RecordID sono sempre raggruppati insieme e in ordine crescente in base a StayDate?
Se lo sono, ecco una formula che funzionerà:
If( :RecordId != Lag( :RecordId ) | Row() == 1,
ar = :ArrivoCamera
);
If( Date Difference( :StayDate, :CheckOutDate, "Day" ) == 1,
ar,
0
);
Oggetto: ritardare (ritardo) un valore di riga per data di colonnaCaro Jim Nelson,
Grazie per l'input fa il lavoro ma ho bisogno di risolverlo con una colonna formula, il database è enorme e si aggiorna ogni minuto.
Oggetto: ritardare (ritardo) un valore di riga per data di colonnaEcco uno script rapido che esegue l'aggiornamento della tabella dei dati che desideri.
Per impostazione predefinita, i nomi sono qui ( 1 );
tt= tabella dati corrente ();
// Crea la colonna RoomLeave e inizializzala
Se ( Tentativo (dt:RoomLeave<< ottenere nome , "" )!= "" , t<< eliminare le colonne ( "Lascia la stanza" ));
Aspettare ( .2 );
dt<< Nuova Colonna ( "Lascia la stanza" , imposta ogni valore( 0 ));
// Trova l'ultima data di soggiorno e la Arrival Room per ogni RecordID
dtsumm = dt << Sommario(invisibile,
Gruppo( :IdRecord ),
Massimo ( :StayDate ),
Massimo ( :Camera Arrivo ),
frequenza( "Nessuno" ),
Peso( "Nessuno" ),
formato nome colonna statistiche( "colonna" )
);
// Cambia ArrivalRoom in RoomLeave
dtsumm:ArrivalRoom << Imposta nome ( "Lascia la stanza" );
// Pulisci la tabella dati per mantenere solo le colonne necessarie
dtsumm << eliminare le colonne ( "N righe" );
// Aggiorna la tabella dati originale con i dati in partenza
// Corrispondenza su RecordID e l'ultima data di soggiorno
dt << Aggiornamento(
Con(dtsumm ),
Corrispondenza colonne( :RecordId = :RecordId, :StayDate = :StayDate )
);
// Elimina la tabella dei dati di riepilogo
vicino ( dtsumm, nosave );
Oggetto: ritardare (ritardo) un valore di riga per data di colonnaLa funzione di differenza di data funzionerebbe per te?
Se Date Difference(CheckOutDate, CheckInDate, Day) = 1 allora room leave = room night, altrimenti 0.