属性ルールの作成および管理

属性ルール ビューを使用して、既存のルールを表示および管理したり、ルールを作成したりできます。 ルールの管理には、ルールのプロパティの変更、ルールのインポートおよびエクスポート、ルールの削除などのタスクがあります。

属性ルール ビューには、特定のデータセットの既存の属性ルールの表示とそのプロパティが表示されます。 属性ルールの作成または既存のルールの管理を行うには、データ所有者としてジオデータベースからビューにアクセスする必要があります。

属性ルールとそのプロパティに関する詳細

注意:

ArcGIS Pro Basic ライセンス、Web フィーチャ レイヤー、またはデータ所有者以外のユーザーとしてデータベース コネクションからアクセスした場合、属性ルール ビューは読み取り専用となります。

属性ルール ビューを開く

属性ルール ビューは次の場所から開くことができます。

  • [カタログ] ウィンドウ - フィーチャクラスまたはテーブルを右クリックし、[データ設計] > [属性ルール] をクリックします。
  • [コンテンツ] ウィンドウ - レイヤーまたはテーブルを右クリックし、[データ設計] > [属性ルール] をクリックします。
  • リボン - [コンテンツ] ウィンドウでレイヤーまたはテーブルを選択します。 [フィーチャ レイヤー] タブ セットで、[データ] タブをクリックし、[データ設計] グループの [属性ルール] をクリックします。

ナビゲーション セクション

属性ルール ビューを開くと、[計算][制約]、または [検証] タブをクリックして、さまざまなルール タイプを表示できます。 既存のルールが各タブに表示され、各行に個々のルールが表示されます。 ルールを選択すると、ルールのプロパティがビューの右側の詳細ウィンドウに表示されます。

[列] ボタンと [フィルター] ボタンを使用して、属性ルール ビューを構成します。 [列] ボタンを使用して、ルール リストに表示される列を変更できます。 [フィルター] ボタンを使用して、ルール プロパティで属性ルールをフィルターすることもできます。 フィルターでは、ルール リストの表示列が使用されます。

属性ルール ビュー

エレメント説明
1

[計算][制約][検証] のルール タイプの切り替えにタブを使用します。

2

ルールは、ビューのグリッド セクションに表示されます。 列をカスタマイズして、各ルールの表示される詳細の程度を調整できます。

3

詳細ウィンドウには、グリッドから選択したルールのプロパティが含まれます。このウィンドウは、ルールの作成時のプロパティの入力にも使用されます。

属性ルール ビューのナビゲーション セクション

属性ルール ビューの構成

属性ルールを確認するとき、[列] ボタンと [フィルター] ボタンを使用して、属性ルール ビューのグリッドに表示される情報をカスタマイズできます。

  1. 属性ルール ビューを開きます。
  2. [列] ドロップダウン メニューをクリックし、グリッドにどの列を表示するかを選択します:
    デフォルトでは、各ルールの [無効][ルール名][サブタイプ][リリース] 列がグリッド内に表示されます。
    • [フィールド] - 計算ルールの適用先となるフィールド。
    • [編集可能] -計算ルールに指定されたフィールドを編集可能に設定した場合に有効化します。
    • [説明] - 属性ルールの動作について詳細を説明したテキスト。
    • [エラー番号] - ルールの違反が発生した場合に返されるエラー番号。
    • [トリガー] - ルールをトリガーする編集イベントを表示する [挿入][更新]、および [削除] 列を追加します。
    • [無効] - ルールが無効になっている場合に有効化します。
    • [除外] - ルールがアプリケーションまたはクライアントにより評価されない場合に有効化します。
    • [リリース] - 属性ルールとスクリプト条件式に基づく ArcGIS クライアント リリースの互換性を表示する [最小の Pro リリース][最小の Enterprise リリース]、および [最小の Arcade リリース] 列を含みます。 詳細については、「スクリプト式における Arcade の互換性」をご参照ください。

    有効化すると、列が属性ルール ビューのグリッドにルール タイプごとに表示されます。

  3. [フィルター] ドロップダウン矢印をクリックして、フィルター クエリを構成します。

    フィルターをビューに適用すると、[フィルター] ボタン フィルター が青色でハイライト表示されます。

属性ルールの作成

属性ルールは最初から作成することも、属性ルール ビューやジオプロセシング ツールを使用して既存のテンプレートから作成することもできます。 属性ルールを作成する前に、データ ソースがルール タイプでサポートされていること、および基本データセットが排他ロックされていることを確認します。 これは、どの接続もサービスもそのデータセットにアクセスできないことを意味します。

