カスタム検証の操作

カスタム検証を使用すると、カスタム・ビジネス・ロジックを追加して、アプリケーション、ディメンション、ノード・タイプおよび階層セットでデータ・ルールを適用できます。検証が作成されたデータ・チェーン・オブジェクトのインスペクタの「検証」タブで、カスタム検証を操作します。

考慮事項

  • カスタム検証を作成、編集または削除するには、少なくともディメンションに対する所有者またはメタデータ・マネージャ権限が必要です。
  • ノード・タイプの検証は、ノード・タイプ別にビューポイント内のすべてのノードに対して実行されます。
  • 階層セットの検証は、ビューポイントが階層である場合は、ビューポイント内のすべてのノードに対して実行されます。
  • 検証は、要求が実行された後のノードの状態(つまり、要求がコミットされた後のノードの状態)で実行されます。要求が実行される前のノードの状態で検証を実行することはできません。
  • 要求が送信、承認、コミットされたとき、または検証が実行されたときに検証が実施されます。次の表に、異なるコンテキストで検証が実行されるときにどのカスタム検証が実行されるかを示します。
検証コンテキスト 実行される検証
要求の検証 カスタム検証は、トリガー・アクションまたはトリガー・プロパティを満たす要求アイテムに対して実行されます
開いている要求のあるビューポイントの検証 カスタム検証は、要求アイテムを含む、ビューポイント内のすべてのノードに対して実行されます
要求の範囲外のビューポイントの検証 カスタム検証は、トリガー・プロパティを満たし、トリガー・アクションを満たさない要求アイテムに対して実行されます

カスタム検証の作成

  1. 検証を追加するデータ・チェーン・オブジェクトを検査します。次を参照してください:
  2. 次のいずれかのアクションを実行します。
    • アプリケーション、ノード・タイプ、階層セットおよび汎用アプリケーションのディメンションの場合: 「検証」タブで、「作成」をクリックします。
    • 汎用以外のアプリケーションのディメンションの場合: 「検証」タブで、「カスタム」サブ・タブをクリックし、「作成」をクリックします
  3. 検証の名前、およびオプションで説明を入力し、「作成」をクリックします。

    検証が検証インスペクタに表示されます。

