計算済みデータ式の概要

データ式を使用すると、Adobe Workfront で計算済みカスタムフィールドを定義できます。計算式は、新しいフィールドを生成するステートメントで Workfront の既存のフィールドを接続します。

計算済みデータ式は、次の場所で使用できます。

  • カスタムフォームの計算済みカスタムフィールド

    Workfrontのカスタムフォーム上に計算カスタムフィールドを作成する方法について詳しくは、 計算フィールドをフォームに追加を参照してください。

  • テキストモードを使用する場合の、レポートまたはリスト内の計算済みカスタム列

    レポートおよびビューでのテキストモードの使用について詳しくは、テキストモードの概要を参照してください。

計算済みカスタムフィールドと計算済みカスタム列の構文の比較

使用する関数は同じですが、計算済みカスタムフィールドで式を作成する場合の構文は、計算済みカスタム列を作成する場合の構文とは異なる場合があります。

2 つの構文の違いは次のとおりです。

計算済みカスタムフィールド
計算済みカスタムレポート要素
フィールド名を波括弧で囲む

フィールド名を

valuefield

行で使用する場合、角括弧または丸括弧内で囲まないでください。

フィールド名を

valueexpression

行で使用する場合、角括弧または丸括弧内で囲まないでください。

フィールドはピリオドで区切ります。

フィールドを

valuefield

行で使用する場合、コロンで区切ります。

フィールドを

valueexpression

行で使用する場合、角括弧または丸括弧内で囲まないでください。

例:

  • タスクのカスタムフォームのカスタムフィールドでは、以下を使用して、カスタムフォームが添付されているタスクの親プロジェクトの名前を生成します。

    {project}.{name}

  • レポートのカスタム列では、以下を使用して、タスクレポートにプロジェクト名のカスタム列を追加します。

    valuefield=project:name

    または

    valueexpression={project}.{name}

    note tip
    TIP
    同じ構文が、計算済みの式が使用されるすべてのテキストモードレポート要素(ビュー、フィルター、グループ化、プロンプト)に適用されます。

計算済みカスタム列で使用する必要がある構文について詳しくは、テキストモードの概要を参照してください。

使用できるデータ式

以下のリストは、Workfront で 3 種類の計算済みカスタムフィールドのいずれかを作成する際に使用できる式を定義します。

以下に示す式を使用すると、計算済みカスタム列を作成できます。ただし、計算済みカスタム列の正しい構文を使用する必要があります。詳しくは、この記事の計算済みカスタムフィールドと計算済みカスタム列の構文の節を参照してください。

日付と時刻の計算済みカスタムフィールド date-time-calculated-custom-fields

NOTE
時間部分を含まない日付と時間の計算を作成した場合または $$TODAY や $$NOW の日付ワイルドカードを使用する場合、ローカルタイムゾーンではなく協定世界時(UTC)ゾーンに従って日付が使用されます。これは予期しない日付の結果を引き起こす可能性があります。

次の式を使用すると、日付または時刻の計算済みカスタムフィールドを作成できます。

説明と例
ADDDAYS

日付に日数を追加します。数値には、日の一部を含めることができます。例えば、1.5 の場合、日付に 1 日半が追加されます。

式の形式は次のとおりです。

ADDDAYS(date, number)

平日の追加

日付に平日の数を追加します。この式は、整数値を切り捨てて日付に加算します。

式の形式は次のとおりです。

ADDWEEKDAYS(date, number)

ADDMONTHS

日付に月数を追加し、次の形式に設定されます。

ADDMONTHS(date, number)

ADDYEARS

日付に年数を追加し、次の形式に設定されます。

ADDYEARS(date, number)

CLEARTIME

日付の時間部分をクリアし、次の形式で表します。この例では、日付は作業オブジェクトのエントリ日です。

CLEARTIME({entryDate})

DATE

文字列を日付に変換し、次の形式で表します。

DATE(string)

DATEDIFF

選択した期間の開始日と終了日に加え、その日のタイムスタンプを考慮して、2 つの日付の間の日数を返します。例えば、開始日の開始時刻が午後 3 時の場合、開始日は 1 日としてカウントされません。

式の形式は次のとおりです。

DATEDIFF(date1, date2)

DAYOFMONTH

その日付が何日であるかを 1 から 31 の数値で返します。

式の形式は次のとおりです。この例では、日付は作業オブジェクトのエントリ日です。

DAYOFMONTH({entryDate})

DAYOFWEEK

その日付の曜日を 1(日曜日)から 7(土曜日)の数値で返します。

式の形式は次のとおりです。この例では、日付は作業オブジェクトのエントリ日です。

DAYOFWEEK({entryDate})

DAYSINMONTH

指定日の月の合計日数を数値で返し、次の形式で表します。この例では、日付は作業オブジェクトのエントリ日です。

DAYSINMONTH({entryDate})

DAYSINSPLITWEEK

