LAG では、指定されたディメンション内の前の位置から値が返されます。
LAG を使って、昨年の月間売上と比較した今月の売上を計算できます。
構文
LAG(Value to offset, Offset amount, Substitute value[, Non-positive behavior[, List]])
引数
| 引数 | データ型 | 説明 |
| Value to offset | 数値、ブール値、日付、 時間軸、リスト、又はテキスト | 異なる期間の値と置換する値 Classic エンジンでの数値以外の引数の使用については、「計算エンジンの機能の違い」セクションを参照してください。 |
| Offset amount | 数値 | 現在の参照値から移動する位置の数:
|
| Substitute value | Value to offset と同じ | Offset amount で現在の参照値外または参照値を超える位置を指定する場合に返す値。 Non-positive behavior 引数に SEMISTRICT キーワードか STRICT キーワードを使用する場合は負のオフセットでも使用されます。 |
| Non-positive behavior (オプション) | キーワード | LAG 関数における Substitute value 引数の使用方法を決定します。 |
| List (Polaris 専用) | リスト | 関数で操作するリスト。ターゲット ライン アイテムは、このリストと互換性のあるディメンションでディメンション化されている必要があります。 リストで LAG を使用するには、Non-positive behavior キーワードを指定する必要があります。 「計算エンジンの機能の違い」を参照してください。 |
LAG 関数は Value to offset 引数と同じデータ型で結果を返します。
List 引数は必須ではありません。省略した場合、関数はデフォルトで時間ディメンションを使用します。含まれている場合は、ライン アイテムと互換性のある任意のディメンションを使用できます。
Non-positive behavior キーワード
| キーワード | 説明 |
NONSTRICT | Non-positive behavior 引数を省略した場合のデフォルトのキーワードです。 Offset amount が正、負またはゼロの場合に Value to offset を返します。 |
SEMISTRICT | Offset amount が正かゼロの場合に Value to offset を返します。 |
STRICT | Offset amount が正の場合に Value to offset を返します。 |
計算エンジンの機能の違い
Polaris:
- Offset amount 引数に使用される数値はすべて最も近い整数に丸められます。Offset amount 引数の値が NaN (非数) の場合に Substitute value 引数が返されます。
- バージョンを除くすべてのディメンションで LAG を使用できます。Classic エンジンでは、時間ディメンションでのみこの関数を使用できます。
Classic エンジン:
- 数値以外の Value to offset 引数を使用できますが、これは Offset amount が定数の場合に限られます。それ以外の場合はエラー メッセージが表示されます。
- Offset amount 引数に使用される数値はすべて 0 の方向に丸められます。値 NaN は 0 と同等です。
構文の例
LAG(Value to offset, 2, 0)
追加情報
LAG で指定した期間がモジュールの時間範囲外である場合、LAG は Substitute value 引数の値を返します。
例
さまざまな Non-positive behavior キーワードの例
この例では、Non-positive behavior 引数のキーワードの違いによって結果がどのように変わるかがわかります。
| Jan | Feb | Mar | Apr | May | Jun | |
| Value to offset | 1 | 2 | 3 | 4 | 5 | 6 |
| Offset amount | 0 | -1 | 0 | 1 | 0 | 1 |
| Substitute value | 100 | 200 | 300 | 400 | 500 | 600 |
Semistrict behavior
| 1 | 200 | 3 | 3 | 5 | 5 |
Strict behavior
| 100 | 200 | 300 | 3 | 500 | 5 |
Nonstrict behavior
| 1 | 3 | 3 | 3 | 5 | 5 |
一般的な例
この例では、二つ前の期間から Value to offset を返す式が「Lag by two periods」ライン アイテムにあります。
| Jan | Feb | Mar | Apr | May | Jun | |
| Value to offset | 3,000 | 1,000 | 2,000 | 7,000 | 2,500 | 3,000 |
| Substitute value | 10 | 1 | 6 | 1 | 2 | 5 |
Lag by two periods
| 10 | 1 | 3,000 | 1,000 | 2,000 | 7,000 |
Offset amount で時間範囲外の期間を指定している場合、LAG は「Jan」列と「Feb」列に表示されている Substitute value の量を返します。
式には Non-positive behavior 引数が含まれていないため、デフォルトの動作である NONSTRICT が使用されます。
サプライチェーンのリードタイム キャッシュ アウトフロー
2 か月の遅延 (ラグ) によって在庫発注額を前倒しするキャッシュ アウトフロー計画を作成し、その遅延によって現在のプランニング年の 1 月より前になる場合は 0 を返します。
キャッシュ アウトフロー モジュール
以下のプロパティを含む「Supplier Payment Forecasting」モジュールを作成します。
- 列:時間 (月単位)
- 行:ライン アイテム
- Inventory Orders Placed (数値形式)
- Lead Time Offset (数値形式)
- Projected Cash Outflow (数値形式)
すべての月で「Lead Time Offset」を 2 に設定し、「Inventory Orders Placed」ライン アイテムにサンプル注文の値を入力します。
| Jan | Feb | Mar | Apr | May | |
| Inventory Orders Placed | 50,000 | 80,000 | 60,000 | 40,000 | 90,000 |
| Lead Time Offset | 2 | 2 | 2 | 2 | 2 |
Projected Cash Outflow
| 0 | 0 | 50,000 | 80,000 | 60,000 |