System data metric functions¶
This topic is a reference for the system data metric functions (DMFs) that Snowflake provides to all accounts.
You can call these system DMFs to start measuring your data quality immediately.
About system DMFs¶
Snowflake provides system DMFs in the CORE schema of the shared SNOWFLAKE database. System DMFs are maintained by Snowflake; you cannot change the name or functionality of any system DMF.
Each system DMF enables you to measure a different data quality attribute. You can assign more than one system DMF to a table or view to allow for a more comprehensive data quality measurement to address your governance and compliance needs.
To use a system DMF, choose one of the following access control approaches:
Grant the DATA_METRIC_USER database role to the table owner role, which is the role with the OWNERSHIP privilege on the table. This database role has the USAGE privilege on the SNOWFLAKE.CORE schema and the USAGE privilege on all system DMFs in the SNOWFLAKE.CORE schema.
Additionally, grant the following privileges to the table owner role:
Privilege
Object
Notes
EXECUTE DATA METRIC FUNCTION
Account
This privilege enables you to control which roles have access to serverless compute resources to call the system DMF.
USAGE
Database, schema
These objects are the database and schema that contain the table.referenced table with which the DMF is associated.
Grant IMPORTED PRIVILEGES on the SNOWFLAKE database to the table owner role. For information, see Enabling other roles to use schemas in the SNOWFLAKE database.
Use the ACCOUNTADMIN role.
System DMFs¶
Currently, Snowflake supports these system DMFs to measure common metrics without having to define them:
Category |
System DMF |
Description |
---|---|---|
Accuracy |
Determine how many blank values are in a column. |
|
Determine what percentage of a column’s values are blank. |
||
Determine how many NULL values are in a column. |
||
Determine what percentage of a column’s values are NULL. |
||
Freshness |
Determine the freshness of a table’s data based on a timestamp column. |
|
Define custom freshness metrics. |
||
Statistics |
Determine the average value of a column. |
|
Determine the maximum value of a column. |
||
Determine the minimum value of a column. |
||
Determine the standard deviation value for a column. |
||
Uniqueness |
Determine whether values in a column match a Boolean expression. |
|
Determine the number of duplicate values in a column, including NULL values. |
||
Determine the number of unique, non-NULL values in a column. |
||
Volume |
Determine how many records are in the table or view. |