指定日から週末、あるいは月末までの合計週日数で少ない方を返します。この例では、日付は作業オブジェクトのエントリ日です。

式の形式は次のとおりです。

DAYSINSPLITWEEK({entryDate})

DAYSINYEAR

その日付の年の合計日数を数値で返し、次の形式で表します。この例では、日付は作業オブジェクトのエントリ日です。

DAYSINYEAR({entryDate})

DMAX

リストの最新の日付を返し、次の形式で表します。

DMAX(date1, date2, ...)

DMIN

リストの一番古い日付を返し、次の形式で表します。

DMIN(date1, date2, ...)

HOUR

その日付の時間を 0 から 23 の数値で返します。

式の形式は次のとおりです。この例では、日付は作業オブジェクトのエントリ日です。

HOUR({entryDate})

MINUTE

その日付の分を 0 から 60 の数値で返し、次の形式で表します。この例では、日付は作業オブジェクトのエントリ日です。

MINUTE({entryDate})

MONTH

その日付の月を 1 から 12 の数値で、次の形式で返します。この例では、日付は作業オブジェクトのエントリ日です。

MONTH({entryDate})

SECOND

日付の秒を次の形式の 0 ~ 60 の数値で返します。この例では、日付は作業オブジェクトのエントリ日です。

SECOND({entryDate})

WEEKDAYDIFF

選択した期間の開始日と終了日、およびそれらの日の時刻を考慮して、2 つの日付の間の平日数を返します。例えば、開始日の開始時刻が午後 3 時の場合、開始日は 1 日としてカウントされません。

式の形式は次のとおりです。

WEEKDAYDIFF(date2, date1)

WORKMINUTESDIFF

既定のスケジュールに基づき、日付間のスケジュール分数を返します。

式の形式は次のとおりです。

WORKMINUTESDIFF(date1, date2)

YEAR

日付の年を次の形式の 4 桁の数値で返します。この例では、日付は作業オブジェクトのエントリ日です。

YEAR({entryDate})

数学計算カスタムフィールド mathematical-calculated-custom-fields

次の数式を使用した計算済みカスタムフィールドを作成できます。

説明
ABS

数値の絶対値を次の形式で返します。この例では、カスタムフォームが添付されるオブジェクトの下のオブジェクト数を使用します。

ABS({numberOfChildren})

AVERAGE

数の平均を次の次の形式で返します。

AVERAGE(number1, number2, ...)

CEIL

数値を最も近い整数に丸め、次の形式で表します。この例では、カスタムフォームが添付されるオブジェクトの下のオブジェクト数を使用します。

CEIL({numberOfChildren})

DIV

すべての数値を指定された順序で除算し、次の形式で表します。

DIV(number1, number2, ...)

FLOOR

数値を最も近い整数に切り捨て、次の形式で表します。この例では、カスタムフォームが添付されるオブジェクトの下のオブジェクト数を使用します。

FLOOR({numberOfChildren})

LN

数値の自然対数値を次の形式で返します。

LN({numberOfChildren})

LOG

数値 1 を底として数値 2 の対数値を次の形式で返します。

LOG(number1, number2)

最大

リスト内の最大の項目を次の形式で返します。

MAX(item1, item2, ...)

最小

リスト内の最小の項目を次の形式で返します。

MIN(item1, item2, ...)

NUMBER

文字列を次の形式の数値に変換します。

NUMBER(string)

POWER

数値をべき乗した値を次の形式で返します。

POWER(number, power)

PROD

すべての数値を乗算し、次の形式にします。

PROD(number1, number2, ....)

メモ

時間を含んだフィールドを乗算する場合は、選択したフィールドの時間をデータベースが分、時間、秒のいずれで保存するかを必ず把握してください。時間が分または秒単位で保存され、Workfront インターフェイスに時間単位で表示される場合、この計算を使用して式を書き込む際に、分または秒から時間への変換を考慮する必要が生じる場合があります。

ROUND

数値の端数を指定の精度に切り上げ、次の形式にします。

ROUND(number, precision)

SORTASCNUM

数値を昇順で並べ替え、次の形式にします。

SORTASCNUM(number1,number2, ...)

SORTDESCNUM

数値を降順で並べ替えます。形式は次のとおりです。

SORTDESCNUM(number1, number2, ...)

SQRT

数値の平方根を返します。形式は次のとおりです。この例では、カスタムフォームが添付されるオブジェクトの下のオブジェクト数を使用します。

SQRT({numberOfChildren})

SUB

指定された順序ですべての数値を減算します。形式は次のとおりです。

SUB(number1, number2, ...)

合計

すべての数値を加算します。形式は次のとおりです。

SUM(number1, number2, ...)

テキスト計算済みカスタムフィールド text-calculated-custom-fields

次の式を使用して、テキスト形式の値を表示する、計算されたカスタムフィールドを作成できます。

説明
CASE

他の式と共に使用され、インデックス番号に基づいてリストから値を選択します。

