DAA-C01 Question 265
Single answerTroubleshoot common issues with data analytics dashboard and reportsA retail analytics team uses a Snowsight dashboard to track daily sales by region. The dashboard is powered by a view that joins a large SALES_FACT table to several dimension tables. Business users report that one chart intermittently shows stale totals and sometimes fails with a timeout during peak usage. The underlying tables are updated continuously throughout the day. The analyst needs to troubleshoot the issue and improve dashboard reliability without changing the business logic of the report. Which action is the BEST first step?
- A
Review the query history and query profile for the dashboard queries to determine whether delays are caused by long-running joins, warehouse queuing, or cached results no longer matching user expectations
- B
Convert the view to a temporary table so the dashboard always reads precomputed results and avoids timeouts for all users
- C
Increase the Time Travel retention period on the SALES_FACT table so the dashboard can retrieve the most recent committed rows more efficiently
- D
Replace the dimension table joins with external functions so the dashboard can fetch attributes on demand and reduce warehouse load
Show answer and explanation
Correct answer: A
Explanation
The best first step is to inspect Query History and Query Profile for the dashboard queries. In Snowflake, troubleshooting dashboard/report issues should start with evidence from actual executions: query duration, compilation time, partitions scanned, join behavior, bytes spilled, warehouse load, and queuing. This allows the analyst to distinguish among several common causes of dashboard problems: inefficient SQL in views, under-sized or overloaded warehouses, concurrency-related queuing, and user confusion caused by result caching behavior or refresh expectations. Snowflake best practices for performance troubleshooting emphasize using query profile information before redesigning objects. If the profile shows repeated heavy joins, the analyst can then consider targeted optimizations such as clustering strategy where appropriate, materialized views for specific patterns, search optimization for selective lookups, warehouse resizing, or dashboard/query redesign. Relevant Snowflake documentation includes guidance on Query History, Query Profile, virtual warehouse performance and queuing, and result caching behavior.
- A. Correct.
Correct. Query History and Query Profile are the right first troubleshooting tools in Snowflake for dashboard and report performance issues. They help identify whether the intermittent timeout is due to expensive joins, data skew, warehouse sizing, queuing/concurrency, or other execution bottlenecks. They also help explain why users may perceive stale data, for example if queries are returning cached results or if different sessions run under different contexts. This is the best first step because it is evidence-based and does not change the report logic before the root cause is understood.
- B. Incorrect.
Incorrect. A temporary table is session-scoped and would not be an appropriate shared source for a dashboard used by multiple users. It would also require a separate refresh process and changes the operational design rather than troubleshooting the root cause first. While precomputation can help in some cases, using a temporary table is not a reliable or standard fix for a shared Snowsight dashboard.
- C. Incorrect.
Incorrect. Time Travel retention is for accessing historical data, recovery, and querying past states of data. It does not improve retrieval of the most recent committed rows and does not address query timeouts or dashboard freshness issues. This option reflects a misunderstanding of what Time Travel is designed to do.
- D. Incorrect.
Incorrect. External functions call out to external services and are generally used when Snowflake needs to invoke remote logic. Replacing standard dimension joins with external functions would typically increase complexity and latency, not reduce it. It also changes business logic implementation significantly and is not an appropriate first troubleshooting step for a dashboard timeout or stale-data complaint.