参考: 数式関数
数式の関数は、4 つのカテゴリ (数学、論理、文字列、日付) に分類されます。このトピックで各関数とその簡単な説明を定義します。
分かりやすくするために、テーブルの説明ではカンマ区切りを使用して数式を示します。ブラウザの設定によっては、セミコロンで区切る必要があります。構文列には両方のバージョンが表示されます。

数学関数
数学関数は、ボタンとして使用できます。たとえば、加算 (+)、減算 (-)、乗算 (*) などがあります。追加の選択オプションは 、"関数" > "数学"
から選択できます。
参照 参考: 数式関数。
論理関数
対象イベントの一部に含める If
ステートメントでは、基本的な論理関数、比較がボタンとして利用可能です。たとえば、論理積 (AND
)、論理演算子 (OR
)、および論理的否定 (NOT
)。次の値と等しい比較 (=
) ((>
) (<
)、または (!=
)。(<>
) ≠
追加の選択オプションは、
"関数" > "論理"
から選択できます。構文 | 説明 |
|---|---|
Blank()
| 以下を返します。 Blank 値。この値は (ゼロではなく) 空白として表示されますが、数式の目的のためにはゼロと同一に評価されます。ゼロの場合とは異なり、次のようになります。IsBlank() 返す関数 TRUE がゼロと同様に、シートまたはレポートで "空の行を非表示にする" が有効な場合に非表示にすることができます。 |
Error ()
| 実行時の評価エラーの原因になります。
例:
IF(ACCT.EffectiveHeadcount < 0, Error(), ACCT.EffectiveHeadcount+ACCT.AddlHeadcount) 有効人員が 0 未満の場合は、根本的な問題を解決するためにエラーを返します。 |
If (EXPR, T, F)
If (EXPR; T; F) | 数値 ( T ) if ブール式 (EXPR ) が真の場合、それ以外の場合は数値 (F )。ブール演算子と比較演算子を使用して、ブール式を作成できます。 |
Iff (EXPR, T, F)
Iff (EXPR; T; F) | "高速" または短絡の形式の If 関数。次と同じ値を返しますIf 。ただし、条件が true の場合、関数の 3 番目の引数は評価されません。同様に、条件が偽の場合、2 番目の引数は評価されません。これは、2 番目または 3 番目の引数にエラーが含まれている可能性はあるが、結果はIff エラーのある引数は評価されないため、有効なままです。
例:
|
IsBlank (N)
| 引数が空白か空であった場合は真を、それ以外の場合は偽を返します。式の引数 ( EXPR ) にIf 関数。例:
If(IsBlank(Row.StartDate),0,1)
|
Switch (Orig_EXPR, Case1, Case2, ..., Default)
Switch (Orig_EXPR; Case1; Case2; ...; Default) | 複雑なネストされた式の代わりに使用できるコンパクトな式を作成する方法を提供します If ステートメント。
例:
|
日付と時刻の関数
多くの場合、日付関数は、モデル シートの "日付"
列と組み合わせて使用されます。日付関数は、モデル シートの算出科目でのみ表示されます。

日付関数は、"月" > "四半期" > "年" の設定を持つカレンダーに適用されます。異なる構造を使用しているカレンダーの場合、これらの関数の多くがエラーを返します。代わりに、this.version.positionOf(D.strata) の使用を検討してください。D を yyyy,mm,dd の形式のカレンダー日付に置き換え、層をカレンダーで使用する層に置き換えます。例: this.version.positionOf(2024,01,02.week) は、2024 年の最初の週を返します。
構文 | 説明 |
|---|---|
D.Month.NumberOfDays
| その月の日数を返します D 発生.
|
D.Year.PositionOf(D.Month).
| 日付が指定されている会計年度の月を返します D 発生します。 |
D.Year.PositionOf(D.Qtr)
| 会計年度の四半期を返します。 D 発生します。 |
(Date).
stratum_code
| 以下を返します。
Timeperiod
(単一、グレゴリオ暦) 日付を含む、リクエストされた層タイプの任意のデータを層コードのベースとして使用できます。例:
ToDate
(2016,8,5).Qtr
|
Day (D)
| 日付 ( D )。 |
DaysInMonth (D)
| 日付 D がある月の日数を返します。カスタム カレンダーの場合、エラーまたは不正な値を返すことがあります。用途 D.Month.NumberOfDays 代わりに。 |
FiscalMonth (D)
| 日付 ( D ) が発生する。カスタム カレンダーの場合はエラーになることがあります。用途D.Year.PositionOf(D.Month).
|
FiscalQuarter (D)
| 日付 ( D ) が発生する。カスタム カレンダーの場合はエラーになることがあります。用途 D.Year.PositionOf(D.Qtr).
|
FiscalYear (D)
| 日付 ( D ) が発生する。カスタム カレンダーの場合はエラーになることがあります。年と次を使用する数字と完全に一致する数字で年をコーディングしてみてください。ToNumber
(D.Year.code).
|
Month (D)
| 日付 ( D ) が発生する。 |
Quarter (D)
| 日付が四半期である四半期を返します ( D ) が発生する。上記は、貴社の会計年度の四半期と同じでない場合もあります (以下を参照)。 |
this.Version.PositionOf(D.Month)
| 日付 D があるバージョン内の月 (最初の月 = 0 )。日付 D がバージョンの開始時点より前の場合は、この番号は負数である可能性があります。 |
this.Version.PositionOf(D.Year)
| 日付 D があるバージョン内の年 (最初の年 = 0 )。日付 D がバージョンの開始時点より前の場合は、この番号は負数である可能性があります。 |
TimeFraction (D1, D2, D, Dx)
TimeFraction (D1; D2; D; Dx) | 開始日 ( D1 ) と終了日 (D2 )。任意の日付 (D ) が指定されている場合は、次の月を使用します。 D 月の代わりに発生する。任意の固定日数パラメータ (Dx ) が指定されている場合、の期間をオーバーライドします。 D 数値とともに。
カスタム カレンダーなしで設定されたインスタンスでは、以下を実行できます。 MonthFraction の代わりにTimeFraction 。 |
ToDate (Y, M, D)
ToDate (Y; M; D) | 特定の年によって指定された日付を返します ( Y )、月 (M )、日 (D )。条件 D が省略されている場合、 15 使用されています。返された値は、日付を取る他の関数の引数として使用できます。 |
VersionMonth (D)
| 日付 ( D ) 発生 (最初の月 = 0 )。この数は負数である可能性があります。D ) はバージョンの開始時点より前。
カスタム カレンダーの場合はエラーになることがあります。用途 this.Version.PositionOf(D.Month). |
Version.PositionOf (timeperiod)
| バージョンの全期間内で、指定された期間の相対的な順序を返します。バージョンにおいて最初の期間は 1 から始まります。期間がバージョンの開始時点より前であれば、順序番号は負数である可能性があります。この関数は、バージョンの終わりを超える期間に対しても機能します。 |
VersionYear (D)
| 日付 ( D ) が発生する (最初の年 = 0 )。この数は負数である可能性があります。D ) はバージョンの開始時点より前。
カスタム カレンダーの場合はエラーになることがあります。用途 this.Version.PositionOf(D.Year) 。 |
Year (D)
| 日付 ( D ) は、カスタム カレンダーの使用の有無にかかわらず発生します。 |
文字列関数
構文 | 説明 |
|---|---|
Concat (text1, text2, ...)
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 (source_text; search_text) | の開始位置を返します search_text で source_text 。返品 0 条件search_text が見つかりません。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)
Substring (source_text; start_position; length) | で見つかった文字を含むテキスト文字列を返します source_text 開始start_position (position が 1 はテキスト文字列の最初の文字) であり、実行対象length (またはテキスト文字列の最後までの、どちらか先に検出された方)。
選択するアクション start_position の 0 以下の場合は、ポジションであるものとして扱われます 1 。次の桁数を選択: 0 以下の場合は、次の長さとして扱われます 0 空の文字列を返します。選択するアクションstart_position は次の終了後です:source_text 空の文字列を返します。 |
ToNumber (text)
| 数字を表すテキスト文字列を数値に変換します。文字列の先行部分を非数値文字の検出位置まで変換します。先頭文字が数値以外の場合、エラーになります。 例:
ToNumber ("7") 返品 7 。ToNumber ("2017-12-31") 2017 (数値) を返します。ToNumber ("Sample") エラーを返します。 |
例
以下に、従業員モデル シートの人員数式を示します。これは、複数の関数をどのように組み合わせるかを示す好例です。この数式はバイナリ結果を返します。 1
または 0
。
If(this.Version.PositionOf(this.Month) >= this.Version.PositionOf(ROW.StartDate.Month) # if this month is after the person's start date and (isblank(ROW.EndDate) # and either they have no termination date or this.Version.PositionOf(this.Month) <= Version.PositionOf(ROW.EndDate.Month)), # or the current month is before termination date 1, # return 1 for their headcount in this month 0) # otherwise, return 0