注意:
データセットに属性ルールを追加すると、後方互換性に影響があります。
  • 属性ルールは、データセットに追加された後に、ArcMap または ArcGIS Pro 2.0 以前のリリースとの互換性がなくなります。 クライアントとジオデータベースのバージョンが異なる場合の利用可能な機能については、「クライアントとジオデータベースの互換性」をご参照ください。
  • 新しい Arcade 関数は、ArcGIS クライアントのどのリリースが属性ルールを含むデータセットにアクセスできるかに影響を与えます。 詳細については、「スクリプト式における Arcade の互換性」をご参照ください。

ユーザー定義の属性ルールの作成

属性ルール ビューでユーザー定義の属性ルールを作成するには、次の手順を実行します:

  1. 属性ルール ビューを開きます。
  2. [属性ルール] タブの [ルールの追加] グループで、作成したい属性ルール タイプのボタンをクリックします。

    ルールの追加グループ

    選択したルール タイプは、属性ルール ビューで有効になります。詳細ウィンドウが表示されるので、ここで新しいルールの詳細を入力します。

  3. 属性ルール ビューの詳細ウィンドウに、新しい属性ルールのプロパティを入力します。
    ヒント:
    次に示す一部のプロパティは、特定のルール タイプにのみ適用されます。 作成されるルール タイプに必須のプロパティは、属性ルール ビューに赤色のアスタリスク 赤のアスタリスク で示されます。

    • [ルール名] - ルールの一意の名前
    • [説明] - ルールとともに保存されている説明
    • [サブタイプ] - データセットにサブタイプが含まれる場合にルールが適用されるサブタイプ
    • [フィールド] - ルールの適用先となるフィールドの名前
    • [編集可能] - ルールに指定されたフィールドが編集可能かどうかを決定するチェックボックス
    • [式] - ルールを定義する Arcade 式:
      • [式の設定] 式の設定 を使用して、Arcade スクリプトを構成し確認します。
      • 構文エラーがある場合、行番号と理由がエラーに記されます。 [式の設定] で行番号を確認するには、式のテキスト ボックスを右クリックし、[ライン番号の表示] を選択します。
      • 属性ルール スクリプト式の作成の詳細
    • [トリガー] - ルールをトリガーする編集イベント:
      • [挿入] - このルールは新しいフィーチャの追加時に適用されます。
      • [更新] - このルールはフィーチャが更新された時点で適用されます。
      • [削除] - このルールはフィーチャが削除された時点で適用されます。
    • [トリガー フィールド] - フィーチャが更新されるとき、属性ルールの実行をトリガーするフィールド。
      注意:

      更新としてトリガー イベントが存在する、検索と制約ルールにのみ適用されます。

    • [実行] - ルールの評価動作を指定する設定:
      • [アプリケーション評価から除外] - オンにした場合、ルールはアプリケーションまたはクライアントにより評価されず、編集が適用された時点で評価されます。
      • [無効] - オンにすると、ルールが無効化されます。
      • [バッチ] - オンにすると、ルールはバッチ計算ルールとなり、検証サービスを使用して評価される必要があります。
    • [エラー番号] - ルールの違反が発生した場合に返されるエラー番号
    • [エラー メッセージ] - ルールの違反が発生した場合に返されるエラー メッセージ
    • [タグ] - ルールを識別する一連のタグ

  4. [属性ルール] タブの [保存] ボタン 更新 をクリックします。
  5. データセットに属性ルールが作成されます。

属性ルール テンプレートから属性ルールを作成する

属性ルール テンプレートは、特定のワークフロー用の属性ルールを作成するため役立ちます。

属性ルール ビューでテンプレートから属性ルールを作成するには、次の手順を実行します:

  1. 属性ルール ビューを開きます。
  2. 次のいずれかのオプションを使用して、属性ルール テンプレート ダイアログを開きます:
    • [属性ルール] タブの [ルールの追加] グループで、[計算ルール] ボタンの下半分をクリックし、[テンプレート] をクリックして、テンプレート属性ルールの 1 つをクリックします。
    • 属性ルール ビューで、[ルールの追加] ボタンのドロップダウン メニューをクリックし、[テンプレート] をクリックして、テンプレート属性ルールの 1 つをクリックします。

    テンプレート ルール ダイアログが表示されます。 各ダイアログには、選択した属性ルール テンプレートに固有のオプションとパラメーターが表示されます。

    テンプレート属性ルールの詳細

    注意:

    ダイアログの上端には、データセットの名前とともに、属性ルール テンプレートの名前が表示されます。

  3. 各パラメーターの値を入力し、[OK] をクリックします。

    入力された値が属性ルール ビューに表示されます。

  4. 属性ルール プロパティを確認し、必要ならルール名や説明などに変更を加えてから、[保存] をクリックします。

