メインコンテンツまでスキップ

logoCorrectSize.png

Looks like this logo isn't being used anymore since we started using the new CSS to make our documentation look like our product UI.

Knowledge @ Adaptive Insights LLC, a Workday Company

数式の関数

数学、論理、日付、時間、文字列関数を含め、数式の作成で使用できる関数の詳細な構文を示します。

算定方式の関数は、4つのカテゴリ(数学、論理、文字列、日付)に分類されます。このトピックで各関数とその簡単な説明を定義します。

フォーミュラアシスタントのヘルプ  をクリックすると、使用可能な関数が表示されます。

数学関数

基本的な数学関数は、ボタンとして使用できます。たとえば、加算(+)、減算(-)、乗算(*)などがあります。その他の数学関数は 、[関数] > [数学] で使用できます。

簡潔にするために、このセクションのは、実際の数字を使用して数式を示しますが、数値 を持つ科目参照または修飾子で数学関数を作成できます。例: Div(ACCT.CostOfGoodsSold,ACCT.Inventory)

構文 説明
%

モジュロ演算(%)では、1つの数字をもう一方の数字で除算したときに発生する剰余を算出します。
例: 7%2 is 1, 8%3 is 2, and 9%3 is 0

Div (N,D)

分子(N)を分母(D)で割り、商を返します。分母がゼロであれば、ゼロが返ります(未定義ではなく)。 
例: Div (6,2) is 3, Div (4,0) is 0.

Div演算子ではなく、除算記号(/)を使用できますが、推奨されません。 Div演算子を使用することで、分母がゼロのときに発生することがある数式エラーを防ぐことができます。 

Divf (N,D)

Div 関数の"「速く」"または近回りで処理できる形式です。Divと同じ値が返ります。ただし、分母がゼロの場合分子は評価されないので、標準のDivよりも迅速に関数が実行されます。ただし、分子は循環ループまたは他の内部エラーに陥る可能性がありますが、分母がゼロである限り、有効な結果(ゼロ)が得られます。

Round (N)

数値(N)を直近の整数に丸めます。
例: Round (7.8)8Round (2.1)2

Trunc (N)

小数点で数字を切り捨てます。 
例: Trunc (3.14)3

Floor (N)

N以下でNに最も近い 整数が返ります。この関数は、正の整数のTrunc () と同じです。  
例:  Floor(1.897)1

Ceil (N)

N以上でNに最も近い整数が返ります。 

例: Ceil(1.897)2

Power (N,E) E)の累乗の数値(N)が返ります。 
例: Power (2,4)16
Ln(N)

数値(N)の自然対数(Ln)が返ります。
例: Ln (2) 0.69(小数第二位で丸め)

Greatest (N1, N2, ...)

リスト(N1,N2...)で最も大きな値が返ります。
例: Greatest (75, 32, 18, 24)75

Least (N1, N2, ...)

 リスト(N1,N2...)中の最小番号を戻します。
例: Least (75, 32, 18, 24)18

Spread445 (N, M)

番号(N)の一部を戻します。これは、445ルールに従って数か月(M)にまたがって広がる場合、
現在の月に属します。Mを省略すると12が使用されます。

例:

  • 1月のSpread445 (1300,12) 100を返し、結果は(1300/52)*4
  • 3月のSpread445 (1300,12)125を返し、結果は(1300/52)*5
Spread454 (N, M)

番号(N)の一部を戻します。これは、445ルールに従って数か月(M)にまたがって広がる場合、
454ルールは、現在の月に属します。Mを省略すると12が使用されます。

例:

  • 1月のSpread454 (1300,12)100を返し、結果は(1300/52)*4
  • 2月のSpread454 (1300,12) 125を返し、結果は(1300/52)*5
  • 3月のSpread454 (1300,12)100を返し、結果は(1300/52)*4
Spread544 (N, M)

番号(N)の一部を戻します。これは、445ルールに従って数か月(M)にまたがって広がる場合、
544 ルールは、現在の月に属します。Mを省略すると12が使用されます。

例:

  • 1月のSpread544 (1300,12)125を返し、結果は(1300/52)*5
  • 3月のSpread544 (1300,12)100を返し、結果は(13000/52)*4
