例: 支払い単価用数式の作成
分かりやすくするために、例では用語にカンマ区切り文字を使用しています。ブラウザの設定によっては、セミコロンで区切る必要があります。
この例では、支払い単価の数式は、前提条件である
"昇給月"
および"昇給率"
(%) に入力された値を参照します。支払い単価の計算について理解しておくべき事項:
- "支払い単価" 列は、月次差額が蓄積される初期の残高 (ストック) 要素です。つまり、プランニング側から入力されたデータは、その後、バージョン内のすべての期間に繰り越されます。この要素に対する計算結果はこの科目の前月の残額に追加されます。
- の IF ステートメントの構文Adaptive PlanningExcel とは以下のように異なります。
- Adaptive Planning例:if(ACCT.A6=1 and ACCT.B6=0,X,0)
- Excel の例:if(and(A6=1, B6=0),X,0)
- 支払い単価関連の計算には、時間に関する参照が 3 種類あります。各参照により、バージョン内の各月に番号が割り当てられます。この番号は、日付列をバージョン内の割当済の月番号と比較する際に使用できます。
- Month (月): 各月は、暦年に基づいて (1 ~ 12 の) 番号が割り当てられます。この割当は、バージョン全体を通して繰り返されます。
- Fiscalmonth (会計月): 各月は、会社の会計年度に基づいて (1 ~ 12 の) 番号が割り当てられます。この割当は、バージョン全体を通して繰り返されます。
- Versionmonth (バージョン月): 各月に単一の番号が割り当てられます。バージョンの最初の月は「0」です。この番号は (繰り返されることなく) 経時的に継続していきます。正数は、今後の月、負数 (-) は過去の月を示します。
支払い単価の計算は以下のとおりです。
IF((VersionMonth(this) > 0) AND ROW.Headcount>0 AND (((VersionMonth(this) - VersionMonth(ROW.StartDate) > 1) AND ASSUM.RaiseMonth = 0 AND FiscalMonth(this) = FiscalMonth(ROW.StartDate)) OR (ASSUM.RaiseMonth = Month(this))), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
この計算内の各ステートメントの詳細内容を以下の表で説明しています。
ステートメント | 説明 |
|---|---|
VersionMonth(this)>0
| このステートメントは、バージョン全体で任意の指定された期間において割り当てられた月番号が、実際にバージョンの最初の月の後であるかを確認するものです。これにより、バージョンの最初の月に昇給が発生することを回避することができます。ここでは、最初の月に従業員の給与が初期給与として入力されていると仮定しています。 |
ROW.Headcount>0
| 従業員が、支給レートの昇給が適用されるべき雇用状態であることを確認します。 Headcount 従業員の開始日と終了日の列に基づきます。これは、次の結果を返すバイナリ トリガーです。 0 または 1 従業員が各期間に雇用中であったこと (または雇用されていなかったこと) を示します。 |
VersionMonth(this)-VersionMonth(ROW.StartDate)>1
| 従業員の雇用開始日以前に昇給が適用されることを避けるため、毎月この数式が適用され、確認されます。設定 VersionMonth 各期間に割り当てられた値が、 VersionMonth が社員の開始日に割り当てられている。差が「1」より大きい (該当期間が従業員の雇用開始後の) 場合、その他のすべてが満たされていれば、従業員は昇給を受けることができます。 and ステートメントが満たされている。 |
ASSUM.RaiseMonth = 0
| 毎月以下のことを確認します。 RaiseMonth 次の前提条件 0 。年次昇給の場合、昇給月には「0」となります。 |
FiscalMonth(this)=FiscalMonth(ROW.StartDate)
| それぞれをチェック FiscalMonth 割り当てられた値と比較します FiscalMonth 日:例: 従業員の開始日の日付 8/12/2016 組織の会計年度が暦年と同じで、割当月が FiscalMonth(ROW.StartDate) は 8 になります。毎年 1 月 FiscalMonth(this) を返す 1 。2 月の戻り値 2 その他この数式は次の場合にのみ真です。 FiscalMonth は次の値と同じです: FiscalMonth 従業員の雇用開始日から。この方法で、いかなる年であっても、毎年定例の日付に関する計算ができます。 |
ASSUM.RaiseMonth = Month(this)
| 入力した番号が正しいことを確認します。 RaiseMonth この前提条件は現在の月番号と一致します。たとえば、2017 年 4 月に昇給を設定する場合、 4 前提条件内 RaiseMonth 2017 年 4 月 |
ROW.PayRate[time=THIS-1]*ASSUM.RaisePct
| 「true」句の定義です。前の記述が真であれば (すべての and ステートメントと次のいずれかを選択する or ステートメント) に一致する場合、すべて IF 条件が満たされており、昇給 (ASSUM.PaisePct ) が適用されている。設定 PayRate 数式 a は前の期間を参照 [time=THIS-1] (当期ではなく)その理由は、以下のとおりです。
|
0
| 「false」句の定義です。次の 1 つ (または複数) の場合 IF 条件が満たされていない場合、昇給は 0 残数には何も追加されません。 |
この数式を文章にすると、以下のとおりです。
「この月がこの予算バージョン内の月にあたり、この従業員は雇用中の状態であり、現在の期間がこの従業員の雇用開始日より後であり、前提条件にゼロの値があり、今月が従業員の雇用開始日と同じであるか、前提条件の当月の月番号と今月の月番号が一致する場合、昇給が与えられます。それ以外の場合は、昇給は与えられません。」
代替昇給オプション
通常、組織は、昇給月
あるいは
入社月日を基準に昇給を提供しません。ほとんどの組織では、これまでに説明された昇給計算でなく、よりシンプルなバージョンを使用します。オプション 1:
昇給月に昇給を提供する場合、数式は以下のとおりです。if(VersionMonth(this)>0 and ROW.Headcount>0 and VersionMonth(this)-VersionMonth(ROW.StartDate)>1 and ASSUM.RaiseMonth=fiscalmonth(this), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0
この計算での変更点は以下のとおりです。
ステートメント | 説明 |
|---|---|
ROW.Headcount>0
| 以前と同様、 Headcount 値が次の値と等しくなるのではなく、ゼロより大きい値にしてください 1 。これにより、特定の行において、人員が 1 人に満たない場合の分割従業員のすべての行での計算が機能します。 |
ASSUM.RaiseMonth=FiscalMonth(this)
| 設定 RaiseMonth が会社の会計月と比較される。これにより、暦年に強制されることなく、会社の会計年度に基づいて前提条件を満たす従業員が考慮されます。 |
fiscalmonth(this) = fiscalmonth(ROW.StartDate)) or ASSUM. RaiseMonth = Month(this)
| いいえ or 入社月日の明細。昇給は昇給月にのみ適用されます。 |
オプション 2:
昇給日が毎年定例の場合、数式は以下のとおりです。if(VersionMonth(this)> 0 AND ROW.Headcount>0 AND VersionMonth(this)-VersionMonth(ROW.StartDate)> 1 AND FiscalMonth(this)=FiscalMonth(ROW.StartDate), ROW.PayRate[time=THIS-1]*ASSUM.RaisePct, 0)
追加の支払い単価オプションについては 、数式例: 従業員の支払い単価の計算を 参照してください。