What you will be able to do
- Choose a Snowsight chart type and set its bucketing and aggregation
- Build a dashboard from worksheets and manage its tiles
- Use the :daterange and :datebucket system filters
- Create, configure and govern custom filters
1.Chart types in Snowsight
Snowsight turns a worksheet's query results into a chart. Charts help you spot patterns and outliers. Run the query, then select Chart above the results table, and Snowsight automatically generates a chart from the results. Snowsight supports five chart types: bar charts, line charts, scatterplots, heat grids and scorecards. Each query shows one chart type at a time, and you can switch between types with the chart type selector.
How a chart looks depends on its Data section. There you can add or remove columns, swap in a different result column, and change how a column is represented. Charts can group continuous values into buckets without any change to the query. Date columns can be bucketed by date, week, month or year, and numeric columns by integer values. Within each bucket, an aggregation function (average, count, minimum, maximum, median, mode or sum) reduces the data points to a single value. The Appearance section's styling options depend on the chart type.
Checkpoint 1 of 8· Check yourself
A query returns daily order counts. A stakeholder wants monthly totals in the chart. What is the least effort change?
Charts can re-bucket date columns, for example by week or month, without changing the query. The aggregation function then combines the values in each bucket.
“Charts can bucket by date, week, month, and year for date columns.”Source: docs.snowflake.com
Sources1
2.Building a dashboard from tiles
A dashboard is a collection of charts arranged as tiles. You can create an empty dashboard from Projects » Dashboards » + Dashboard, or move an existing worksheet into a new dashboard. Moving a worksheet has a side effect: the worksheet is removed from your worksheet list, is reachable only from the dashboard, and anyone it was shared with loses access.
Checkpoint 2 of 8· Put it in order
Put the steps to create a dashboard from an existing worksheet in order
- 1.Enter a name and select Create Dashboard
- 2.Select New dashboard
- 3.Hover over the worksheet name, select the menu, then Move to
- 4.Open a worksheet
Moving the worksheet creates the dashboard with a tile based on that worksheet.
“Enter a name for the dashboard, and then select Create Dashboard. The dashboard opens, displaying a tile based on the worksheet you used.”Source: docs.snowflake.com
To add a tile, select + and then New Tile from Worksheet. Write the query, then select Return to <dashboard name>. New tiles go to the bottom of the dashboard, and you drag them to rearrange. Each tile's menu has View Chart (edit the visualization), Edit query, and Duplicate Tile. A tile that shows a moved worksheet displays a chart by default. Removing a tile is where people make mistakes:
| Action | Tile | Underlying query |
|---|---|---|
| Unplace Tile | Removed from the dashboard | Kept; the tile can be re-added from the Add tile menu |
| Delete | Removed | Permanently deleted, along with any other tile using the same query |
Checkpoint 3 of 8· Check yourself
A dashboard has a table tile and a chart tile built on the same query. You delete the chart tile. What happens?
Deleting a tile deletes its query, and every tile that uses that query goes with it. Use Unplace Tile to keep the query.
“such as a table and chart view of the same query results, both tiles are deleted.”Source: docs.snowflake.com
Sources2
3.System filters: :daterange and :datebucket
Filters let viewers change a dashboard's results without editing its SQL. A filter is a special keyword that resolves to a subquery or a list of values when the query runs. Two system filters are available to every role and can't be edited or dropped. :daterange filters a column by a date range such as Last 7 days or All time; it always uses UTC and defaults to Last day. :datebucket groups aggregate data by a period such as Hour, Week or Quarter, and defaults to Day.
Checkpoint 4 of 8· Fill the gap
Which system filter keyword restricts O_ORDERDATE to the date range the viewer selects?
SELECT
COUNT(O_ORDERDATE) as orders, O_ORDERDATE as date
FROM
SNOWFLAKE_SAMPLE_DATA.TPCH_SF1.ORDERS
WHERE
O_ORDERDATE = ?
GROUP BY
:datebucket(O_ORDERDATE), O_ORDERDATE
ORDER BY
O_ORDERDATE
LIMIT 10;:daterange is used in the WHERE clause to filter by date. :datebucket is used for grouping, as in the GROUP BY.
Source: docs.snowflake.comChanging a filter value on a dashboard is a two-step action. Apply reruns the tiles with the new value for you. Save stores that value as the dashboard's default for everyone who opens it. The documentation describes applying All time for a one-off look, then choosing Last 7 days and saving it, so the dashboard doesn't scan all history every time someone opens it.
Checkpoint 5 of 8· Exam question
Priya's user has DEFAULT_SECONDARY_ROLES = ('ALL'). Her primary role ANALYST has no grants on FINANCE.GL, but her secondary role FINANCE_READ has SELECT on it. A dashboard tile on FINANCE.GL fails with an insufficient privileges error. What is the cause?
Correct answer: D — Dashboards run exclusively with the user's primary role, so grants held only by a secondary role are not considered for tile queries.
- A. Incorrect. A suspended warehouse with auto-resume starts on demand, and the error described is an authorization failure, not a compute failure.
- B. Incorrect. A cached result would show data or a stale value rather than a new privilege error for a role lacking the grant.
- C. Incorrect. Secondary roles are not limited by object type; the actual limitation is that dashboards do not use them at all.
- D. Correct. Snowsight dashboards ignore DEFAULT_SECONDARY_ROLES and use the primary role alone, so the grant must exist on the primary role.
Sources3
4.Creating and managing custom filters
Custom filters are reusable keywords you define yourself, such as :region. You can only create them in Snowsight. Not every role can create them: ACCOUNTADMIN has to grant filter-creation permission to a role, using Edit Permission in the Filters dialog. Once a filter exists, everyone in the account can see and use it. The filter's role does not limit who can see it.
Checkpoint 6 of 8· Put it in order
Put the steps to create a custom filter in order
- 1.Select Done to close the Filters dialog
- 2.Select Save
- 3.Open Projects » Dashboards and select the filters icon
- 4.Select + Filter in the Filters dialog
- 5.Enter Display Name, SQL Keyword, Description, Role, Warehouse and Options via
You create a custom filter from the Filters dialog, fill in its fields, save it, then close the dialog.
“In the Filters dialog that appears, select + Filter.”Source: docs.snowflake.com
The SQL Keyword uses the format :<string> with no spaces. Filter values come from either a static List (name/value pairs, typed as Text or Number) or a Query. A filter query must return columns named name and value, can optionally return description, and must be a single query. Toggles control how the filter behaves: Multiple values can be selected allows multi-select. Include an "All" option adds an All choice, which can mean either any value or any value in the list of options. Include an "Other" option shows results for items not in the list.
Ownership and cost follow from the role and warehouse you set. Anyone with the filter's associated role can edit or delete it, and ACCOUNTADMIN can edit any filter. If the associated role is dropped, ACCOUNTADMIN reassigns it. A query-based filter refreshes hourly, daily or never. It runs as the user who created or last modified the filter, on the filter's warehouse, even when nobody has the filter open. Keep sensitive data out of the option list, because every user in the account can see it.
Checkpoint 7 of 8· Exam question
Analysts open a dashboard tile that lists customer_email. Under the ANALYST role they see only '*****', while a data steward using PII_ADMIN sees full addresses. The tile SQL is identical for both. What explains the difference?
Correct answer: C — A masking policy on the column is evaluated at query time against the querying role and masks values for roles it does not unmask.
- A. Incorrect. Stored results would show the same values to all viewers, not different values for different roles.
- B. Incorrect. Snowsight does not truncate text this way; the asterisks come from the masking expression in the policy.
- C. Correct. Dynamic Data Masking applies at query time, so the same SQL returns different values based on the role context in which it runs.
- D. Incorrect. Snowsight does not mask columns by name; masking only occurs when a masking policy is attached to the column.
Checkpoint 8 of 8· Check yourself
A DATA_ENG role owns a custom filter. Which statement is accurate?
Visibility is account-wide, but editing is limited to the filter's associated role and ACCOUNTADMIN. Permission to create filters can only be granted in Snowsight.
“Each custom filter has an associated role. Anyone with that role can edit or delete the filter.”Source: docs.snowflake.com
Sources3
Exam traps
Each one states something that sounds right. Open it to see what is actually true.
1.Selecting Apply on a dashboard filter changes the default value for everyone.Why is that wrong?
Apply only reruns the tiles for you. You must select Save to store a default filter value for dashboard users.
Covered in System filters: :daterange and :datebucket
2.Assigning a role to a custom filter limits who can see it.Why is that wrong?
Everyone in the account can see and use a custom filter. The role controls editing and the filter's query refreshes, not visibility.
Covered in Creating and managing custom filters
3.Deleting a tile just hides it; the query is still there.Why is that wrong?
Delete permanently removes the tile and its query. Unplace Tile is the action that keeps the query.
Covered in Building a dashboard from tiles
Practise it for real
Build a filtered, bucketed chart from Snowflake sample data and place it on a dashboard
1.Create a dashboard via Projects » Dashboards » + Dashboard, then select + and New Tile from Worksheet
Why: Tiles are worksheets stored in the dashboard
You should see: A blank worksheet opens over the dashboard
2.Paste the sample ORDERS query that uses :daterange and :datebucket, and run it
Why: System filters are available to all roles, so no setup is needed
You should see: Results grouped by the default Day bucket for the default Last day range
3.Select Chart, then change the chart type to Bar
Why: Each query shows one chart type at a time
You should see: A bar chart of order counts
4.Select Return to <dashboard name>, then change the date range filter, select Apply and then Save
Why: Apply reruns the tiles; Save stores the new default
You should see: The tile reruns with the new range, which becomes the dashboard default
Stuck? Get a nudge
If the chart reports a missing column after you edit the query, check whether you changed a column alias.
Sources
Every claim above is drawn from one of these pages, quoted as it was written on the date shown.
- 1.
“Each query supports one type of chart at a time.”
↩︎ Chart types in Snowsight“Charts use aggregation functions to determine a single value from multiple data points in a bucket.”
↩︎ Chart types in Snowsight“Charts can bucket by date, week, month, and year for date columns.”
↩︎ Checkpoint - 2.
“the worksheet is removed from the list of worksheets and can only be accessed from the dashboard”
↩︎ Building a dashboard from tiles“The tile is removed from the dashboard, but remains available to add to the dashboard from the Add tile menu.”
↩︎ Building a dashboard from tiles“Deleting a tile from a dashboard also deletes the underlying queries. This action cannot be undone.”
↩︎ Exam trap 3“Enter a name for the dashboard, and then select Create Dashboard. The dashboard opens, displaying a tile based on the worksheet you used.”
↩︎ Checkpoint“such as a table and chart view of the same query results, both tiles are deleted.”
↩︎ Checkpoint - 3.
“The following system filters are available to all roles:”
↩︎ System filters: :daterange and :datebucket“These filters cannot be edited or dropped.”
↩︎ System filters: :daterange and :datebucket“Filters are implemented as special keywords that resolve as a subquery or list of values”
↩︎ System filters: :daterange and :datebucket“a user with the ACCOUNTADMIN role must grant the relevant permissions to a role granted to that user”
↩︎ Creating and managing custom filters“turn on the toggle for Multiple values can be selected”
↩︎ Creating and managing custom filters“Must return the columns name and value.”
↩︎ Creating and managing custom filters“even if no user has the filter open in their web browser”
↩︎ Creating and managing custom filters“select Save to save that default filter value for dashboard users”
↩︎ Exam trap 1“A custom filter has an associated role, but that role does not limit filter visibility.”
↩︎ Exam trap 2“In the Filters dialog that appears, select + Filter.”
↩︎ Checkpoint“Each custom filter has an associated role. Anyone with that role can edit or delete the filter.”
↩︎ Checkpoint