DAA-C01 Question 137
Single answerUse Data Metric Functions (DMFs)A retail analytics team stores daily sales transactions in a Snowflake table named SALES_TXN. They want to monitor data quality directly in Snowflake and quickly detect whether the proportion of NULL values in the CUSTOMER_ID column increases over time after new data loads. The team wants a solution that uses built-in Data Metric Functions (DMFs) and can be scheduled to run repeatedly against the table. Which approach should the data analyst use?
- A
Associate the built-in NULL_COUNT DMF with the CUSTOMER_ID column on SALES_TXN, configure a schedule for the metric to run, and review the recorded metric results over time.
- B
Create a materialized view that filters rows where CUSTOMER_ID IS NULL, and Snowflake will automatically treat the view as a DMF history table.
- C
Define a masking policy on CUSTOMER_ID so Snowflake can calculate null-rate trends from policy evaluation events without any DMF configuration.
- D
Create a stream on SALES_TXN and query the stream metadata, because streams automatically compute built-in completeness metrics such as NULL_COUNT.
Show answer and explanation
Correct answer: A
Explanation
The best answer is to use a built-in Data Metric Function designed for completeness measurement, such as NULL_COUNT, and associate it with the target column on the table. Snowflake DMFs are meant to provide native data quality monitoring for supported objects, and scheduling allows the metric to be evaluated repeatedly so analysts can observe changes over time. This directly addresses the requirement to use built-in DMFs rather than custom SQL objects or unrelated governance features. In Snowflake documentation, DMFs are positioned as native data quality functions that can be associated with tables/views and executed on a schedule, with results available for monitoring and trend analysis. Materialized views, masking policies, and streams are useful in other scenarios, but they do not replace DMF-based quality measurement.
- A. Correct.
Correct. Built-in Data Metric Functions are intended for data quality measurement on tables and views. Associating a DMF such as NULL_COUNT to the relevant column and configuring a schedule is the appropriate way to monitor completeness-related quality over time. The metric results can then be reviewed historically to identify trends after each load.
- B. Incorrect.
Incorrect. A materialized view can help isolate NULL rows for custom analysis, but it is not itself a Data Metric Function and Snowflake does not automatically convert a materialized view into DMF history. This option reflects a common misconception that any persisted query object can serve as managed data quality monitoring.
- C. Incorrect.
Incorrect. Masking policies are for data protection and dynamic obfuscation of values at query time based on role or context. They do not provide built-in null-rate monitoring, historical metric collection, or scheduled DMF execution. This confuses governance controls with data quality measurement.
- D. Incorrect.
Incorrect. Streams track row-level changes for CDC-style processing, but they do not automatically compute data quality metrics like NULL_COUNT. While a stream could be used in a custom pipeline, it is not the built-in DMF-based solution requested in the scenario.