LEAD は将来の期間の値を返します。
LEAD を使って、来年のこの月の予想月間売上と比較した今月の売上を計算できます。
構文
LEAD(Value to offset, Offset amount, Substitute value [, Non-positive behavior])
引数
引数 | データ型 | 説明 |
Value to offset | 数値、ブール値、日付、 時間軸、リスト、又はテキスト | 異なる期間の値と置換する値 |
Offset amount | 数値 | 値を取得する期間までの期間数。 正の値は将来の期間、負の値は過去の期間、ゼロは現在の期間を指します。 |
Substitute value | Value to offset と同じ | Offset amount でモデルの時間範囲外の期間を指定する場合に返す値。 Non-positive behavior 引数に SEMISTRICT キーワードか STRICT キーワードを使用する場合は負のオフセットでも使用されます。 |
Non-positive behavior (オプション) | キーワード | LEAD 関数における Substitute value 引数の使用方法を決定します。 キーワードは NONSTRICT、SEMISTRICT、STRICT です。以下の「Non-positive behavior のキーワード」セクションにはさらに詳しい情報があります。 |
LEAD 関数は Value to offset 引数と同じデータ型で結果を返します。
Non-positive behavior キーワード
キーワード | 説明 |
NONSTRICT | Non-positive behavior 引数を省略した場合のデフォルトのキーワードです。 Offset amount が正、負またはゼロの場合に Value to offset を返します。 |
SEMISTRICT | Offset amount が正かゼロの場合に Value to offset を返します。 |
STRICT | Offset amount が正の場合に Value to offset を返します。STRICT モードでは、現在の期間ではなく将来に LEAD が適用されます。シフトが 0 未満の場合、又は将来の期間がモデルの時間範囲外の場合、フィル値が返されます。 |
計算エンジンの機能の違い
Polaris では、Offset amount 引数に使用される数値はすべて最も近い整数に丸められます。Offset amount 引数の値が NaN (非数) の場合に Substitute value 引数が返されます。
Classic エンジン:
- Offset amount 引数に使用される数値はすべて 0 の方向に丸められます。値 NaN は 0 と同等です。
- 時間ディメンションでのみ LEAD 関数を使用できます。Polaris では、バージョンを除くすべてのディメンションで LEAD を使用できます。
構文の例
LEAD(Value to offset, 2, 0)
この例では、「LEAD 1」ライン アイテムが各セルの後の二つの期間の値を返します。セルの後の二つの期間がモジュールの時間範囲外である場合、式は「June」列にあるとおり、0 の Substitute value を返します。関数には Non-positive behavior 引数が含まれていないため、デフォルトの動作は NONSTRICT になります。
Jan | Feb | March | April | May | June | |
Value to offset | 1 | 2 | 3 | 4 | 5 | 6 |
LEAD 1 | 3 | 4 | 5 | 6 | 0 | 0 |
追加情報
LEAD で指定した期間がモジュールの時間軸外である場合、LEAD は Substitute value 引数の値を返します。
例
例 1
LEAD(Value to offset, 2, Substitute value)
この例では、「LEAD 2」ライン アイテムが各セルの後の二つの期間のライン アイテムを返します。セルの後の二つの期間がモジュールの時間範囲外である場合、式は Substitute value を返します。この式は Substitute value の「May」列と「June」列に含まれる 500 と 600 の値を返します。関数には Non-positive behavior 引数が含まれていないため、デフォルトの動作は NONSTRICT になります。
Jan | Feb | March | April | May | June | |
Value to offset | 1 | 2 | 3 | 4 | 5 | 6 |
Substitute value | 100 | 200 | 300 | 400 | 500 | 600 |
LEAD 2 | 3 | 4 | 5 | 6 | 500 | 600 |
例 2
LEAD(Value to offset, Offset amount, Substitute value, [non-positive behavior])
この例では、「LEAD 3」ライン アイテムが Offset amount で指定した期間の Substitute value を返します。 Substitute value でモジュールの時間範囲外の期間を指定している場合、式は Substitute value を返します。つまり、この式は Substitute value の「June」列にある 600 の値を返します。関数には Non-positive behavior 引数が含まれていないため、デフォルトの動作は NONSTRICT になります。
Jan | Feb | March | April | May | June | |
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 |
LEAD 3 | 1 | 1 | 3 | 5 | 5 | 600 |
例 3
LEAD(Value to offset, Offset amount, Substitute value, [, Non-positive behavior])
この例では、Non-positive behavior のキーワードの違いによって結果がどのように変わるかがわかります。
Jan | Feb | March | April | May | June | |
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 |
LEADSEMISTRICT | 1 | 200 | 3 | 5 | 5 | 600 |
LEADSTRICT | 100 | 200 | 300 | 5 | 500 | 600 |
LEADNONSTRICT | 1 | 1 | 3 | 5 | 5 | 600 |