Npv (discount_rate, value1, value2, ..., valueN)

一連のキャッシュフローの純現在価値を指定の割引率で返します。
科目の期間は値のセットとして使用されることがあります。 

例: 
数式が以下の場合: NPV(0.1,ACCT.CF[time=this:this+11]

ACCT.CF数式参照は、単一の合計値ではなく、12個の別々の値であると解釈されます。これは、入力: NPV(0.1, ACCT.CF[time=this], ACCT.CF[time=this+1], ..., ACCT.CF[time=this+12])に相当するものです。

Irr (value1, value2, ..., valueN, estimated_irr)

一連のキャッシュフローの内部収益率を見積もります。科目の期間
を一連の値として使用できます。単一の因数しか与えられていない場合は、この因数が時間範囲であると想定され、0.10の想定Irr 見積値が使用されます。

この関数は試行錯誤アルゴリズムを使用します。これは単一の期間(通常は最初の期間)に流出が起きる限り、正確です。この関数は、内部的な戻り率のtrue値に近づくまで、最大20回の反復を行います。

Abs (N)

数字(N)の絶対値を戻します。
: Abs (2)2Abs (-2)2

Sqrt (N)

数字(N)の平方根を戻します。
例: Sqrt (25) 5

ColumnMin (N)

Adaptive Insights for Salesでのみ利用可能

現在の組織について、数値モデルの列Nの値の最小値を返します。モデルシートの算出科目を編集および作成する場合、フォーミュラアシスタントにおいてのみ利用できます。

例: ColumnMin (ROW.PayRate)

ColumnMax (N)

Adaptive Insights for Salesでのみ利用可能

現在の組織について、数値モデルの列Nの値の最大値を返します。モデルシートの算出科目を編集および作成する場合、フォーミュラアシスタントにおいてのみ利用できます。

例: ColumnMax (ROW.PayRate)

 

トリゴノメトリー向けの数学関数

Adaptive Insights for Salesでのみ利用可能

構文 説明
Sin (N) 角度Nのサインを返します。Nはラジアンです。
例: Sin (Radians(30)).5
Cos (N) 角度Nのコサインを返します。Nはラジアンです。
例:
Cos (Radians(60)).5
Asin (N) 数Nのアークサインを返します。Nは角度のサインです。
例:  Asin (-0.5)-0.523598776
Acos (N) 数Nのアークコサインを返します。Nは角度のコサインです。
例: Acos (-0.5)2.094395102
Radians (N) 数Nのラジアンを返します。Nは度数表記の角度です。
例:  Radians (270)4.712389

 

論理関数

 Ifステートメントの一部に組み込むため、論理関数と比較がボタンとして利用可能になっています。たとえば、論理積(AND)、論理和(OR)、 論理的否定(NOT)などです。比較には、等しい(=)、より大きい(>)、より小さい(<)、等号否定(!=)などがあります。等号否定には(<>)を使用することもできます。 

 [[関数] > [論理] で、その他の選択肢も利用できます。

構文 説明
If (EXPR, T, F)  ブール式(EXPR)がtrueの場合、数値(T)を戻します。それ以外の場合、数値(F)を戻します。ブール演算子と比較演算子を使用して、ブール式を作成できます。 
Iff (EXPR, T, F)

これは、"「高速」"または短絡の形式のIf関数です。Ifと同じ値を返します。ただし、条件がtrueの場合、関数の3番目の引数は評価されません。 同様に、条件が偽の場合、2 番目の引数は評価されません。これは、2番目または3番目の引数にエラーが入っている可能性はあるものの、エラーが入っている引数は評価されないため、Iff の結果はそれでも有効だという意味です。 

例: 

  • IFF (this.Version.isActuals, ACCT.TravelExp, ACCT.Personnel.EstimatedTravel)
  • IFF (this.Quarter.PositionOf (this.Month) = 2, 100000, 0)
IsBlank (N) 引数が空白か空であった場合は真を、それ以外の場合は偽を返します。If関数に対する式の引数(EXPR)でのみ使用できます。
例: If(IsBlank(Row.StartDate),0,1)
Blank() 空白値を返します。この値は(ゼロではなく)空白として表示されますが、数式の目的のためにはゼロと同一に評価されます。ゼロ値とは異なり、IsBlank() 関数はTRUEを返しますが、シートまたはレポートで「空の行を非表示にする」が有効な場合、ゼロ値と同様に非表示にできます。
Error () 実行時の評価エラーの原因になります。 
Switch (Orig_EXPR, Case1, Case2, ..., Default)

複雑なネストされたIfステートメントの代わりに使えるコンパクトな式を作成する手段になります。 

  • 最初の引数(Orig_EXPR)は、最初に評価されるオリジナルの式(条件式と呼ばれることもあります)です。
  • その後に続く引数は、オリジナルの式の値にどのケースが一致するかに応じて活動化できるCases(値とそれに対応する式)です。
  • 1つ以上のケースを定義できます。各ケースは、カンマで区切られた値(N)と式(EXPR)で構成されます。構文を展開すると、次のようになります。Switch (Orig_EXPR, N1, EXPR1, N2, EXPR2, ..., Default)
  • たとえば、オリジナルの式の値が、Case1に定義されている値に一致した場合、Case1 に関連付けられている式が戻されます。しかし、オリジナルの式の値がCase2に一致した場合は、Case2 に関連付けられている式が戻され、以降、同様に続きます。 
  • 一致するものがない場合、Switch Default 式を戻します。 
  • すべての式(EXPR)は、Switch ステートメント内にある限り、同じデータタイプ(文字列、日付、番号など)でなければなりません。式のデータタイプに差異がある場合、次のようなエラーが表示されます。 Inconsistent Switch return types
  • 各ケースごとに単一の値(N)を使う代わりに、値Range(L,U)を指定できます。ここで、Lは範囲の下限であり、Uは範囲の上限です。たとえば、範囲はRange(2014,2017)のように、いくつかの年から成るとします。オリジナルの式の値がこの範囲内に収まる場合、その範囲に関連付けられた式が活動化されます。  
  • 範囲に対する各引数は、同じデータタイプでなければなりません。たとえば、7のような数字、Engineeringのような文字列定数、または既存のDate()関数を使用して構築された日付定数、または適切なデータタイプに解決される式(例: this.Version.Name or ACCT.Rent)などです。

例: 

  • Switch (ROW.DAY,1,"Sunday",2,"Monday",3,"Tuesday","No match")
     ROW.DAY が2の場合、Mondayは、値2に対応する式になります。 したがって、Switch の結果はMondayとなります。 
  • Switch (ToNumber (ROW.CaseQty),
    Range (0,11),  0,
    Range (12,24), 1,
    Range (24,48), 4,
                   0)

    この2番目の例は、CaseQty セレクターで検出された数値に応じて 0, 1, 2,または4を戻します。 

日付と時刻の関数

多くの場合、日付関数は、モデルシートの日付列と組み合わせて使用されます。日付関数は、モデルシートの算出科目でのみ表示されます。

構文 説明
ToDate (Y, M, D) 特定の年(Y)、月(M)、日(D)で指定した日付を戻します。Dを省略すると、15 が使用されます。戻された値は、日付をとる他の関数の引数として使用できます。
(Date).stratum_code

単一のグレゴリオ暦の日付を含む、リクエストされた層タイプのTimeperiodを返します。任意のデータを層コードのベースとして使用できます。たとえば、ToDate(2016,8,5).Qtrは、2016年8月5日が入った会計年度カレンダーの四半期を戻します。

Day (D) 日付(D)の月の日を戻します。
Month (D) 日付(D)がある月を戻します。
Quarter (D) 日付(D)がある四半期を戻します。上記は、貴社の会計年度の四半期と同じでない場合もあります(以下を参照)。
Year (D)  カスタムカレンダーの使用の有無にかかわらず、日付(D)がある年度を返します。 
FiscalMonth (D)

日付(D)がある会計年度の月を返します。

カスタムカレンダーを使用して構成されたインスタンスの場合、FiscalMonth (D)はエラーを戻すことがあります。代わりにUse D.Year.PositionOf(D.Month).を使用してください。

FiscalQuarter (D)

日付(D)がある会計年度の四半期を返します。

カスタムカレンダーを使用して構成されたインスタンスの場合、 FiscalQuarter (D)はエラーを戻すことがあります。D.Year.PositionOf(D.Qtr).を代わりに使用します。

FiscalYear (D)

日付(D)がある会計年度を返します。

カスタムカレンダーを使用して構成されたインスタンスの場合、FiscalYear はエラーを戻すことがあります。ToNumber(D.Year.code).を代わりに使用します。

VersionMonth (D)

日付(D)があるバージョン内の月( 最初の月 = 0)を表す番号を戻します。  日付(D)がバージョンの開始時点より前の場合は、この番号は負数である可能性があります。

カスタムカレンダーを使用して構成されたインスタンスの場合、versionMonth はエラーを戻すことがあります。this.Version.PositionOf(D.Month)を代わりに使用します。

VersionYear (D)

日付( D)があるバージョン内の年(最初の年 = 0)を表す番号を戻します。  日付(D)がバージョンの開始時点より前の場合は、この番号は負数である可能性があります。

カスタムカレンダーを使用して構成されたインスタンスの場合、versionYear はエラーを返すことがあります。this.Version.PositionOf(D.Year)を代わりに使用します。

Version.PositionOf (timeperiod)

バージョンの全期間内で、指定された期間の相対的な順序を返します。  バージョンにおいて最初の期間は1から始まります。期間がバージョンの開始時点より前であれば、順序番号は負数である可能性があります。この関数は、バージョンの終わりを超える期間に対しても機能します。 

DaysInMonth (D) 日付(D)がある月の日数を戻します。カスタムカレンダーで構成されたインスタンスの場合は、D.Month.NumberOfDaysを使用します。
MonthFraction (D1, D2, D)  開始日(D1)と終了日(D2)で挟まれた当月の部分を返します。オプションの日付(D)を指定する場合、現在の月ではなく、Dがある月を使用します。カスタムカレンダーで構成されたインスタンスの場合、TimeFraction (D1, D2, D).を使用します。

文字列関数

構文 説明
Concat (text1, text2, ...)

複数のテキスト文字列を結合して、連結した文字列を返します。 
例: Concat ("hello", "world")は「helloworldを返します。

Length (text)

テキスト文字列内の文字数を返します。
例: Length ("Now, is the winter of our discontent. Made glorious summer by this son or York." 79を返します。

Search (source_text, search_text)

search_text in source_textの開始位置を返します。search_textが見つからない場合、0を返します。Searchでは大文字と小文字は区別されません。 
例: 
Search ("Now is the winter of our discontent.", "Winter")12を返します。
Search ("Now is the winter of our discontent.", "Summer")0を返します。

Substring (source_text, start_position, length)

source_text内で見つかった文字を使用したテキスト文字列を戻します。その際、start_position(ここで、position 1はテキスト文字列の最初の文字)から始めて、length (またはテキスト文字列の最後までの、どちらか先に検出された方)が探索されます。

start_position0以下の値を選択した場合、position 1であるものとして扱われます。lengthに0以下の値を選択した場合、長さは0として扱われ、空の文字列が返されます。選択したstart_positionsource_textの末尾より後であると、空の文字列が返されます。 

ToNumber (text)

数字を表すテキスト文字列を数値に変換します。文字列の先行部分を非数値文字の検出位置まで変換します。
例:
ToNumber ("7")7を返します。
ToNumber ("2017-12-31") は2017(数字)を返します。
ToNumber ("Sample)はOを返します。

以下に、人事モデルシートの人数数式を示します。これは、複数の関数をどのように組み合わせるかを示す好例です。この数式は 1または0の2通りの結果を戻します。

If(this.Version.PositionOf(this.Month) >= this.Version.PositionOf(ROW.StartDate.Month)   # 今月が当人の雇用開始日より後である場合
   (isblank(ROW.EndDate)の場合に、                                                            # 終了日がないか、
      またはthis.Version.PositionOf(this.Month) <= Version.PositionOf(ROW.EndDate.Month))であるか、 # または今月が終了日1より前であるとき
   # 今月0)の人数として1を戻す
   # それ以外の場合、0を戻す

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