Sales managers use a daily extract from Snowflake to see the previous day's snapshot.
Sales managers should only see statistics for their direct reports.
The company has Tableau Data Management on Tableau Cloud.
A consultant must design a centralized, low-maintenance RLS strategy.
What should the consultant implement?
Answer : B
Comprehensive and Detailed Explanation From Exact Extract:
The key requirements:
Tableau Cloud
Extracts (not live data)
Need RLS
Want low maintenance
Have Tableau Data Management
These requirements point directly to:
Data Policies (Virtual Connections RLS)
Tableau Data Management enables Virtual Connections and Data Policies, which provide:
Centralized row-level security
Integration with user identity via USERNAME()
Reusable RLS logic across all downstream workbooks
Works with extracts, unlike database RLS
Minimal long-term maintenance
This is Tableau's recommended enterprise RLS method for Tableau Cloud with extracts.
Why the other options are incorrect:
A . Built-in RLS in Snowflake
Only works with live connections.
This client uses daily extracts, so database RLS is bypassed.
C . Manual user filter
High maintenance, must be edited manually per user --- not scalable.
D . Dynamic user filter
Functional but must be recreated in each workbook, not centralized.
More maintenance than a data policy.
Therefore, Data Policy is the only low-maintenance, centralized RLS solution.
Data Policies and Virtual Connections documentation describing centralized RLS
Tableau Cloud & Extracts guidelines showing that database RLS cannot be reused
RLS strategy best practices recommending Data Policies for scalable governance
A client wants to grant a user access to a data source hosted on Tableau Server so that the user can create new content in Tableau Desktop. However, the user should be restricted to seeing only a subset of approved data.
How should the client set up the filter before publishing the hyper file so that the Desktop user follows the same row-level security (RLS) as viewers of the end content?
Answer : A
Comprehensive and Detailed Explanation From Exact Extract:
Tableau's row-level security (RLS) is applied at the data source level so that all users who connect to the data source---whether through Tableau Desktop, Server, or Cloud---see only the data they are permitted to see.
According to Tableau documentation:
A Data Source Filter is the correct method for enforcing consistent row-level security for all users.
When a Data Source Filter is applied before publishing, it becomes part of the data source's metadata and is applied every time any user connects to the published source.
This ensures that users creating new workbooks in Tableau Desktop are governed by the same RLS as users viewing published dashboards.
Context filters and extract filters do not provide secure RLS:
A Context Filter only applies inside the workbook where it is created. It does not enforce security in Tableau Desktop when the data source is reused.
An Extract Filter physically removes rows from the extract but does not enforce role-based filtering or dynamic RLS.
''Apply Filter to All Using Related Data Sources'' affects workbook behavior, not published data source security.
A Data Source Filter applied prior to publishing is Tableau's documented approach for secure, reusable row-level security.
Row-Level Security implementation guidance describing Data Source Filters as the foundation of secure RLS.
Tableau Server publishing workflow indicating that Data Source Filters travel with the published source.
Documentation on why Context and Extract Filters do not enforce user-dependent row-level security.
A client has a data source that stores a time stamp for each time a user interacts with a product feature. They visualize 3 years of data at the daily level. As adoption has grown over the last 6 months, the dashboard performance has steadily decreased, despite connecting via a data extract that is set to refresh every hour.
A Tableau consultant needs to improve performance of the dashboard with the least impact to the visualization.
Which option meets these requirements without additional cost?
Answer : D
Comprehensive and Detailed Explanation From Exact Extract:
The dataset contains timestamps for each individual user interaction. Growth in user adoption over 6 months means the number of rows has expanded significantly. Tableau's performance documentation states that large row-level datasets can cause performance degradation even when using extracts, especially when:
The visualization is aggregated to a higher level (such as daily), and
The underlying extract still contains much more granular data than needed.
Tableau recommends pre-aggregating data before it reaches Tableau Desktop, which reduces extract size, memory use, and query time. This improves performance without changing what the visualization displays.
Option D uses Tableau Prep, which is included with Tableau Creator licensing and therefore incurs no additional cost. Tableau Prep can aggregate raw timestamp data into daily totals per product feature, which matches the visualization's actual granularity. This results in:
A dramatically smaller extract
Faster queries
No change to how the dashboard looks or functions
Option A would remove product features from the visualization, altering the dashboard content and reducing insight, which does not meet the requirement of minimal impact.
Option B requires purchasing an external ETL tool, which violates the requirement of no additional cost.
Option C reduces the number of extract refreshes but does not improve dashboard performance; the data would remain equally granular and equally slow.
Therefore, Tableau Prep aggregation is the correct solution that improves performance while maintaining the same visualization and incurring no additional cost.
Tableau performance guidelines recommending pre-aggregation of highly granular datasets.
Tableau Prep documentation stating it can be used to aggregate data before creation of extracts.
Tableau's extract optimization guidance describing how reducing row counts improves query and visualization performance.
A performance recording of a workbook shows that a query to an extracted data source is taking too long.
Which area should the consultant focus on optimizing if "Executing Query" is taking a long time?
Answer : C
Comprehensive and Detailed Explanation From Exact Extract:
In Tableau Performance Recording, ''Executing Query'' refers to the amount of time Tableau spends executing the SQL or hyper query generated by the workbook. When an extract is used, the query is executed against the .hyper extract, not the original database.
Tableau documentation identifies several causes of slow query execution within extracts, including:
Nested row-level calculations
Complex logic in calculated fields
Multiple Levels of Detail (LOD) expressions
Non-optimized expressions that force Tableau to compute additional temporary tables
These directly increase query complexity and cause longer ''Executing Query'' durations.
Therefore, optimizing the query requires simplifying or replacing:
Nested calculations
Unnecessary LOD expressions
Complex expressions that increase the workload on the extract engine
Option A is incorrect because the number of VizQL processes affects concurrency, not query execution time.
Option B is partially relevant, but dashboard filters affect the overall workload, not the specific query complexity. If the performance recording shows ''Executing Query'' as the slow section, the query itself (not the filter UI layer) is the problem.
Option D does not apply because extracts use the hyper engine, not the underlying database. Optimizing the original database structure does not change the extract query execution time.
Thus, the consultant should focus on simplifying nested calculations and LODs to reduce extract query complexity.
Tableau Performance Recording guide describing ''Executing Query'' as dependent on calculation complexity.
Tableau extract engine documentation explaining that nested logic, multiple LODs, and granular calculations generate slower extract queries.
Best practices recommending simplification of calculated fields to improve extract query performance.
A client calculates the percent of total sales for a particular region compared to all regions.

