カテゴリ:

システム関数テーブル関数

SYSTEM$DATA_METRIC_SCAN

データ品質チェックに失敗したデータを含むとして、 データ品質メトリック によって識別された行を返します。例えば、 NULL_COUNT データメトリック関数を引数として使用した場合、この関数はテーブル内の特定の列に NULL 値を含む行を返します。

構文

SYSTEM$DATA_METRIC_SCAN(
  REF_ENTITY_NAME  => '<object>'
  , METRIC_NAME  => '<data_metric_function>'
  , ARGUMENT_NAME => '<column>'
   [ , AT_TIMESTAMP => '<timestamp>' ] )
Copy

引数

必須:

REF_ENTITY_NAME => 'object'

データメトリック関数を実行するテーブルまたはビューの名前。この関数は、このオブジェクトから行を返します。

METRIC_NAME => 'data_metric_function'

指定したテーブルまたはビューを評価するために実行するシステムデータメトリクスの名前。以下のシステム機能のみがサポートされています。

  • SNOWFLAKE.CORE.NULL_COUNT

  • SNOWFLAKE.CORE.NULL_PERCENT

  • SNOWFLAKE.CORE.BLANK_COUNT

  • SNOWFLAKE.CORE.BLANK_PERCENT

  • SNOWFLAKE.CORE.DUPLICATE_COUNT

ARGUMENT_NAME => 'column'

指定されたデータメトリック関数の引数として渡される、指定されたテーブルまたはビューの列の名前。

オプション:

AT_TIMESTAMP => 'timestamp'

過去のテーブルやビューの DMF 評価結果を確認するための引数として渡されるタイムスタンプ。

戻り値

指定したテーブルまたはビューの行。

アクセス制御権限

この関数を実行するには以下の権限が必要です。

  • 指定したテーブルに対する SELECT。

  • 指定したデータメトリック関数に対する USAGE。

使用上の注意

  • この関数はユーザー定義のメトリックをサポートしていません。

  • 指定したテーブルがマスキングポリシーや行アクセスポリシーなどのポリシーで保護されている場合、関数を実行したときのユーザーのロールによって結果が異なるため、この関数は予期しないデータや不完全なデータを返すことがあります。

SNOWFLAKE.CORE.NULL_COUNT システムメトリックが特定の列の NULL 値の総数を返す場合、以下は SSN 列に NULL 値を持つ employeesTable テーブルの行を返します。

SELECT *
  FROM TABLE(SYSTEM$DATA_METRIC_SCAN(
    REF_ENTITY_NAME  => 'governance.sch.employeesTable',
    METRIC_NAME  => 'snowflake.core.null_count',
    ARGUMENT_NAME => 'SSN'
  ));
Copy

SNOWFLAKE.CORE.BLANK_COUNT システムメトリックがある列の値が空白であるカウントを返す場合、以下は、過去の特定の時刻に存在したテーブルのバージョンで name 列の値が空白であった employeesTable テーブルの行を返します。

SELECT *
  FROM TABLE(SYSTEM$DATA_METRIC_SCAN(
    REF_ENTITY_NAME  => 'governance.sch.employeesTable',
    METRIC_NAME  => 'snowflake.core.blank_count',
    ARGUMENT_NAME => 'name',
    AT_TIMESTAMP => '2024-08-28 02:00:00 -0700'
  ));
Copy