インデックス番号は、数値(通常は既知の範囲)を返すフィールドまたは関数です。

式の形式は次のとおりです。

CASE(indexNumber, value1, value2, ...)

例えば、次の式は、集計列に曜日の名前を返します。ここで、1=日曜日、2=月曜日などです。

CASE(DAYOFWEEK({entryDate}),"Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday")

DAYOFWEEK、DAYOFMONTH、MONTH など、数値を返す他の式に最適です。

CONCAT

文字列を連結します。形式は次のとおりです。

CONCAT(string1,"separator", string2)

使用できる区切り文字の例を示します。

  • スペース:「 」
  • ダッシュ:「-」
  • スラッシュ:「/」
  • コンマ:「,」
  • 単語:「or」、「and」
CONTAINS

withinText 文字列内で findText 文字列が見つかったときに true を返します。形式は次のとおりです。

CONTAINS(findText, withinText)

ENCODEURL

URL 引数に含められるよう、文字列の特殊文字をエスケープします。

式の形式は次のとおりです。

ENCODEURL(string)

IF

指定した条件を評価し、true の場合は trueExpression の値を返します。false の場合は falseExpression の値を返します。

式の形式は次のとおりです。

IF(condition, trueExpression, falseExpression)

例えば、2 つの異なる日付フィールドを比較し、True/False の結果をデータ文字列として出力することができます。

IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","On Track")

分かりやすく言えば、こステートメントは、「オブジェクトの見込み完了日が、予定完了日より大きい場合、このフィールドに「遅延」と表示し、それ以外の場合は「順調」と表示します。

true または false の式にラベルを付けたくない場合は、ステートメントに次のような空白のラベルを挿入する必要があります。

IF({projectedCompletionDate}>{plannedCompletionDate},"","On Track")

または

IF({projectedCompletionDate}>{plannedCompletionDate},"Off Track","")

「IF」ステートメントの作成について詳しくは、 「IF」ステートメントの概要を参照してください。

IFIN

使用可能な値の文字列内から特定の値を検索できます。検索する値が指定された値のいずれかと等しい場合、式は trueExpression を返し、それ以外の場合は falseExpression を返します。

式の形式は次のとおりです。

IFIN(value, value1, value2,..., trueExpression, falseExpression)

例えば、特定のプロジェクト所有者を検索し、プロジェクトビューで指定したタグを使用して、該当するプロジェクトにマークを付けることができます。

IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","Other Teams")

分かりやすく言えば、この文は「プロジェクト所有者が Jennifer Campbell または Rick Kuvec の場合、このプロジェクトを「マーケティングチーム」でマークし、それ以外の場合は「他のチーム」でマークします」という意味です。

true または false の式にラベルを付けたくない場合は、ステートメントに次のような空白のラベルを挿入する必要があります。

IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","","Other Teams")

または

IFIN({owner}.{name},"Jennifer Campbell","Rick Kuvec","Marketing Team","")

IN

指定された値のいずれかと値が等しい場合は true を返し、それ以外の場合、式は false を返します。

式の形式は次のとおりです。

IN(value, value1[, value2...])

ISBLANK

値が null または空の場合は true を返し、それ以外の場合、式は false を返します。

式の形式は次のとおりです。

ISBLANK(value)

LEFT

指定された数の文字を文字列の左側から返します。形式は次のとおりです。

LEFT(string, length)

LEN

文字列の長さを返します。形式は次のとおりです。

LEN(string)

LOWER

小文字の文字列を返します。形式は次のとおりです。

LOWER(string)

REPLACE

string1 にある string2 のすべてのオカレンスを string3 に置き換えます。

式の形式は次のとおりです。

REPLACE(string1, string2, string3)

RIGHT

指定された数の文字を文字列の右側から返します。式の形式は次のとおりです。

RIGHT(string, length)

SEARCH

文字列 withinText 内で指定の開始位置から findText の最初のオカレンスのインデックスを返します。このテキストが見つからない場合は、-1 を返します。

式の形式は次のとおりです。

SEARCH(findText, withinText, start)

STRING

この式は、数値を文字列に変換します。形式は次のとおりです。

STRING(number)

SORTASCSTRING

文字列のリストを昇順に並べ替えます。形式は次のとおりです。

SORTASCSTRING(string1, string2, ...)

SORTDESCSTRING

文字列のリストを降順に並べ替えます。形式は次のとおりです。

SORTDESCSTRING(string1, string2, ...)

SUBSTR

指定された開始インデックスと終了インデックスに基づいて文字列を返します。形式は次のとおりです。

SUBSTR({string}, number of start position, number of end position)

TRIM

文字列の先頭と終わりから空白を削除します。形式は次のとおりです。

TRIM(string)

UPPER

大文字の文字列を返します。形式は次のとおりです。

UPPER(string)

recommendation-more-help
5f00cc6b-2202-40d6-bcd0-3ee0c2316b43