The Sales percentage is inadvertently recalculated each time the filter is applied to the Region.

Which calculation should fix the automatic recalculation on the % of total field?
Answer : C
The problem:
The client wants:
Percent of total sales for each region compared to ALL regions,
even when Region is filtered.
However, the calculation currently behaves like a table calculation:
SUM([Sales]) / TOTAL(SUM([Sales]))
This recalculates the total after Region filters are applied, so removing a region changes the denominator.
Tableau Documentation --- How to prevent recalculation:
To keep percent-of-total unchanged when filtering, Tableau's recommended method is to use FIXED LOD expressions to lock the granularity.
Two values must be fixed:
Numerator: Sales for that specific region{ FIXED [Region] : SUM([Sales]) }
Denominator: Total sales across all regions, independent of filters{ FIXED : SUM([Sales]) }(FIXED with no dimension = entire data set)
Then compute the percentage:
{ FIXED [Region] : SUM([Sales]) } / { FIXED : SUM([Sales]) }
This ensures:
The region sales remain accurate.
The overall total remains constant, even if filters remove regions.
Region filtering no longer recalculates percent-of-total.
Why the other options are incorrect:
A . {FIXED [Region]: SUM([Sales])} / SUM([Sales])
The denominator is still affected by filters recalculates % of total.
B . {FIXED [Region]: SUM([Sales])} / { [Sales] }
{[Sales]} is not valid syntax and does not fix granularity.
D . {FIXED [Region]: SUM([Sales])}
This gives only the numerator --- no percent-of-total calculation.
The only correct LOD solution is option C.
Tableau LOD Expression Guide: FIXED for filter-independent calculations.
Tableau Percent-of-Total Best Practices: use FIXED LOD to avoid recalculation when filters change.
Order of Operations: FIXED LODs occur before dimension filters, keeping totals stable.
A Tableau consultant is tasked with creating a line graph that shows daily temperature fluctuations. The below set of data to use to create a dashboard.
How should the consultant manipulate the data to support the business need?

