サーバー管理 > フィールド、チャート、およびレポート内の計算 > 計算式で使用される関数の種類
  
計算式で使用される関数の種類
計算式では、次の種類の関数を使用して計算を実行できます。
算術関数
算術関数は、基本的な算術計算を行う手段としてあらゆる計算式に使用できます(2 つのフィールド値を加算して結果を最も近い整数に丸めるなど)。
算術関数の完全な一覧については、算術関数を参照してください。
日付/時刻関数
日付/時刻関数は、日付/時刻の情報を返したり定量化したりするために使用されます。これらの情報には、たとえば、アイテムが特定の状態だった日数や、アイテムに対して記録された最初の日時などがあります。
日付/時刻関数の完全な一覧については、日付/時刻関数を参照してください。
集計関数
アイテムデータの計算結果の集計を求めるには、集計関数が使用されます。たとえば、sum 関数を使用して、アイテムのリストのフィールド値を追加します。集計関数を通常の式で使用しようとすると、エラーが発生します。
集計関数の完全な一覧については、集計関数を参照してください。
テキスト関数
テキスト関数は、テキスト フィールドと数値フィールドによる計算を行ってテキスト値または数値を返すために使用されます。たとえば、アイテムの ID を使用して、REQ-00001234 などアイテムの一意の ID を計算する計算フィールドを作成します。テキスト関数内の文字列式は、短いテキスト フィールドと長いテキスト フィールドを受け入れます。
テキスト関数の完全な一覧については、テキスト関数を参照してください。
外部情報関数
外部情報関数は、1 つのアイテムに対して適用することでそのアイテムから計量情報を抽出します。たとえば、そのアイテムが何回 Submit 状態となったかといった情報です。外部情報関数を集計式で使用しようとすると、エラーが発生します。たとえば、SICPEntryCount() は無効な集計式ですが、sum(SICPEntryCount()) は集計関数の引数が通常の式なので有効となります。SICPEntryCount() は通常の式の一部なので有効となります。
たとえば、1 つのアイテムにアクセスするときに DaysInState() を使用することは、結果が 1 つの数値となるため有効です。ただし、アイテムのリストに対して使用すると結果が返されません。外部情報関数をリスト内の個々のアイテムに適用するには、集計関数の中に組み込む必要があります。次に例を示します。avg(DaysInState())
外部情報関数の完全な一覧については、外部情報関数を参照してください。
アイテム情報関数
アイテム情報関数は、アイテム タイプについての基本情報を返すために使用します。たとえば、テスト ケースのテスト管理ロールを持つアイテム タイプの場合、「真」または「偽」値を返します。
アイテム情報関数の完全な一覧については、アイテム情報関数を参照してください。
テスト関数
テスト関数は、テスト結果についての情報を返すために使用します。たとえば、指定された判定 ID に対応する判定タイプの数値を返すことができます。
テスト関数の完全な一覧については、テスト関数を参照してください。
重要な考慮事項
すべてのフィールドの戻り値はフィールドのタイプにより異なります。ただし、候補リストフィールドは数値 (非テキスト) を返します。たとえば getFieldValue (567, Priority) は、Defect 567 の「Priority=High」のフィールド値として「1」を表示します。
ノード、セグメント、共有アイテム、およびテストの各タイプは、ドキュメントモデルで使用されます。
ドキュメント バージョン管理が有効な場合、デフォルトでは計算式はすべてのアイテム (ライブおよびバージョン付き) を返します。ライブまたはバージョン付きアイテムを指定するには、IsLive() または IsVersioned() 関数を含めます。
テキスト計算のテキスト文字列は 1 キロバイトを超えないようにしてください。この制限を超えると、Windchill RV&S Server でエラーが発生する場合があります。
算術関数
名前と説明
戻り値
abs(numeric-expression)
数値式の正の絶対値を返します。
整数または浮動小数点
(数値式と同じ)
sign(numeric-expression)
数値式が 0 未満と評価された場合は -1、0 と評価された場合は 0、正の値と評価された場合は +1 をそれぞれ返します。
整数または浮動小数点
(数値式と同じ)
round(numeric-expression)
数値式を最も近い整数に丸めて返します。
整数
truncate(numeric-expression)
数値式を最も近い整数で切り捨てて返します。
整数
floor(numeric-expression)
指定された数値式以下の最大の整数を返します。
整数
ceil(numeric-expression)
指定された数値式以上の最小の整数を返します。
整数
mod(numeric-expression1, numeric-expression2)
数値式 1 を数値式 2 で除算して得られる余りを返します。
いずれかの数値式が整数型でない場合、数値式は次のようになります。
(abs(e1) - floor(abs(e1)/abs(e2)) * abs(e2)) * sign(e1)
両方の数値式が整数の場合は整数、それ以外の場合は浮動小数点
isEmpty(expression1, expression2)
最初の数値式が評価されます。結果が空でない場合、その結果が関数の戻り値になります。結果が空の場合、数値式 2 が評価され、その結果が関数の戻り値になります。どちらの数値式も同じ型に評価される必要があります。式は数値型、時刻型、またはブール型にすることができます。
式のタイプ
emptyint()
整数フィールドに空の値を返します。
なし
emptyfloat()
浮動小数点フィールドに空の値を返します。
なし
emptytime()
日付/時刻フィールドに空の値を返します。
なし
emptydate()
日付フィールドに空の値を返します。
なし
emptylogical()
論理フィールドに空の値を返します。
なし
emptytext()
テキスト フィールドに空の値を返します。
なし
emptyuser()
ユーザー フィールドに空の値を返します。
なし
emptygroup()
グループ フィールドに空の値を返します。
なし
timestamp(quoted-string)
与えられた文字列をタイムスタンプ定数に変換します。Java の SimpleDateFormat を使用して、どれか 1 つが成功するまで次の形式が順に試行されます。
Java DateTimeInstance(LONG, LONG)
Java DateTimeInstance(SHORT, SHORT)
MMM d, yyyy hh:mm a
MMM d, yyyy HH:mm
MMM d, yyyy HH:mm:ss
* 
解析は、クライアントのロケールを使用してクライアント上で行われます。解析中、タイムスタンプはタイムスタンプ定数で評価されます。式を表示する際には、ロケールの標準形式で表示されます。
タイムスタンプ
now()
現在の時刻を返します。
* 
現在の時刻とは、式が解析された時刻ではなく、式が評価された時刻です。アイテムが作成されてからの日数を返すには、次のように入力します。
now() - "Created Date"
タイムスタンプ
SelectionCount(field-name)
アイテムの複数値フィールドで選択されたエントリの数を返します。フィールドが空の場合は 0; を返し、フィールドが空ではないが複数値フィールドでない場合は 1 を返します。
添付ファイル フィールド、関連フィールド、計算フィールドには使用できません。
整数
日付/時刻関数
名前と説明
戻り値
DateDiff(date/time field1, date/time field2)
時刻を含む 2 つの日付/時刻フィールド間の間隔 (秒数) を返します。date/time field1date/time field2 より大きい場合、結果は正になります。そうでない場合、結果は負になります。
dateFirstEntered 関数を含めることで、インシデントアイテムを閉じるのにかかった秒数を計算できます。次に例を示します。DateDiff(dateFirstEntered(“Closed”), “Created Date”)
* 
式を正しく計算するには、指定した各日付/時刻フィールドで「Include Time」オプションを有効にする必要があります。
整数
DaysInState(state-name)
アイテムが特定の状態だった日数を、最も近い値に四捨五入して返します。各状態の時間は秒単位で合計されます。結果の合計は日単位に丸められます。
特定の状態を指定しない場合は、"Unspecified" と入力します。次に例を示します。DaysInState("Unspecified")
整数
DaysInPhase(phase field name, phase name)
アイテムが特定のフェーズだった日数を、最も近い値に四捨五入して返します。各フェーズの時間は秒単位で合計されます。結果の合計は日単位に丸められます。
整数
DaysCurrentState()
アイテムが現在の状態だった日数を、最も近い値に四捨五入して返します。
整数
DayOfYear(date/timestamp/field)
指定された日付が 1 年のうちの何日目であるかを返します。
整数
dayOfWeek(date/timestamp/field)
指定された日付の曜日を返します。日曜日を 1 として、以降、月曜日が 2 と続きます。
整数
weekOfYear(date/timestamp/field)
指定された日付が 1 年のうちの何週目であるかを返します。
* 
Windchill RV&S はカレンダーの週について ISO-8601 をサポートしていません。このため、返されるカレンダーの週は常に予測より 1 大きい数字になります。たとえば、Windchill RV&S における 2010 年は、カレンダー週 1 は 2010 年 1 月 1 日から始まります。ISO-8601 では、カレンダー週 1 は 2010 年 1 月 4 日から始まります。
整数
monthOfYear(date/timestamp/field)
指定された日付の月を返します。
整数
weeksDiff(dateA, dateB)
指定された 2 つの日付間の週の数を返します。
* 
実際の週の数であり、日数を 7 で割った値ではありません。
整数
monthsDiff(dateA, dateB)
指定された 2 つの日付間の月の数を返します。
* 
実際の月の数であり、日数を 30 で割った値ではありません。
整数
weekdaysDiff(dateA, dateB)
指定された 2 つの日付間の平日の日数を返します。土曜日と日曜日が除外されます。
整数
DayOfWeekName(date/timestamp)
指定された日付または日時の曜日を返します。たとえば、「月 (曜日)」など。
テキスト
getDay(date/timestamp/field)
指定された日付または日時の年を返します。たとえば、「23 (日)」など。
整数
getYear(date/timestamp/field)
指定された日付または日時の年を返します。たとえば、「2009 (年)」など。
整数
MonthOfYearName(date/timestamp/field)
指定された日付または日時の月を返します。たとえば、「10 (月)」など。
テキスト
getHour(timestamp/field)
指定された時刻の時を返します。たとえば、「2 (時)」など。
* 
時間は 24 時間形式で示されます。たとえば、午前 0 時は 0、午後 7 時は 19 になります。
整数
getMinute(timestamp/field)
指定された時刻の分を返します。たとえば、「05 (分)」など。
整数
getSecond(timestamp/field)
指定された時刻の秒を返します。たとえば、「33 (秒)」など。
整数
DaysCurrentPhase(phase-field-name)
アイテムが現在のフェーズだった日数を、最も近い値に四捨五入して返します。
整数
dateFirstEntered(state-name)
指定した状態に最初になった日付を返します。
タイムスタンプ
dateLastEntered(state-name)
指定した状態に最後になった日付を返します。
タイムスタンプ
SecondsInState
アイテムが特定の状態になっていた秒数を返します。アイテムがある状態に複数回なっている場合は、発生ごとの秒数が合計されます。
特定の状態を指定しない場合は、"Unspecified" と入力します。次に例を示します。SecondsInState("Unspecified")
整数
SecondsInPhase
アイテムが特定のフェーズになっていた秒数を返します。アイテムがそのフェーズに複数回なっている場合は、発生ごとの秒数が合計されます。
未指定のフェーズを指定するには、"Unspecified" (SecondsInPhase("Unspecified") など) を入力します。
整数
SecondsCurrentState
アイテムが現在の状態になっていた秒数を返します。
整数
SecondsCurrentPhase
アイテムが現在のフェーズになっていた秒数を返します。
整数
sumTimeEntry[(date("startdate"),date("enddate"))]
または
sumTimeEntry[(symbolicdate(),symbolicdate())]
オプションの時間枠でアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByUser(user[,user...][,date("startdate"),date("enddate")]
または
sumTimeEntryByUser(user[,user...][,symbolicdate(),symbolicdate()]
オプションの時間枠で特定のユーザーがアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByGroup(group[,group...][,date("startdate"),date("enddate")])
または
sumTimeEntryByGroup(group[,group...][,symbolicdate(),symbolicdate()])
オプションの時間枠で特定のグループがアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByPhase(phaseField, phase[,date("startdate"),date("enddate")])
または
sumTimeEntryByPhase(phaseField, phase[,symbolicdate(),symbolicdate()])
特定のフェーズフィールドのフェーズ中にアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByPhaseByUser(phaseField, phase, user[,user...][,date("startdate"),date("enddate")])
または
sumTimeEntryByPhaseByUser(phaseField, phase, user[,user...][,symbolicdate(),symbolicdate()])
特定のフェーズフィールドのフェーズ中に特定のユーザーがアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByPhaseByGroup(phaseField, phase, group[,group...][,date("startdate"),date("enddate")])
または
sumTimeEntryByPhaseByGroup(phaseField, phase, group[,group...][,symbolicdate(),symbolicdate()])
特定のフェーズフィールドのフェーズ中に特定のグループがアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByState(state[,date("startdate"), date("enddate")])
または
sumTimeEntryByState(state[,symbolicdate(), symbolicdate()])
特定の状態中にアイテムに費やした合計時間 (時間で四捨五入) を返します。
* 
Windchill RV&S はタイム エントリを毎日収集し、(深夜に) タイム エントリを日付に割り当てます。Windchill RV&S では状態の変更がミリ秒単位まで正確に記録されます。タイム エントリを使用して求められるアイテムが特定の状態だった時間は、推定にすぎません。したがって、1 日を通してアイテムの状態移行が 1 回だけだった場合を除き、この関数が正確であることは保証されません。
たとえば、アイテムがポストされ、1 日のうちにいくつかの状態 (InvestigateIn DevelopmentDevelopment Done) に変化し、終了 (Built) します。その後、そのアイテムで作業するユーザーがそのアイテムに費やした合計時間をタイム エントリに入力します。Windchill RV&S はこのタイムエントリ (アイテムに費やした時間) を複数の情報 (各状態に費やした時間) に分割することができないため、sumTimeEntryByState 関数がタイムエントリに単一の状態を割り当てます。これは入力日 (Built) の深夜にアイテムに割り当てられる状態です。
特定の状態を指定しない場合は、"Unspecified" と入力します。次に例を示します。sumTimeEntryByState("Unspecified")
整数
sumTimeEntryByStateByUser(state, user[,date("startdate"),date("enddate")])
または
sumTimeEntryByStateByUser(state (user[,symbolicdate(),symbolicdate()])
特定の状態中に特定のユーザーがアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
sumTimeEntryByStateByGroup(state, group[,date("startdate"),date("enddate")])
または
sumTimeEntryByStateByGroup(state, group[,symbolicdate(),symbolicdate()])
特定の状態中に特定のグループがアイテムに費やした合計時間 (時間で四捨五入) を返します。
整数
countTimeEntry(date("startdate"), date("enddate"))
または
countTimeEntry(symbolicdate(),symbolicdate())
オプションの時間枠で期間が 0 より大きいアイテムのタイムエントリの数を返します。
整数
countTimeEntryByUser(user[,user...] [,date("startdate"),date("enddate")])
または
countTimeEntryByUser(user[,user...] [,symbolicdate(),symbolicdate()])
オプションの時間枠で期間が 0 より大きい、特定のユーザーによって行われたアイテムのタイムエントリの数を返します。
整数
countTimeEntryByGroup(group[,group...] [,date("startdate"),date("enddate")])
または
countTimeEntryByGroup(group[,group...] [,symbolicdate(),symbolicdate()])
オプションの時間枠で期間が 0 より大きい、特定のグループによって行われたアイテムのタイムエントリの数を返します。
整数
firstTimeEntryDate()
そのアイテムに対して記録されたもっとも早い日時を返します。
日付
lastTimeEntryDate()
そのアイテムに対して記録されたもっとも遅い日時を返します。
日付
集計関数
名前と説明
戻り値
sum(numeric-expression)
集計の対象となる各アイテムに対して計算される式を追加します。
数値式と同じで、整数または浮動小数点
avg(numeric-expression)
集計の対象となる各アイテムに対して計算される式を追加し、その集計を空ではないエントリの数で除算します。
浮動小数点
min(numeric-expression or timestamp)
集計の対象となる各アイテムの中から、最小の式を見つけます。すべての式が空の場合、結果は空となります。
数値式と同じで、整数、浮動小数点、またはタイムスタンプ
max(numeric-expression or timestamp)
集計の対象となる各アイテムの中から、最大の式を見つけます。すべての式が空の場合、結果は空となります。
数値式と同じで、整数、浮動小数点、またはタイムスタンプ
count()
集計の対象となるアイテムの数を返します。
整数
sumTimeEntrySecs[(date("startdate"),date("enddate"))]
または
sumTimeEntrySecs[(symbolicdate(),symbolicdate())]
オプションの時間枠でアイテムに費やされた合計時間 (秒数) を返します。
整数
sumTimeEntrySecsByUser(user[,user...][,date("startdate"),date("enddate")]
または
sumTimeEntrySecsByUser(user[,user...][,symbolicdate(),symbolicdate()]
オプションの時間枠で、指定されたユーザーによってアイテムに費やされた合計時間 (秒数) を返します。
整数
sumTimeEntrySecsByGroup(group[,group...][,date("startdate"),date("enddate")])
または
sumTimeEntrySecsByGroup(group[,group...][,symbolicdate(),symbolicdate()])
オプションの時間枠で、指定されたグループによってアイテムに費やされた合計時間 (秒数) を返します。
整数
sumTimeEntrySecsByState(state[,date("startdate"),date("enddate")])
または
sumTimeEntrySecsByState(state[,symbolicdate(),symbolicdate()])
アイテムが指定の状態だった間、アイテムに費やされた合計時間 (秒数) を返します。
整数
sumTimeEntrySecsByStateByUser(state, user[,date("startdate"),date("enddate")])
または
sumTimeEntrySecsByStateByUser(state (user[,symbolicdate(),symbolicdate()])
アイテムが指定の状態だった間、指定されたユーザーによってアイテムに費やされた合計時間 (秒数) を返します。
整数
sumTimeEntrySecsByStateByGroup(state, group[,date("startdate"),date("enddate")])
または
sumTimeEntrySecsByStateByGroup(state, group[,symbolicdate(),symbolicdate()])
アイテムが指定の状態だった間、指定されたグループによってアイテムに費やされた合計時間 (秒数) を返します。
整数
sumTimeEntrySecsByPhase(phaseField, phase[,date("startdate"),date("enddate")])
または
sumTimeEntrySecsByPhase(phaseField, phase[,symbolicdate(),symbolicdate()])
指定されたフェーズ中にアイテムに費やした合計時間 (秒) を返します。
整数
sumTimeEntrySecsByPhaseByUser(phaseField, phase, user[,user...][,date("startdate"),date("enddate")])
または
sumTimeEntrySecsByPhaseByUser(phaseField, phase, user[,user...][,symbolicdate(),symbolicdate()])
指定されたフェーズ中に特定のユーザーがアイテムに費やした合計時間 (秒) を返します。
整数
sumTimeEntrySecsByPhaseByGroup(phaseField, phase, group[,group...][,date("startdate"), date("enddate")])
または
sumTimeEntrySecsByPhaseByGroup(phaseField, phase, group[,group...][,symbolicdate(),symbolicdate()])
指定されたフェーズ中に特定のグループがアイテムに費やした合計時間 (秒) を返します。
整数
LastResultAgg()
アイテム グループの最新のテスト結果レコードの 内部 ID を返します。この関数は、AggregateAggregateByTree、または Query 関数と一緒に使用する必要があります。たとえば、AggregateByTree (LastResultAgg()) です。内部 ID を表示文字列に変換するには、TestVerdictName 関数と一緒に使用する必要があります。たとえば、TestVerdictName(LastResultAgg()). です。
整数
テキスト関数
名前と説明
戻り値
Text(string)
テキスト定数を作成します。
* 
文字列に特殊文字が含まれていなければ、引用符は不要です。たとえば、text("REQ")text(REQ) は同じ文字列として認識されます。
テキスト
Length(string-expression)
文字列の長さを返します。
整数
Upper(string-expression)
文字列を大文字に変換します。
テキスト
Lower(string-expression)
文字列を小文字に変換します。
テキスト
Concat(string-expression, string-expression[, ...])
複数の文字列を連結します。
テキスト
Substring(string-expression, start, count)
文字列から部分文字列を取得します。部分文字列は 1 番目の文字から count 番目の文字までの文字列です。start オフセットは origin 1 です。startcount 正の整数定数でなければなりません。
次の条件は空の文字列を返します。
start が 0 以下。
start が処理対象の文字列の長さより大きい。
count が 0 未満。
startlength の合計が処理対象の文字列の長さより大きい場合、文字列の最初の文字から最後の文字までが返されます。不足分は空白では埋められません。
テキスト
Locate(string-expression, string-expression)
文字列 1 で文字列 2 の中を検索します。
startsWith を追加するには、Locate(x, y) == 1 を入力します。
文字列 1 が見つかった文字列 2 のオフセット値で、文字列 1 が文字列 2 の先頭に見つかった場合は値が 1 になります。見つからない場合、0 (ゼロ) が返されます。
整数
Trim(string-expression)
文字列の最初と最後の空白を取り除きます。
テキスト
LTrim(string-expression)
文字列の最初の空白を取り除きます。
テキスト
RTrim(string-expression)
文字列の最後の空白を取り除きます。
テキスト
ToText(number-expression)
数値を文字列に変換します。
テキスト
ToTextZeroPad(number-expression, size)
数値を 0 (ゼロ) で桁揃えされた文字列に変換します。
size は、正の整数定数でなければなりません。
数値の桁数が size で指定された値以上の場合、そのままの数値が返されます。そうでない場合、上位の桁は 0 (ゼロ) の文字で埋められます。負の数値の場合、最初の文字はマイナス記号 (-) になります。
テキスト
外部情報関数
名前と説明
戻り値
SICPCount([cpstate, ...])
アイテムに関連付けられている変更パッケージの数を返します。次の中からカウントに含める変更パッケージの状態を 1 つ以上指定します。
終了
オープン
サブミット済み
承諾済み
拒否済み
破棄済み
コミット失敗
いずれの引数も指定しない場合、すべての変更パッケージの数が返されます。
整数
SICPEntryCount([cpentrytype, ...])
アイテムに関連付けられている変更パッケージエントリの数を返します。次の中からカウントに含める変更パッケージエントリのタイプを 1 つ以上指定します。
Update
Add
Drop
Lock
RenameFrom
RenameTo
UpdateRevision
UpdateArchive
AddFromArchive
MoveMemberFrom
MoveMemberTo
CreateSubproject
AddSubproject
AddSharedSubproject
DropSubproject
ConfigureSubprojectFrom
ConfigureSUbprojectTo
MoveSubprojectFrom
MoveSubprojectTo
いずれの引数も指定しない場合、一意の変更パッケージエントリ操作すべての数が返されます。たとえば、名前変更操作は RenameFromRenameTo という別の操作のエントリとしてではなく、1 つのエントリとしてカウントされます。
整数
SICPBytesAdded()
アイテムに関連付けられているすべての変更パッケージの各変更パッケージエントリによって追加されたバイト数の合計を返します。
バイナリ ファイルに対しては 0 を返します。
指定する引数は、変更パッケージ内のメンバーとテキスト定数の末尾が一致する必要があります。たとえば、SICPBytesAdded(".java", ".c") です。
整数
SICPBytesDeleted()
アイテムに関連付けられているすべての変更パッケージの各変更パッケージエントリによって削除されたバイト数の合計を返します。
バイナリ ファイルに対しては 0 を返します。
指定する引数は、変更パッケージ内のメンバーとテキスト定数の末尾が一致する必要があります。たとえば、SICPBytesDeleted(".java", ".c") です。
整数
SIDaysCPOpen()
アイテムに関連付けられている変更パッケージが開かれた合計日数を返します。
変更パッケージが現在開かれている場合、現在時刻が日数の計算に使用されます。
過去の日時を基にこの関数を使用する場合、指定した時刻に基づいてカウントされます。指定した時刻より後に作成された変更パッケージはカウントされません。指定した時刻の後に閉じられた変更パッケージが開いていた日数は、閉じられた時刻を指定時刻に使って計算されます。
整数
SICPLinesAdded()
アイテムに関連付けられているすべての変更パッケージの各変更パッケージエントリによって追加された行数の合計を返します。
バイナリ ファイルに対しては 0 を返します。
指定する引数は、変更パッケージ内のメンバーとテキスト定数の末尾が一致する必要があります。たとえば、SICPLinesAdded(".java", ".c") です。
整数
SICPLinesDeleted()
アイテムに関連付けられているすべての変更パッケージの各変更パッケージエントリによって削除された行数を返します。
バイナリ ファイルに対しては 0 を返します。
指定する引数は、変更パッケージ内のメンバーとテキスト定数の末尾が一致する必要があります。たとえば、SICPLinesDeleted(".java", ".c") です。
整数
SIMetric(siproject-field-name, metric name)
コンフィギュレーション管理プロジェクトに対して計算されたメトリックの値を返します。
整数
SIMetricCount(siproject-field-name, metric name)
コンフィギュレーション管理プロジェクトのメトリックの値を構成するアイテム数を返します。
整数
NumberOfEntriesToState(state-name)
指定される状態になった回数を返します。特定の状態を指定しない場合は、"Unspecified" と入力します。たとえば、NumberOfEntriesToState("Unspecified") です。
整数
numberOfHistoryEntries()
アイテムに関連付けられているデルタの数を返します。これはアイテムが編集された回数を示します。
整数
numberOfModifications(field-name)
指定されたフィールドに対するデルタまたは変更の回数を返します。
整数
HistoricFieldValue(field-name, timestamp-constant)
指定されたフィールドの過去の特定の時点での値を返します。
警告: この操作は、完了するまでに時間がかかることがあります。
指定されたフィールド名のタイプ
RelCount(relationship-field)
指定された関連フィールドに対して関連付けられたアイテムの数を返します。これは aggregate(relationship-field, count()) と機能的に同じです。
整数
RelExists(relationship-field)
指定された関連フィールドに対して、その関連が存在するかどうかを返します。
ブール演算
Aggregate(relationship-field, ByDocument(recurseInclude,recurseReference)[, ...], aggregate-expression)
Aggregate 関数は単一のアイテムに対して実行され、その単一のアイテムを使用して複数のアイテムを検索し、それらの複数のアイテムに対して集計式を実行して単一の値を生成します。
* 
関連フィールドを少なくとも 1 つ指定する必要があります。
複数の関連フィールドの場合、指定の関連フィールドに従って、レベルごとに計算が実行されます。次に例を示します。
Aggregate(“Field1”,“Field2”,“Field3”,…, sum(IntegerField))
最初のレベルでは、Aggregate 関数は Field1 にあるすべての関連付けアイテムを検出し、結果用に値を合計します。この結果は、値セットの一部になります。
2 番目のレベルでは、Aggregate 関数により最初のレベルで検出された関連付けアイテムが取得され、Field2 にあるすべての関連値が検出されます。これらの値の合計は、値セットに追加されます。
3 番目のレベルでは、Aggregate 関数により 2 番目のレベルで検出された関連付けアイテムが取得され、Field3 にあるすべての関連値が検出されます。これらの値の合計も、値セットに追加されます。
指定された関連フィールドのレベルごとにループが繰り返されます。IntegerField の合計値 (単一の値) は、各レベルで検出された結果の値セットから計算されます。
* 
関連が複雑な場合やネストが深い場合は、Aggregate 関数によって Windchill RV&S Server のパフォーマンスが低下する可能性があります。
ByDocument 関数は、関連フィールドでドキュメントとして検出されたアイテム (contains 関連で検出されたアイテム) に対して機能し、それらに関連付けられたすべてのノードを探し、格納ドキュメントと参照ドキュメントに再帰します。
* 
ByDocument 関数は、集計計算で最初のフィールドとして適用される必要があります。
集計式のタイプ
Query(query-name-string[, correlation-field[, ...]], aggregate-expression)
1 つのアイテムを対象にその 1 つのアイテムを使用して操作し、1 つの値に集計される複数のアイテムを見つけます。query-name-string はクエリーの名称で、"username:queryname" の構文で記述されます。correlation-fields を指定しない場合、現在のアイテムの値は使用されず、式の結果は定数になります。この集計式はクエリーを満たすアイテムすべてに対して実行されます。そうでない場合、指定された各 correlation-field とソースアイテムとの一致が必須となるようにクエリーが変更されます。そうして得られたアイテムのリストに対して aggregate-expression が実行され、結果が返されます。
整数または浮動小数点で、集計式によって異なる
Query(query-name-string[, source-correlation-field, target-correlation-field[, ...]], aggregate-expression)
これは前述の Query 関数の、より汎用的な形式です。source-correlation-fieldtarget-correlation-field が同じ場合、前述の Query 関数を使う方が簡単です。この Query 関数は、ソース アイテムとターゲット アイテムの間で一致するフィールドの一覧を取得します。この関数は、関連するすべてのアイテムの値と等しいフィールドセットがあるマスタアイテム、特に「プロジェクト」フィールドとの間で一致させる必要がある場合に役立ちます。
整数または浮動小数点で、集計式によって異なる。Query 関数を参照してください。
QueryCorrelated(query-name-string[, source-correlation-field, target-correlation-field[, ...]], aggregate-expression)
QueryQueryCorrelated 関数として表すには、aggregation-field から source-correlation-fieldtarget-correlation-field の両方として Query を指定します。
両方向に一致するフィールドを指定できます。バックアップしたアイテムの選択リスト (IBPL) フィールドに便利です。たとえば、アプリケーションなどのセットを定義するアイテムタイプがある場合、IBPL がアプリケーションの各メンバーをアプリケーションにリンクする一方で、クエリーに裏付けられた関連 (QBR) フィールドを使って各アプリケーションとアプリケーションの各メンバーがリンクされます。アプリケーションアイテムからアイテム ID を使用し、アプリケーションのメンバーであり不具合のアプリケーションである IBPL に関連付けて、QueryCorrelated 関数をアプリケーションで使用することができます。次に例を示します。
QueryCorrelated("All Defects", ID, "Application IBPL", count())
整数または浮動小数点で、集計式によって異なる。Query 関数を参照してください。
アイテム情報関数
名前と説明
戻り値
getFieldValue(item#, field)
特定のアイテム ID 内のフィールド値を返します。たとえば、getFieldValue (234, “Found in Build”) と指定すると、Defect 234 の Found in Build フィールドの値である 7415 が返されます。
フィールド タイプによって異なる
IsState(statename[, ...])
アイテムの状態が引数リストで指定されたいずれかの状態である場合に、true を返します。
特定の状態を指定しない場合は、"Unspecified" と入力します。例: IsState("Unspecified")
ブール演算
IsType()(typename[, ...])
アイテムのタイプが引数リストで指定されたいずれかのタイプである場合に、「真」を返します。
ブール演算
IsNode()
アイテムがいずれかのタイプのノードである場合、「真」を返します。
ブール演算
IsSegment()
アイテムがいずれかのタイプのセグメントである場合、true を返します。
ブール演算
IsSharedItem()
アイテムがいずれかのタイプの共有アイテムである場合、true を返します。
ブール演算
IsContent()
アイテムがいずれかのタイプのコンテンツである場合、true を返します。
ブール演算
IsSubsegment()
アイテムがいずれかのタイプのサブセグメントである場合、true を返します。
ブール演算
IsMeaningful()
アイテムのタイプが、意味を持つノードまたはセグメントのいずれかである場合、true を返します。
ブール演算
IsNonMeaningful()
アイテムがいずれかのタイプのノード、またはセグメントが有意でない場合、true を返します。
ブール演算
IsGroupDocument()
アイテムがグループドキュメントフラグの設定されたいずれかのタイプのセグメントである場合、true を返します。
ブール演算
IsTestCase()
テストケースのテスト管理ロールを持つアイテムタイプである場合、true を返します。
ブール演算
IsTestSession()
テストセッションのテスト管理ロールを持つアイテムタイプである場合、true を返します。
ブール演算
IsTestStep()
テストステップのテスト管理ロールを持つアイテムタイプである場合、true を返します。
ブール演算
IsTestSuite()
テストスイートのテスト管理ロールを持つアイテムタイプである場合、true を返します。
ブール演算
IsLive()
アイテム タイプ ノードまたはセグメントがライブである場合、true を返します。この関数は、計算でのみライブ アイテムを指定するのに役立ちます。
ブール演算
IsVersioned()
アイテムタイプノードまたはセグメントがバージョン管理されている場合、true を返します。この関数は、計算でのみバージョン付きアイテムを指定するのに役立ちます。
ブール演算
テスト関数
名前と説明
戻り値
TestVerdict(test-verdict-name)
比較に使用できるテスト判定の名前の定数。たとえば、LastResult()==TestVerdict(Passed) です。
テキスト
TestVerdictByType(verdict-type-name)
テスト判定タイプ定数は、passfailotherに対応します。
テキスト
TestVerdictName(id)
ID に対応する判定の表示名を返します。たとえば、TestVerdictName(TestVerdict(Passed)Passed を返します。TestVerdictName(LastResult()) は最後のテスト結果を文字列として返します。
テキスト
TestVerdictTypeName(verdict-type-id)
テスト判定タイプの名前を返します。たとえば、TestVerdictTypeName(TestVerdictByType(pass))Pass を返します。
テキスト
VerdictToType(verdict-id-expression)
指定された判定 ID に対応する判定タイプの数値を返します。この値を LastResult() に適用して結果の判定タイプを確認することができます。たとえば、VerdictToType(LastResult())==TestVerdictByType(pass) では、結果の判定タイプが合格だったかどうかを確認できます。
整数
ResultCount(test-verdict-name)
特定の判定のテスト結果の数を返します。たとえば、ResultCount(Passed) は、合格したテスト結果の数を返します。この関数は、テスト セッション タイプのアイテムで使用します。
整数
ResultCountByType(verdict-type-name)
特定の判定タイプ (passfailother) のテスト結果の数を返します。たとえば、判定タイプが失敗のテスト判定が 2 つある場合、関数 ResultCountByType(fail) は、判定がそれらのいずれかであるテスト結果の数を返します。この関数は、テスト セッション タイプのアイテムで使用します。
整数
ResultCount(Relationship-field, test-verdict-name)
関連するテスト セッション タイプのアイテムの判定が特定のものであるテスト結果の数を返します。
整数
ResultCountByType(Relationship-field, verdict-type-name)
関連するテストセッションアイテムの判定タイプが特定のもの (passfailother) であるテスト結果の数を返します。
整数
LastResult()
現在のアイテムの最新のテスト結果の 内部 ID を返します。内部 ID を表示文字列に変換するには、TestVerdictName 関数と一緒に使用する必要があります。たとえば、TestVerdictName(LastResult()). です。
整数
LastResultAnnotation()
現在のアイテムの最新のテスト結果の注釈を返します。オプションでテストセッション ID のリストを指定することもできます。たとえば、LastResultAnnotation(sessionID1, sessionID2, sessionID3, ...) は 1 つまたは複数のセッション ID のリストの最新のテスト結果の注釈を返します。
テキスト
LastResultSessionID()
現在のアイテムの最新のテスト結果のセッション ID を返します。オプションでテストセッション ID のリストを指定することもできます。たとえば、LastResultSessionID(sessionID1, sessionID2, sessionID3, ...) は 1 つまたは複数のセッション ID のリストの最新のテスト結果のセッション ID を返します。
整数
LastResultDate()
現在のアイテムの最新のテスト結果が修正された日付を返します。オプションでテストセッション ID のリストを指定することもできます。たとえば、LastResultDate(sessionID1, sessionID2, sessionID3, ...) は 1 つまたは複数のセッション ID のリストの最新のテスト結果の日付を返します。
日付
LastResultFreezeDate()
現在のアイテムの最新のテスト結果のフリーズ日付を返します。オプションでテストセッション ID のリストを指定することもできます。たとえば、LastResultFreezeDate(sessionID1, sessionID2, sessionID3, ...) は 1 つまたは複数のセッション ID のリストの最新のテスト結果のフリーズ日付を返します。
日付
* 
使用例を容易にするために LastResult テスト管理計算を組み合わせることができます。たとえば、そのテストケースが最後にテストされたプロジェクトを示すフィールドを使って、テストケースに注釈することができます。これを行うには、GetFieldValue(LastResultSessionID(),"Project") のような式をテストケースで使用します。