属性ルールの管理

データセットに属性ルールを作成したら、属性ルール ツールセットのツールと属性ルール ビューを使用してルールを表示および管理できます。 データセットに対して arcpy.Describe 関数を使用すると、属性ルール プロパティを印刷できます。 [属性ルールのエクスポート (Export Attribute Rules)] ツールの使用時に作成されたカンマ区切り値 (.csv) ファイルから、データセットの属性ルールを表示することもできます。

属性ルール ビューでは、ビューが開かれているデータセットまたはレイヤーの属性ルールを操作できます。 ビューがアクティブなとき、[編集の管理][編集][インポート/エクスポート] グループには、ルールを管理するためのツールとコマンドが含まれています。 これらのツールは、ビューおよび詳細ウィンドウと一緒に使用できます。

  • [保存] - 行った編集を確定します。
  • [ルールの削除] - 選択したルールを削除します。
  • [ルールの有効化] - 選択したルールを有効化します。
  • [ルールの無効化] - 選択したルールを無効化します。
  • [ルールのインポート] - .csv ファイルから属性ルールをインポートします。
  • [ルールのエクスポート] - .csv ファイルに属性ルールをエクスポートします。

データセットに対して属性ルールを一時的に無効にするには、属性ルール ビューを使用するか、[属性ルールの無効化 (Disable Attribute Rules)] および [属性ルールの有効化 (Enable Attribute Rules)] ツールを使用します。 これにより、一括データ読み込みのパフォーマンスが向上するため、ルールの実行を一時停止する必要がある場合に便利です。

既存のデータセット間で属性ルールを転送する場合は、[属性ルールのエクスポート (Export Attribute Rules)] および [属性ルールのインポート (Import Attribute Rules)] ツールを使用します。 [属性ルールのエクスポート (Export Attribute Rules)] ツールでは、属性ルールの定義が .csv ファイルに格納されます。

属性ルールは、ジオデータベース内のフィーチャクラスまたはテーブルのプロパティとして作成されます。 属性ルールは、ジオデータベースのデータセットとともにデータ転送プロセスに含まれます。コピーおよび貼り付け操作を行うか、[XML ワークスペース ドキュメントのエクスポート (Export XML Workspace Document)] および [XML ワークスペース ドキュメントのインポート (Import XML Workspace Document)] ツールを使用します。 [フィーチャクラス → フィーチャクラス (Feature Class To Feature Class)][テーブル → テーブル (Table To Table)] などのデータ移行ツールでは、基になるデータセットを含む属性ルールが転送されません。 バッチ計算および検証ルールを含むデータセットの場合、作成される出力データセットで検証ステータス属性がリセットされます。

注意:

コピーおよび貼り付け操作および XML ワークスペース ドキュメントを使用してデータセットを属性ルールとともに転送するとき、属性ルールのスクリプト式で参照される順序が含まれます。

既存のルール プロパティの変更

属性ルールを作成したら、属性ルール ビューを使用して特定のプロパティを変更できます。 属性ルールを変更するには、基本データセットを排他ロックする必要があります。

既存の属性ルールを変更するには、次の手順を実行します。

  1. 属性ルール ビューを開きます。
  2. 属性ルール ビューで、変更するルールのルール タイプを選択します。
    • 計算
    • 制約
    • 検証
  3. 特定の行をクリックして、変更するルールを選択します。

    詳細ウィンドウにルール プロパティが表示されます。

  4. 詳細ウィンドウで、次のルール プロパティのいずれかを変更します。

    • 説明
    • トリガー
    • トリガー フィールド
    • チェックボックスの無効化 (実行セクション)
    • アプリケーション評価から除外 (実行セクション)
    • エラー番号
    • エラー メッセージ
    • タグ

    注意:
    読み取り専用のルール プロパティは変更できません。 これらのプロパティを変更するには、ルールを削除してもう一度作成する必要があります。

  5. 計算ルールのみの場合、必要に応じて、評価順序を変更できます。 ビューの [計算] タブをクリックします。 ビューのルール リスト セクションで、評価順序で移動させたいルールの [順序] 列値を変更します。
  6. [属性ルール] タブの [保存] ボタン 更新 をクリックします。

    属性ルールのプロパティが更新されます。

