LAG は過去の期間の値を返します。 

LAG を使って、昨年の月間売上と比較した今月の売上を計算できます。 

LAG(Value to offset, Offset amount, Substitute value [, Non-positive behavior])

引数データ型説明
Value to offset数値、ブール値、日付、
時間軸、リスト、又はテキスト
異なる期間の値と置換する値
Offset amount数値

さかのぼって値を取得する期間までの期間数。

正の値は過去の期間、負の値は将来の期間、ゼロは現在の期間を指します。

Substitute valueValue to offset と同じ

Offset amount でモデルの時間範囲外の期間を指定する場合に適用する値。

Non-positive behavior 引数に SEMISTRICT キーワードか STRICT キーワードを使用する場合は負のオフセットでも使用されます。

Non-positive behavior (オプション) キーワードLAG 関数における Substitute value 引数の使用方法を決定します。

LAG 関数は Value to offset 引数と同じデータ型で結果を返します。

キーワード説明
NONSTRICT

Non-positive behavior 引数を省略した場合のデフォルトのキーワードです。

Offset amount が正、負またはゼロの場合に Value to offset を返します。

SEMISTRICTOffset amount が正かゼロの場合に Value to offset を返します。 
STRICTOffset amount が正の場合に Value to offset を返します。

LAG(Value to offset, 2, 0)


JanFebMarAprilMayJune
Value to
offset

  3,000

    1,000

 2,000

 7,000

2,500

3,000
LAG 1        0         0 3,000 1,0002,0007,000

この例では、「LAG 1」ライン アイテムに上記の式があります。つまり、二つ前の期間の値が返されます。

Jan」と「Feb」ではセルの前の二つの期間がモジュールの時間範囲外であるため、式は Substitute value として 0 を返します。関数には Non-positive behavior 引数が含まれていないため、デフォルトの動作は NONSTRICT になります。

LAG で指定した期間がモジュールの時間範囲外である場合、LAG は Substitute value 引数の値を返します。

Polaris では、Offset amount 引数に使用される数値はすべて最も近い整数に丸められます。Offset amount 引数の値が NaN (非数) の場合に Substitute value 引数が返されます。

Classic エンジン:

  • Offset amount 引数に使用される数値はすべて 0 の方向に丸められます。値 NaN は 0 と同等です。
  • 時間ディメンションでのみ LAG 関数を使用できます。Polaris では、バージョンを除くすべてのディメンションで LAG を使用できます。
  • Expression 引数のデータ型がリストか時間軸で、別のデータ型に解決されない場合、結果ライン アイテムでデータ型を同じにする必要があります。

この例では、二つ前の期間から Value to offset を返す式が「Lag by two periods」ライン アイテムにあります。


JanFebMarAprilMayJune
Value to
offset
3,0001,0002,0007,0002,5003,000
Substitute
value
1016125

Lag by two periods

LAG(Value to offset, 2, Substitute value)

1013,0001,0002,0007,000

Offset amount で時間範囲外の期間を指定している場合、LAG は「Jan」列と「Feb」列に表示されている Substitute value の量を返します。

式には Non-positive behavior 引数が含まれていないため、デフォルトの動作である NONSTRICT が使用されます。

この例では、「LAG with constant offset」ライン アイテムに上記の式があります。つまり、各セルの前の二つの期間のライン アイテムが返されます。

Substitute value の量がモデルの時間範囲外にある場合には、「Jan」列と「Feb」列に表示されている、現在の期間の「Value to offset」行の値が使用されます。式には Non-positive behavior 引数が含まれていないため、デフォルトの動作である NONSTRICT が使用されます。


JanFebMarAprilMayJune
Value to
offset
3,0001,0002,0007,0002,5003,000
Substitute
value
1016125

LAG with constant offset

LAG(Value to offset, 2, Substitute value)

1013,0001,0002,0007,000

この例では、Non-positive behavior 引数のキーワードの違いによって結果がどのように変わるかがわかります。


JanFebMarchAprilMayJune
Value to
offset
123456
Offset
amount
0-10101
Substitute
value
100200300400500600

Semistrict behavior

LAG(Value to offset, Offset amount, Substitute value, SEMISTRICT)

12003355

Strict behavior

LAG(Value to offset, Offset amount, Substitute value, STRICT)

10020030035005

Nonstrict behavior

LAG(Value to offset, Offset amount, Substitute value, NONSTRICT)

133355