列の日付による行の値の遅延(ラグ)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />親愛なるみんな、
簡単な計算をしたいのですが、できません。
添付のjmpテーブルは、Hotel OccupancyDatabaseのサブセットです。
レコードID27421の単純なロジックは次のとおりです。
2016年4月14日、250室の客室が到着し、チェックインします。
2016年4月14-15-16日に、これらの250室の客室がホテルに3日間滞在します。
2015年4月17日、2016年4月14日に到着した250室のチェックアウト(ホテルを出る)。
RoomLeave列を計算する必要があります(目的のために手動で入力しました)。
レコードIDは一意ですが、異なるレコードIDを使用して、同じ日にさらに多くの到着/滞在/出発が発生します。
何卒よろしくお願い申し上げます。

Re:列の日付による行の値の遅延(ラグ)はい、正確な式を提供していません。あなたは近づいた。トリッキーなのは「Day」の作品です。 ジムは、彼が書いたスクリプトで同じ式を使用しましたが、「日」の前後に引用符が必要であるという点で正しいだけです。多くのJMP数式では、オプションが難しい場合があります(通常、それらを見ると意味があります)。そのため、すべての要素を正しくするために、ユーザーマニュアルが必要になることがよくあります。
Re:列の日付による行の値の遅延(ラグ)ジム・ネルソン、ありがとう! それは機能し、はい、データは昇順です。
再度感謝します、私は私の報告を引き出すことができます。

PS: 残念ながら'日'から来なければならないStayDateのためにArrivalRoomとRoomNightしかし、適合しませんRoomCout +1日の遅延が必要です(ゲストは同じ日に滞在してチェックアウトすることはできません)。 Acc。私の論理では、上記のような1つの表形式のレポートでそれを解決することは不可能です...
Re:列の日付による行の値の遅延(ラグ)親愛なるkaren @ boulderstatsご入力ありがとうございます。 私が間違ったことをしたか、数式自体がエラーになります。

Re:列の日付による行の値の遅延(ラグ)各RecordIDのデータは常にグループ化され、StayDateに基づいて昇順で表示されますか?
もしそうなら、これがうまくいく式です:
If(:RecordId!= Lag(:RecordId)| Row()== 1、
ar =:ArrivalRoom
);
If(Date Difference(:StayDate、:CheckOutDate、 "Day")== 1、
ar、
0
);
Re:列の日付による行の値の遅延(ラグ)親愛なるジム・ネルソン、
それが仕事をする入力をありがとう、しかし私はそれを数式列で解決する必要があります、データベースは巨大で、毎分それ自身を更新します。
Re:列の日付による行の値の遅延(ラグ)これは、必要なデータテーブルの更新を実行する簡単なスクリプトです。
名前のデフォルトはここです(( 1 );
dt =現在のデータテーブル();
// RoomLeave列を作成し、初期化します
もしも((試す(dt:RoomLeave <<名前を取得、 "" )!= "" 、dt <<列を削除する(( 「RoomLeave」 ));
待つ(( .2 );
dt <<新しい列(( 「RoomLeave」 、各値を設定します( 0 ));
//各RecordIDの最終滞在日と到着室を検索します
dtsumm = dt <<まとめ(見えない、
Group(:RecordId)、
マックス(:StayDate)、
マックス(:ArrivalRoom)、
Freq( "なし" )、
重さ( "なし" )、
統計列名format( "桁" )。
);
//ArrivalRoomをRoomLeaveに変更します
dtsumm:ArrivalRoom <<セット名(( 「RoomLeave」 );
//データテーブルをクリーンアップして、必要な列のみを保持します
dtsumm <<列を削除する(( 「N行」 );
//元のデータテーブルをLeavingデータで更新します
//RecordIDと最後の滞在日での一致
dt <<アップデート(
With(dtsumm)、
一致列(:RecordId =:RecordId、:StayDate =:StayDate)
);
//サマリーデータテーブルを削除します
近い(dtsumm、nosave);
Re:列の日付による行の値の遅延(ラグ)日付差関数は機能しますか?
Date Difference(CheckOutDate、CheckInDate、Day)= 1の場合、部屋の休暇=部屋の夜、それ以外の場合は0です。