RECOFFSET( ) 関数
構文
RECOFFSET(フィールド, レコードの数)
パラメーター
名前 | 種類 | 説明 |
---|---|---|
フィールド |
文字 数値 日付時刻 |
値を取得するフィールドの名前。 |
レコードの数 | 数値 |
現在のレコードから数えたレコード数。現在のレコードより後のレコードを指定する場合は正の数、現在のレコードより前のレコードを指定する場合は負の数にします。 |
出力
文字、数値、または日付時刻。戻り値は、入力のフィールド パラメーターと同じデータ カテゴリに属します。
例
基本的な例
次のレコードの Amount 値が返されます。
RECOFFSET(Amount,1)
前のレコードの Amount 値が返されます。
RECOFFSET(Amount, -1)
高度な例
演算フィールド内で RECOFFSET を使用する
演算フィールド Next_Amount には、次のレコードが同じ顧客番号である場合に限り、次のレコードの Amount フィールドの値が表示されます。
この演算フィールドをスクリプトで定義するには、次の構文を使用します。
DEFINE FIELD Next_Amount COMPUTED RECOFFSET(Amount,1) IF RECOFFSET(Customer,1) = Customer 0
次のレコードの顧客番号が現在のレコードの顧客番号と同じ場合に限り、Next_Amount は次のレコードの Amount フィールドの値になります。そうでない場合、Next_Amount には値ゼロが割り当てられます。
備考
RECOFFSET( ) 関数は現在のレコードを基準にして、指定された前後 n 番目にあるレコードのフィールド値を返します。
RECOFFSET( ) の使用に適する場面
この関数は高度な比較テストを行う場合によく使用されます。
この関数は、現在のレコードのフィールドと別のレコードのフィールドで値を比較するために使用できます。たとえば、現在のレコードの金額と前のレコードの金額の差額を計算する演算フィールドを追加する場合などに使用します。
テーブルの開始または終了位置
この関数では、フィールドにテーブルの開始または終了位置を指定した場合、数値フィールドに対してはゼロ、文字フィールドに対しては空白の文字列、日付フィールドに対しては 1900/01/01 が返されます。現在のレコードと比較するレコードがそれ以上存在しないため、このような場合には、関数は空白の出力を返します。