DAA-C01 Question 247
Single answer4.2 Given a use case, maintain reports and dashboards to meet business requirements.A retail company uses Snowsight dashboards to monitor daily sales by region, product category, and channel. Executives report that one dashboard tile frequently shows stale numbers during the morning business review, even though the underlying sales table is continuously loaded throughout the day. The analytics team must keep the dashboard responsive for executives while ensuring the tile reflects recent data without requiring manual reruns of worksheets. Which action is the BEST way to meet this requirement?
- A
Create the dashboard tile from a worksheet query that reads directly from the continuously loaded base table, and rely on users refreshing the dashboard in their browser when they need newer data.
- B
Replace the tile's query with a query against a dynamic table that is configured to refresh automatically based on a target lag appropriate for the business review window.
- C
Export the worksheet results to a static table each morning before the executive review, and point the dashboard tile to that snapshot table for faster rendering.
- D
Increase the size of the virtual warehouse used by the dashboard so the existing tile query finishes faster and therefore shows newer data.
Show answer and explanation
Correct answer: B
Explanation
The best solution is to use a dynamic table as the maintained reporting layer for the dashboard tile. In Snowflake, dynamic tables support automatic refresh of query results based on a defined TARGET_LAG, making them well suited for dashboard scenarios that require a balance between freshness and performance. This approach is more maintainable than relying on users to rerun worksheets or on ad hoc refresh behavior, and it better supports business requirements for timely executive reporting. Increasing warehouse size addresses compute performance, not semantic freshness of maintained dashboard datasets. Static snapshot tables can be useful for fixed reporting periods, but they are not appropriate when the business expects recent data throughout the day. This reflects Snowflake best practices for maintaining analytics-ready objects that feed reports and dashboards in a governed, automated way.
- A. Incorrect.
This does not best satisfy the requirement. While querying the base table can provide access to current data, the scenario explicitly states that users should not have to manually rerun worksheets or depend on manual browser refresh behavior to see timely results. It also does not address the need for a consistently maintained, business-ready reporting layer that supports dashboards reliably.
- B. Correct.
This is the best answer. Dynamic tables are designed to maintain derived query results automatically with a defined freshness objective using TARGET_LAG. For a dashboard that must stay responsive and reflect recent sales data, a dynamic table can precompute the dashboard-ready dataset and refresh it automatically, reducing the need to rerun complex worksheet logic manually. This aligns with maintaining reports and dashboards to meet business requirements for both performance and data freshness.
- C. Incorrect.
This is a plausible operational workaround, but it does not meet the stated requirement well. A once-per-morning snapshot introduces intentional staleness and is not suitable when the sales table is loaded continuously throughout the day. It also adds manual or scheduled maintenance overhead and reduces the dashboard's ability to reflect near-real-time business conditions.
- D. Incorrect.
Increasing warehouse size may improve query performance, but it does not by itself solve the stale-data problem. Staleness is primarily about when data transformations or derived datasets are refreshed, not just how fast a query executes. If the tile depends on logic that is not being maintained automatically, a larger warehouse only accelerates execution of the existing process and does not guarantee the dashboard reflects recent data during business reviews.