ドキュメントおよびプロセスに関する重要な質問の中には、ドキュメントフィールドの値を報告するだけでは回答できないものもあります。組織では、複数のフィールドの組み合わせのみから派生できる値を測定したり、フィールド値の履歴を分析したりする必要があるかもしれません。
これは、特別な数式タイプのフィールドを作成し、レポートで使用することで行うことができます。式フィールドは Excel のような式言語を使用して、他のフィールド値、一連の組込み関数、および標準演算子から結果を計算します。
サポートされる関数と演算子に関する詳細は、Vault 数式参照ガイド: ドキュメントレポート指標 (PDF) をご確認ください。
数式フィールドを作成するには
数式フィールドを作成するには:
- 管理者 > コンテンツ設定 > ドキュメントフィールドから、この数式フィールドを定義したいドキュメントタイプをクリックします。
- 追加…をクリックして、新しいフィールドを選択します。
- フィールドタイプに数式を選択します。
- フィールドのラベルを入力します。このラベルは、レポート列、フィルタ、またはフィールドごとのグループにフィールドを使用する際に表示されます。
- ステータスを設定します。ステータスが有効の場合、フィールドは保存するとすぐに利用できます。ステータスが無効の場合、フィールドを利用するにはステータスを変更する必要があります。
- Vault がフィールドの最終値を四捨五入する小数点の桁数を選択します。
- フィールドおよび関数パネルの項目、および必要に応じて演算子を使って、数式フィールドの式を作成します。これらのパネルから数式フィールドへ項目を移動するには、ハイライト表示して矢印アイコンをクリックします。数式フィールドは、基本テキストエディタのように機能します。Vault 数式参照ガイドで使用可能な関数および演算子に関する詳細をご確認ください。
- 検証をクリックします。Vault は、式が有効かどうかを表示します。
- フィールド値の処理オプションを選択します。空白値を 0 で処理するにより、Vault は 1 つ以上の値が空白でも計算を実行することができます。空白値を空白として処理するは、数式に空白値が含まれる場合、null または無効な結果を返します。空白地の処理について詳しくご確認ください。
- 任意の作業: ヘルプコンテンツにテキストを入力します。このテキストは、ユーザがドキュメントフィールド名にマウスオーバーすると表示されます。
- 保存をクリックします。
空白値の処理
フィールド値の処理に空白値を空白として処理するオプションを使用する場合、1 つの空白フィールド値によって、すべての式が null/空白値を返します。数式表現 Document.days_in_draft__c + Document.days_pending_qc__c
については、以下を参照してください。
下書きの日数 | QC 保留の日数 | 結果 |
---|---|---|
12 | 5 | 17 |
5 | 0 | 5 |
9 | 空白 | 空白 |
検証されたフィールドに指定された値がない場合、履歴関数は空白値を返します。例えば、関数 firstTimeinValue ( Document.status__v, "MLR 承認プロセス中")
は、ドキュメントが MLR 承認プロセス中ステータスになったことがない場合、空白を返します。
Vault は、数式に複数の関数が含まれている場合は、常に数式フィールドの空白値を空白 (0 ではない) として扱います。例: numTimesInValue(Document.status__v,"下書き") + numTimesInValue(Document.status\_\_v, "QC 保留")
。それぞれの関数に個別の数式フィールドを作成し、これらのフィールドを最終的な数式フィールド内で使用することで、これを迂回することができます。例: Times.in.draft__c + Times.in.pending.qc__c
。
日付フィールドを使ったタイムゾーン処理
Vault は、UTC のデータベースに、日付および日時のタイプフィールドのすべての値を保存します。dateDiff 値の計算時には、以下のルールを使用してタイムゾーンを変換します:
- 2 つの日付フィールドが関与する計算については、タイムゾーンの変換を実行しません。日付フィールドには時間がないものとみなされます。
- 2 つの日時フィールドが関与する計算については、タイムゾーンの変換を実行しません。両方のフィールド値は UTC に保存されるため、関数はタイムゾーンの影響を受けません。日付間の計算を実行し、四捨五入して整数にします。これらのフィールドを参照するレポートの場合、定義されている場合は値に小数位を含めて日付の差を正確に反映することができます。
- 日付フィールドと日時フィールドが関与する計算については、UTC の日時値を Vault のデフォルトタイムゾーン設定に変換し、値の時間部分を省略します。次に日付間の計算を実行します。Vault は、夏時間を考慮しません。
数式の例
これらの一般的な数式フィールドは、Vault でドキュメントおよびプロセスを分析する際に有効です。式表現は、式テキストフィールドへ直接コピーできます。
- 承認時間 (合計)
dateDiff(firstTimeInValue(Document.status__v, "QC 保留"), firstTimeInValue(Document.status__v, "生産の承認")
- 承認時間(生産時間)
dateDiff(firstTimeInValue(Document.status__v, "生産の承認"), firstTimeInValue(Document.status__v, "配布の承認"))
- リタイア: 有効期限前に廃止
dateDiff(firstTimeInValue(Document.status__v, "廃止", Document.expiration_date__c)
- フィルタ: 1 より大きいとともに使用
- 失効: 有効期限に廃止
dateDiff(firstTimeInValue(Document.status__v, "廃止", Document.expiration_date__c)
- フィルタ: 0 に等しいとともに使用
- レビューサイクル
numTimesInValue(Document.status__v, "MLRレビュー中")