サーバー管理 > フィールド、チャート、およびレポート内の計算 > 計算フィールドの作成
  
計算フィールドの作成
計算フィールドを使用すると、アイテム内またはアイテム間で計算を実行し、その結果を読み取り専用フィールド (計算フィールド) の値として保存することができます。アイテム内の計算は、計算フィールドが含まれている同じアイテム内の 1 つ以上のフィールドに対して実行され、アイテム間の計算は、関連またはクエリー上の集計関数経由で参照される別のアイテムからフィールドに対して実行されます。
計算式フィールドを定義するパラメータには、主に以下に示す 3 つのパラメータがあります。
「計算の定義」パラメータ
「履歴に保存する頻度」パラメータ
「計算の実行方法」パラメータ
「計算の定義」パラメータ
これは、実際の計算式です。詳細については、計算式の規則を参照してください。
「履歴に保存する頻度」パラメータ
このパラメータで、 Windchill RV&S による計算の結果をデータベースに保存する頻度を指定します。次のオプションが選択できます。
never: データベースに計算結果が保存されません。
daily: 計算結果がデータベースに毎日保存されます。
weekly: 計算結果がデータベースに毎週保存されます。
monthly: 計算結果がデータベースに毎月保存されます。
delta: 計算結果が各デルタのデータベースに保存されます。
* 
これらの計算は、各トリガーの実行に依存します。また、これらの計算は、「計算の実行方法」の値が「static」に設定されている場合のみ有効です。
「計算の実行方法」パラメータ
このパラメータにより、計算の実行方法を指定します。次のオプションが選択できます。
static」を選択すると、フィールドがスケジュールに基づいて計算され、「履歴に保存する頻度」一覧で選択した値に基づいて計算結果がアイテムの履歴に格納されます。静的なフィールドの列は、データベースのアイテム行に格納されます。クエリーや集計関数など、多くの外部関数が式に含まれている場合は、「静的」を選択する必要があります。静的な計算フィールドの計算については、静的な計算フィールドの計算を参照してください。
dynamic」を選択すると、フィールドはフィールド値が取得されるたびに計算されます。デフォルトでは、動的なフィールドの列がデータベースのアイテム行に格納されることはありませんが、「動的」を選択し、「never」が適切なオプションとして設定されている「履歴に保存する頻度」一覧で頻度を選択することができます。デフォルトのオプションは「dynamic」です。
重要な考慮事項
ユーザーに表示する権限がない 1 つ以上のフィールドを使用して式を作成した場合、ユーザーには表示する権限があるフィールドだけが表示されます。
各計算フィールドはアイテムに表示される順序で計算されます。ただし、計算フィールドが別の計算フィールドの値に依存する場合は、その依存先の値が含まれる計算フィールドの後に計算されます。データベースのアイテムの数、および依存関係のある計算フィールドを含むアイテムの数によって、計算フィールドの値の計算に時間がかかることがあります。
im analytics --recomputehistory -gコマンドを使用して、計算フィールドを特定の時間枠内で計算し、その値をアイテムの履歴に格納できます。このコマンドは、履歴トレンドをチャートで示す際に役立ちますが、現在のアイテム データの履歴を修正することはできません。詳細については、計算フィールドを使用した状態メトリックの計算を参照してください。
計算テキスト フィールドでは、数字、短いテキスト、および長いテキストのフィールドのみが受け入れられます。
計算フィールドに結び付けられたフィールド値属性に対して編集可能性の規則を作成することはできません。
作成した動的な計算フィールドを、パフォーマンス向上のために後で静的な計算フィールドに変換する方法については、静的な計算フィールドの計算を参照してください。
例: オープン タスク数
「オープンタスク数」フィールドは、1 つのアイテムとすべてのサブアイテムに属するオープンタスク (変更依頼、不具合、テスト目標) の数を表示する整数フィールドです。製品と製品のポートフォリオの場合は、アクティブ プロジェクトのみが含まれます。プロジェクトのポートフォリオの場合は、すべてのプロジェクトが含まれます。この計算では、変更依頼や不具合といったタスクのようなオブジェクトだけが「タスク フェーズ」フィールドを公開することを前提とします。
計算の定義:
IsEmpty("Open Change Order Count for Project",0) +
IsEmpty("Open Defect Count",0) +
IsEmpty("Open Test Session Count",0)
履歴に保存する頻度: daily
計算の実行方法: static
例: 新しい不具合数 - 優先度重大
「新しい不具合数 - 優先度重大」フィールドは、重大な優先度の不具合を特定する整数フィールドです。
計算の定義:
IsEmpty(Query("administrator:New Defects - Priority Critical",Project,count()), 0)
履歴に保存する頻度: weekly
計算の実行方法: static
例: テスト セッションのテスト数
「テストセッションのテスト数」フィールドは、テストセッションの「テスト」フィールドによって定義されているテストケースを表示する整数フィールドです。これは、「固定日付のテスト数」フィールドによって使用される一時的なフィールドです。
計算の定義:
aggregate(Tests, byDocument(true,true),sum(isTestcase() and isMeaningful() ? 1 : 0))
履歴に保存する頻度: never
計算の実行方法: dynamic
例: 合格率による検証
「合格率による検証」フィールドは、Passed の最終的な結果を持つ「トレース数による検証」のパーセンテージを決定する整数フィールドです。これは、要件テスト カバレッジと仕様テスト カバレッジのレポートで要件ごとおよび仕様ごとにテスト ステータスを表示するために使用されます。
計算の定義:
"Validated By Trace Count" > 0 ? ( (isEmpty("Validated By Pass Count",0) + 0.001)
/ "Validated By Trace Count") : 0
履歴に保存する頻度: daily
計算の実行方法: static
例: 特定のタイプに基づく関連アイテムの数
「関連テストタイプの合計数」フィールドは、特定のアイテムの「前方関連」フィールド内のテストタイプアイテムの数をカウントする整数フィールドです。その他のアイテムタイプはすべて無視されます。このフィールドは、関連フィールド内の特定のアイテムタイプについてレポートする場合に使用すると便利です (「前方関連」フィールド内のすべてのアイテムタイプに関する Windchill RV&Sレポートに含まれるデフォルトのレポートレシピ)。
計算の定義:
IsEmpty(aggregate("Forward Relationships", sum((Type = "Test_Type") ? 1: 0)), 0)
履歴に保存する頻度: daily
計算の実行方法: static
計算フィールドを作成するには