POST 関数を使用すると、売上金額や注文数量などの数値をディメンションに沿って前方または後方にシフト又は移動できます。複数の値がディメンション内の同じターゲット アイテムにオフセットされる場合、POST 関数はそれらを一括で追加します。
POST を使用して、特定のリード タイムでの在庫の倉庫への到着時期を求めることができます。
構文
POST(Value to post, Offset amount [, List])
引数
引数 | データ型 | 説明 |
Value to post | 数値 | ディメンション内のターゲット アイテムにポストする値。 |
Offset amount | 数値 | ディメンション内で前方または後方にオフセットするライン アイテムの数。正か負の数字、又は 0 を使用できます。
|
List (Polaris 専用) | リスト | 関数で操作するリスト。 「計算エンジンの機能の違い」を参照してください。 |
POST 関数は数値を返します。
計算エンジンの機能の違い
- Polaris では、[Formula] での集計方法が設定されているライン アイテムに POST 関数を使用することはできません。Classic エンジンでは使用できます。
- Polaris では、追加の引数を含めることで、どのディメンションに対してでも POST 関数を使用できます。Classic エンジンでは使用できません。追加の引数が含まれていない場合、関数ではデフォルトでディメンションとして時間を使用します。
構文の例
POST(Orders, Lead time)
制約
POST 関数で引数として使用する値の時間範囲は、結果ライン アイテムの時間範囲と同じにする必要があります。
例
シンプルな例
この例では POST 関数を使用することで、「Lead time」ライン アイテムに基づいて各月の「Orders」ライン アイテムをオフセットしています。
Jan 22 | Feb 22 | Mar 22 | Apr 22 | May 22 | Jun 22 | Jul 22 | |
Orders | 50 | 10 | 20 | 70 | 35 | 75 | 50 |
Lead time | 3 | -1 | -2 | 1 | -3 | 0 | -4 |
POST(Orders, Lead time) | 30 | 35 | 50 | 50 | 70 | 75 | 0 |
条件付きオフセットを使用した POST の例
POST 関数と IF THEN ELSE 関数を組み合わせて使用することで条件式を作成できます。ただし、この場合は式内で二つの関数を適切な位置に配置する必要があります。
こちらの例では、別々のライン アイテムに「Value to postと「Offset amount」、及び値をポストするかどうかを決定するブール条件があります。
IF THEN ELSE 内で POST 関数を使用する場合、ブール条件が TRUE であるアイテム内でのみ値がポストされます。ただし、ブール条件に関係なく、Value to post のどの値もポストされる値になりえます。
POST 関数内で IF THEN ELSE を使用する場合、式には Value to post 引数の一部として IF THEN ELSE 関数を含めることができます。これにより、すべてのアイテム内で値がポストされるようになります。ただし、ブール条件が TRUE となる Value to post の値のみがポストされます。
Jan 22 | Feb 22 | Mar 22 | Apr 22 | May 22 | Jun 22 | Jul 22 | |
Value to post | 1 | 2 | 4 | 10 | 20 | 40 | 100 |
Offset amount | 1 | 1 | -1 | 2 | -2 | 1 | -2 |
ブール条件 | true | true | true | true | |||
IF Boolean condition THEN POST(Value to post, Offset amount) ELSE 0 | 0 | 5 | 22 | 0 | 0 | 10 | 0 |
POST(IF Boolean condition THEN Value to post ELSE 0, Offset amount) | 0 | 4 | 2 | 0 | 0 | 10 | 40 |