カスタム検証の編集

  1. カスタム検証を編集するデータ・チェーン・オブジェクトを検査します。
  2. 次のいずれかのアクションを実行します。
    • アプリケーション、ノード・タイプ、階層セットおよび汎用アプリケーションのディメンションの場合: 「検証」タブで、「編集」をクリックします。
    • 汎用以外のアプリケーションのディメンションの場合: 「検証」タブで、「カスタム」サブ・タブをクリックし、「編集」をクリックします
  3. 検証インスペクタの「全般」タブで、「編集」をクリックして検証の名前または説明を編集します。
  4. 「定義」タブで、次の情報を入力して検証を定義します:
    • 「有効」フラグ: カスタム検証が実施されるかどうかを指定します。デフォルトで検証は無効化されており、次の条件を満たす場合のみ有効化できます。
      • 有効な式が定義されています
      • 少なくとも1つのトリガー・アクションまたはトリガー・プロパティが構成されています
      • エラー・メッセージが定義されています

      注:

      ノード・タイプまたは階層セット・インスペクタの「検証」タブから検証を有効または無効にすることもできます。カスタム検証の有効化、無効化または削除を参照してください。
    • : 「式の定義」 式の定義 (またはテーマに応じて式の定義)をクリックして式ビルダーを開き、検証のビジネス・ロジックを定義します。式を使用したカスタム・ビジネス・ロジックの定義を参照してください。

      検証の式はブール値を返す必要があります。式がTrueの値を返す場合、検証は成功です。式がFalseの値を返す場合、検証は失敗し、エラー・メッセージが表示されます。

    • トリガー・アクション: 検証が実行される1つ以上の要求アクションを選択するか、「すべて」チェック・ボックスを選択してすべてのアクションを選択します。
    • トリガー・プロパティ: 更新された場合に検証が実行される1つ以上のプロパティを選択するか、「すべて」チェック・ボックスを選択してすべてのプロパティを選択します。
      • ノード・タイプ検証の場合、そのノード・タイプに割り当てられているすべてのプロパティを選択できます。
      • 階層セット検証の場合、その階層セットで参照される任意のノード・タイプに割り当てられているすべてのプロパティを選択できます。

      ヒント:

      検証は、要求内のすべてのトリガー・アクションおよびトリガー・プロパティに対して実行されます。つまり、複数のトリガー・プロパティを追加し、それらのすべてが失敗した場合、複数のエラー・メッセージを受信します。要求でビジネス・ロジックを適用する最小数のトリガー・プロパティまたはトリガー・アクションを追加する必要があります。

    • 要求状況: 要求のコンテキストでカスタム検証が実行される状況を選択します:
      • コミット済(デフォルト): 要求アイテムおよびアクションがビューポイントに適用されたのデータに対して検証が評価されます。「コミット済」状況でデータ条件を評価するときに、要求で除去または削除されたノードは除外されます。
      • ビジュアル化済: 要求アイテムおよびアクションがビューポイントに適用されるのデータに対して検証が評価されます。「ビジュアル化済」状況でデータ条件を評価するときに、要求で除去または削除されたノードも含まれます。

        注:

        「ビジュアル化済」状況を使用する評価を実行するのは、要求アイテムを評価するときのみであり、ビューポイントを評価するときには実行しないでください。
    • 重要度: 「要求送信」、「承認」および「コミット」ステージおよびビューポイントの検証時とディメンションのエクスポート時における検証の重要度(「エラー」「警告」「無視」)を選択します。検証重要度の理解を参照してください。
    • エラー・メッセージ: 検証に失敗した場合にユーザーに表示されるメッセージを入力します。
  5. 「保存」をクリックします。

カスタム検証の有効化、無効化または削除

  1. カスタム検証を有効化、無効化または削除するデータ・チェーン・オブジェクトを検査します。
  2. 次のいずれかのアクションを実行します。
    • アプリケーション、ノード・タイプ、階層セットおよび汎用アプリケーションのディメンションの場合: 「検証」タブで、「編集」をクリックします。
    • 汎用以外のアプリケーションのディメンションの場合: 「検証」タブで、「カスタム」サブ・タブをクリックし、「編集」をクリックします
  3. アクションを実行する検証の横にある「アクション」列で、アクションをクリックし、オプションを選択します:
    • 有効化(評価が無効になっている場合にのみ使用可能)
    • 無効化(評価が有効になっている場合にのみ使用可能)
    • 削除
  4. 確認メッセージで「はい」をクリックした後、「保存」をクリックします。

カスタム検証の例

この例では、Corporate Planningアプリケーションの「勘定科目」ノード・タイプに、すべてのノード名がそのノードの親と同じ文字で開始する必要があるという検証を追加します。次のスクリーンショットに、作成したカスタム検証を示します。


勘定科目ノード・タイプおよび説明のスクリーンショット

検証には次の定義があります:

  • 「有効」フラグがTrueに設定されています。
  • ノード名がノードの親の名前の最初の文字と同じ文字で開始する場合、式はTrueの値を返し、そうでない場合はFalseの値を返します。
  • 検証のトリガー・アクションは「追加」および「名前変更」で、トリガー・プロパティは「名前」です。
  • エラー・メッセージは、勘定科目ノードがその親ノードと同じ文字で開始しない場合は検証が失敗することを示しています。

検証をテストするために、親の最初の文字とは異なる文字で名前が開始する、「勘定科目」ノード・タイプのノードを追加する要求を送信してみましょう。ここでは、親ノードOFS_Total Revenueの下に、Project Revenueという名前のノードを追加してみます。


スクリーンショットは、検証エラーを示しています

要求を送信すると、ノード名はその親ノードと同じ文字で開始する必要があるという検証エラーが表示されます。