Answer : B
The business requirement is:
''Create a line graph that shows daily temperature fluctuations.''
The dataset provided contains:
Only 5 rows, one per month
Two aggregated columns: Avg High Temp and Avg Low Temp
No daily values in the dataset
Tableau's documentation states that:
Tableau cannot generate artificial granularity that does not exist in the underlying data.
LOD calculations cannot create detail that isn't present in the source. They can only roll up or fix existing grain; they cannot fabricate lower-grain data.
Pivoting only reshapes data; it does not create missing days or introduce new rows.
When the visualization requires detail that the dataset does not contain, the correct solution is to obtain data at the required level of granularity.
Because the dataset contains monthly averages, it is impossible to show day-to-day fluctuations without having the actual daily temperatures.
Therefore, the only way to support the business need is to request daily-level data from the data provider.
Why the other options are incorrect:
A . Pivot the data
Pivoting would convert the dataset from wide format to long format (e.g., ''Avg High Temp'' and ''Avg Low Temp'' into a single ''Temperature Type'' field).
This does not add daily rows, so the required daily line graph still cannot be built.
C . Create an LOD calculation
LOD expressions cannot create new lower-level detail.
They only aggregate or fix existing detail.
Because the dataset contains only monthly values, an LOD cannot generate daily temperatures.
Tableau granularity and data modeling guidance stating that detail must exist in the data to be visualized.
LOD expression documentation explaining that LODs cannot create lower granularity than the source data.
Pivoting documentation explaining pivots reshape fields but do not generate new rows or finer-grain data.
A client wants to view stores serviced by delivery drivers on a map. The have the information provided in the table below:

What does the client need to do to plot exact street addresses on the map?
Answer : A
Tableau's built-in geocoding supports only the following geographic roles:
Country
State / Province
County
City
Postal Code
Airport
Area codes
Congressional districts, etc.
Tableau does NOT natively geocode street-level addresses.
When a dataset contains street address fields, Tableau will not recognize them as geographic fields because:
Street Address 1 and Street Address 2 are not valid Tableau geographic roles.
Tableau cannot automatically translate street text (like ''101 Random Place Rd'') into latitude/longitude.
Therefore, to plot street-level points on a map, Tableau requires:
Custom geocoding OR latitude/longitude fields.
Tableau documents that for exact address locations:
You must either supply latitude and longitude for each address, or
Use custom geocoding, where the user uploads a .csv with addresses matched to coordinates.
Why the other answer choices are incorrect:
B . Change the data type to Geographic role
Street address fields cannot be assigned a geographic role. Tableau will reject them or not map them.
C . Establish a hierarchy
Hierarchies help with drilldown but do not generate geographic coordinates for street addresses.
D . Add a map layer
Map layers allow visual overlays but cannot generate geocoding for address fields.
The only correct way to map street addresses is to custom geocode (or supply lat/long), which matches option A.
Tableau Geocoding documentation stating street-level addresses are not natively supported.
Custom Geocoding instructions for mapping exact address points.
Mapping best practices stating that lat/long or custom geocode files are required for street accuracy.