カテゴリ:

Information Schemaテーブル関数

DATA_METRIC_FUNCTION_REFERENCES

指定されたデータメトリック関数がオブジェクトに割り当てられた各オブジェクトの行を返します。 または は、指定されたオブジェクトに割り当てられた各データメトリック関数の行を返します。

こちらもご参照ください。

DATA_METRIC_FUNCTION_REFERENCES ビュー (Account Usageビュー)

構文

DATA_METRIC_FUNCTION_REFERENCES(
  METRIC_NAME => '<string>' )

DATA_METRIC_FUNCTION_REFERENCES(
  REF_ENTITY_NAME => '<string>' ,
  REF_ENTITY_DOMAIN => '<string>'
  )
Copy

引数

METRIC_NAME => 'string'

データメトリック関数の名前を指定します。

  • データメトリック関数名全体を一重引用符で囲む必要があります。

  • データメトリック関数名で大文字と小文字が区別されるか、特殊文字やスペースが含まれる場合、大文字と小文字の処理には二重引用符が必要です。二重引用符は、 '"<metric_name>"' のように一重引用符で囲む必要があります。

REF_ENTITY_NAME => 'string'

table_nameview_nameexternal_table_name など、データメトリック関数を追加するオブジェクトの名前。

  • オブジェクト名全体を一重引用符で囲む必要があります。

  • オブジェクト名で大文字と小文字が区別されるか、特殊文字やスペースが含まれる場合、大文字と小文字の処理には二重引用符が必要です。二重引用符は、 '"<table_name>"' のように一重引用符で囲む必要があります。

REF_ENTITY_DOMAIN => 'string'

データメトリック関数を追加するテーブルやマテリアライズドビューなどのオブジェクト型。

すべての サポートされているテーブル型'TABLE' を使用します。

戻り値

この関数は、次の列を返します。

データ型

説明

metric_database_name

VARCHAR

データメトリック関数を格納するデータベース。

metric_schema_name

VARCHAR

データメトリック関数を格納するスキーマ。

metric_name

VARCHAR

データメトリック関数の名前。

argument_signature

VARCHAR

メトリック引数の型署名。

data_type

VARCHAR

データメトリック関数のデータ戻り型。

ref_database_name

VARCHAR

データメトリック関数を追加するオブジェクトを含むデータベース名。

ref_schema_name

VARCHAR

データメトリック関数を追加するオブジェクトを含むスキーマ名。

ref_entity_name

VARCHAR

データメトリック関数を設定するテーブルまたはビューの名前。

ref_entity_domain

VARCHAR

データメトリック関数を設定するオブジェクト型(テーブル、ビュー)。

ref_arguments

ARRAY

ルールの評価に使用される参照引数を識別します。

ref_id

VARCHAR

データメトリック関数をテーブルまたはビューに関連付けるための一意の識別子。

schedule

VARCHAR

テーブルまたはビューに対してデータメトリック関数を実行するスケジュール。スケジュールの値は常に最新の有効なスケジュールになります。

schedule_status

VARCHAR

メトリック関連付けのステータス。次のいずれかを使用します。

STARTED

テーブルまたはビューのデータメトリック関連付けの実行がスケジュールされます。

STARTED_AND_PENDING_SCHEDULE_UPDATE

データメトリックスケジュールに変更があり、新しいスケジュールはまだ有効ではありません。Snowflakeがスケジュールを更新し、スケジュールをデータメトリック機能と同期することを許可します。この値は更新が完了するまでの一時的なものです。

ALTER TABLE または ALTER VIEW コマンドでスケジュールの設定を解除した場合、この値は新しいスケジュールが設定されるまでそのまま残ります。

SUSPENDED

テーブルまたはビューのデータメトリック関連付けの実行がスケジュールされていません。この値は、関数を呼び出す使用ロールが、テーブルに対する OWNERSHIP 権限を持って いない 場合にも発生します。

Account Usageビューをクエリする場合、デフォルトでは以下の値が表示されます。しかし、テーブル関数を呼び出す場合にこれらの値を表示するには、テーブルに対する OWNERSHIP 権限を持つロールを使用する必要があります。

SUSPENDED_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

次のいずれかを使用します。

  • テーブルがドロップされます。

  • テーブルを含むスキーマまたはデータベースがドロップされます。

  • テーブルを含むスキーマまたはデータベースは、テーブル所有者ロールでは解決できません。

    「解決済み」とは、関数を呼び出したロールが、テーブルを含むスキーマまたはデータベースに対して適切な権限を持っていないことを意味します。

SUSPENDED_DATA_METRIC_FUNCTION_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

次のいずれかを使用します。

  • DMF がドロップされます。

  • DMF を含むスキーマまたはデータベースがドロップされます。

  • DMF を含むスキーマまたはデータベースは、テーブル所有者ロールでは解決できません。

SUSPENDED_TABLE_COLUMN_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

次のいずれかを使用します。

  • ターゲットテーブル列はドロップされます。

  • 列を含むスキーマまたはデータベースがドロップされます。

  • 列を含むスキーマまたはデータベースは、テーブル所有者ロールでは解決できません。

SUSPENDED_INSUFFICIENT_PRIVILEGE_TO_EXECUTE_DATA_METRIC_FUNCTION

テーブル所有者ロールには EXECUTE DATA METRIC FUNCTION 権限がありません。

SUSPENDED_ACTIVE_EVENT_TABLE_DOES_NOT_EXIST_OR_NOT_AUTHORIZED

イベントテーブルがアカウントレベルに設定されていません。


結果は、クエリを実行するロールに付与された権限に基づいて返されます。

この SQL コマンドの実行に使用される ロール には、少なくとも次の 権限 が必要です。

  • データメトリック関数でサポートされている権限。

    • システム DMFs の場合は、 DATA_METRIC_USER データベースロールを付与することができます。

  • テーブルまたはビューに対する SELECT 権限。

使用上の注意

  • Information Schemaテーブル関数を呼び出す場合は、セッションに使用中の INFORMATION_SCHEMA スキーマがある、 または 関数に完全修飾のオブジェクト名を使用する必要があります。詳細については、 Snowflake Information Schema をご参照ください。

  • 構文バリエーションを1つ選択して、クエリを実行します。引数を混在させると、エラーとクエリの失敗が発生します。

    REF_ENTITY_NAMEREF_ENTITY_DOMAIN の引数値を一緒に含める必要があります。そうしないと、クエリに失敗します。

  • 指定されたオブジェクト名が存在しない場合、またはクエリ演算子がオブジェクトでデータメトリック関数を表示する権限を持っていない場合、Snowflakeはエラーを返します。演算子がデータメトリック関数関連付けのサブセットを表示することを許可されている場合、Snowflakeはデータメトリック関数関連付けの結果セットを返すことができます。

  • 'stream' など、 REF_ENTITY_DOMAIN としてリストされているサポートされていないオブジェクトタイプはエラーを返します。

テーブルまたは表示に count_positive_numbers という DMF が設定されている各オブジェクト(テーブルまたは表示)の行を返します。

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      METRIC_NAME => 'governance.dmfs.count_positive_numbers'
    )
  );
Copy

hr.tables.empl_info という名前のテーブルに割り当てられた各 DMF の行を返します。

USE DATABASE governance;
USE SCHEMA INFORMATION_SCHEMA;
SELECT *
  FROM TABLE(
    INFORMATION_SCHEMA.DATA_METRIC_FUNCTION_REFERENCES(
      REF_ENTITY_NAME => 'hr.tables.empl_info',
      REF_ENTITY_DOMAIN => 'table'
    )
  );
Copy