メインコンテンツまでスキップ
Adaptive Insights
Knowledge @ Adaptive Insights LLC, a Workday Company

数式の例: 支払い単価数式の分析 - 詳細なウォークスルー

支払い単価の数式の例を示し、数式を構成する各ステートメントをステップごとに説明します。

このトピックでは、個人モデルシートで使用される支払い単価の計算について詳述します。  初期数式では、従業員は特定の昇給月においてか、または各人の毎年の定例日に、年次昇給を受領することが前提条件になっています。この数式の代替数式についても、このトピックで取り上げます。

この例では、支払い単価数式は、前提条件の昇給月および昇給率(パーセント)1に入力された値を参照します。

支払い単価の計算について理解しておくべき事項: 

  • [支払い単価] 列は、月次差額別に計画された初期残高(累積)要素です。つまり、計画サイドから入力されたデータは、その後、バージョン内のすべての期間に繰り越されるということです。この要素に対して行う計算は、科目内の前月の残高に追加されます。’
  •  Adaptive PlanningのIFステートメントは、次のように、Excelのものとは異なります。 
    • Adaptive Planningの例: if(ACCT.A6=1 and ACCT.B6=0,X,0)
    • Excelの例: if(and(A6=1, B6=0),X,0)
  • 支払い単価の計算には3つの基本期間参照があります。各参照は、バージョン内の各月に番号を割り当てます。バージョン内の割り当て済みの月番号に照らして日付列を比較するのに、この参照を使用できます。 
    • : 各月には、カレンダー年に従って番号(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 このステートメントは、バージョン全体の中の特定の期間において割り当てられた月番号が、実際にバージョンの最初の月の後であるかどうかをチェックします。 このステートメントは、このバージョンより前の昇給がAdaptive Planningで計算されないようにします。そのような計算は、数式のエラーの原因となります。
ROW.Headcount>0  従業員が、支払い単価の増額を適用される雇用の状態にあることを検証します。Headcount は、従業員の雇用の開始と終了の列をベースにします。 これは、結果が0または1になるバイナリトリガーであり、従業員が各期間中に雇用中であった(または、なかった)ことを示します。
VersionMonth(this)-VersionMonth(ROW.StartDate)>1 数式を適用される各月をチェックします。従業員の雇用開始後まで、給与の増額が適用されないようにします。 各期間に割り当てられたVersionMonthは、従業員の雇用開始日に割り当てられた固有のVersionMonth に照らしてチェックされます。差が1より大きい(従業員の雇用開始の後で期間が発生した)場合、 従業員は昇給を得ることができます。ただし、他のすべてのandステートメントが満足された場合に限ります。 
ASSUM.RaiseMonth = 0 各月をチェックして、RaiseMonth前提条件が0であるかどうかを確認します。 定期昇給の場合、昇給月はゼロでなければなりません。 
FiscalMonth(this)=FiscalMonth(ROW.StartDate) FiscalMonthをチェックし、従業員の雇用開始日の割り当て済みFiscalMonth と比較します。たとえば、従業員の雇用開始日が8/12/2016であり、’会社の会計年度がカレンダー年度と同じである場合、FiscalMonth(ROW.StartDate)に割り当てられる月は8となります。毎年1月には、FiscalMonth(this)1を戻します。2月には2を戻し、以後同じように続きます。これがtrueなのは、 FiscalMonthが、従業員の雇用開始日のFiscalMonthと同じ場合のみです。この方法で、前年度と比べて、毎年定例の日付で何かを計算することができます。
ASSUM.RaiseMonth = Month(this)

RaiseMonth前提条件に入力された番号が、現在月の番号に一致することがチェックして確認されます。 たとえば、2017年の4月の昇給を希望する場合、4 を2017年4月の前提条件RaiseMonthに入れます。

ROW.PayRate[time=THIS-1]*ASSUM.RaisePct

True句を定義します。 前のステートメントがtrueの場合(すべてのandステートメントおよびor ステートメントのうちの1つ)、すべてのIF条件が満足されるので、 昇給(ASSUM.PaisePct)が適用されます。

PayRate数式は、現在の期間ではなく 直前の期間[time=THIS-1]を参照します。その理由は次のとおりです。

  • PayRate計算は、初期残高要素です。これは、計画サイドから列に入力された残高を先に繰り越します(直前の月にプラス)。 ここで説明しているもののような数式が初期残高要素内にある場合、それは前月への加算として計算されます。 
  • 初期残高要素は、自動的に残高を繰り越して、新規の計算値をすべてそれに加算するので、現在の月で評価されるすべてのものも組み入れられます。したがって、循環参照を避けるため、増額は前月の支払い単価の残高をベースにします。’
0 False句を定義します。 IF条件のうちの1つ(以上)が満足されない場合、昇給は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)

追加の支払い単価オプションの詳細については、「 Formula Examples - Personnel, Pay Rate Calculations(数式の例 - 人事部、支払い単価の計算)」を参照してください。

  • この記事は役に立ちましたか?