データセット間での属性ルールのコピー

データセットに属性ルールを作成したら、所有している他のデータセットでも有益な場合があります。 同じルール タイプの属性ルールをデータセット間でコピーするには、いくつかの方法があります。 次の操作が可能です。

  • コピー/貼り付け
  • 属性ルールのインポートとエクスポート
注意:

属性ルールへのサブタイプの適用は、属性ルールをデータセットにコピーまたはインポートした後で行う必要があります。

コピー/貼り付け

属性ルール ビューでのコピーと貼り付けは、キーボード ショートカット、ショートカット メニュー、クリップボードを使用してサポートされています。 データセット間で属性ルールをコピーするには、次の手順を実行します。

  1. 目的の属性ルールを含むコピー元のデータセットと、属性ルールを追加する先のデータセットで、属性ルール ビューを開きます。

    コピー元のデータセットとコピー先のデータセットの属性ルール ビューが開きます。

  2. 属性ルールを含むコピー元のデータセットから、ルール タイプをクリックし、コピー先のデータセットにコピーする属性ルールを選択します。

    属性ルールが選択されます。

  3. [クリップボード][コピー]、コピーのキーボード ショートカット、ショートカット メニュー内の [コピー] のいずれかを使用して、選択した属性ルールをコピーします。
  4. コピー先のデータセットで、コピー元のデータセットからコピーした属性ルールと一致するルール タイプをクリックし、[クリップボード][貼り付け]、貼り付けのキーボード ショートカット、またはショートカット メニュー内の [貼り付け] を使用して貼り付けます。

    コピー先のデータセットに属性ルールが追加されます。

  5. [属性ルール] タブの [保存] ボタン 更新 をクリックします。

    コピー先のデータセットに属性ルールが保存されます。

属性ルールのエクスポート

エクスポートとインポートは、属性ルールの共有やデータセットのルールのバックアップの作成に役立ちます。 データセットの属性ルールをエクスポートすると、エクスポート先のデータセットへのインポートに使用できるカンマ区切り値 (.csv) ファイルが作成されます。 .csv ファイルには、属性ルールに関するメタデータ情報と Arcade スクリプトが含まれます。

[属性ルール] コンテキスト タブ上の [属性ルール] グループにある [ルールのエクスポート] または属性ルールのエクスポート ジオプロセシング ツールを使用できます。 データセットの属性ルールをエクスポートするには、次の手順を実行します。

  1. 属性ルールのエクスポート元のデータセットで、属性ルール ビューを開きます。

    データセットの属性ルール ビューが開きます。

  2. [属性ルール] コンテキスト タブで、[ルールのエクスポート] ボタンをクリックします。

    [ルールのエクスポート] ボタンは [属性ルール] グループにあります。

    [ルールのエクスポート] ダイアログ ボックスが表示されます。

  3. .csv ファイルを保存するフォルダーを参照して、ファイルの名前を入力し、[保存] をクリックします。

    指定した場所の .csv にデータセットの属性ルールが保存されます。

属性ルールのインポート

属性ルールをインポートするには、[属性ルール] コンテキスト タブ上の [属性ルール] グループにある [ルールのインポート] または属性ルールのインポート ジオプロセシング ツールを使用します。 データセットの属性ルールをインポートするには、次の手順を実行します。

  1. 属性ルールのインポート先のデータセットで、属性ルール ビューを開きます。

    データセットの属性ルール ビューが開きます。

  2. [属性ルール] コンテキスト タブで、[ルールのインポート] ボタンをクリックします。

    [ルールのインポート] ボタンは [属性ルール] グループにあります。

    [ルールのインポート] ダイアログ ボックスが表示されます。

  3. エクスポートした属性ルールの .csv ファイルがあるフォルダーを参照して、その .csv ファイルを選択し、[OK] をクリックします。

    属性ルール ビューにデータセットの属性ルールが追加されます。

  4. [属性ルール] タブの [保存] ボタン 更新 をクリックします。

    インポート先のデータセットに属性ルールが保存されます。