CertSafari

    Free Salesforce Certified Tableau Consultant Sample Questions

    35 free sample questions from our bank of 335+, covering every exam domain, with answers and detailed explanations. Updated August 2026.

    Domain 1: Evaluate Current State

    Subdomain 1.1: Map current state of analytics to future state

    1.A client insists on migrating a legacy report into Tableau that consists of a single text table with 50 columns and 100,000 rows. They claim they need to see all the data at once. As a Tableau Consultant, what is the best practice approach to translate this requirement?

    1. A.Increase the maximum number of row and column labels in Tableau to 50 and build the text table as requested.
    2. B.Push back on the requirement and design a high-level summary dashboard with visual KPIs, providing a drill-down action to a detailed crosstab or a CSV export for row-level data.
    3. C.Split the 50 columns across 5 different dashboards and use navigation buttons to move between them.
    4. D.Use a scatter plot to represent the 50 columns as different dimensions on the detail shelf.
    Show answer & explanation

    Correct answer: BPush back on the requirement and design a high-level summary dashboard with visual KPIs, providing a drill-down action to a detailed crosstab or a CSV export for row-level data.

    • A. Incorrect. While Tableau allows increasing the limit of row/column labels (up to 50 in recent versions), doing so for a 100,000-row table is not a best practice. Rendering such a large, wide text table causes severe performance degradation, defeats the purpose of visual analytics, and provides a poor user experience.
    • B. Correct. This follows the 'Guided Analytics' framework. The consultant should lead the client toward a summary-level dashboard with visual KPIs for quick insights, while providing a drill-down path to a crosstab or a CSV export for users who specifically need granular, row-level data. This balances performance with the client's need for data access.
    • C. Incorrect. Splitting columns across multiple dashboards increases cognitive load, fragmentation, and maintenance overhead. It does not address the underlying issue of attempting to use Tableau as a spreadsheet tool rather than a data visualization platform.
    • D. Incorrect. A scatter plot is intended to show relationships between measures. Placing 50 dimensions on the Detail shelf would create a confusing, unreadable visualization and would not fulfill the user's requirement to see tabular data.

    Subdomain 1.1: Map current state of analytics to future state

    2.A client wants to visualize the sequential path customers take through their e-commerce website, from the landing page to checkout, to identify where users drop off. Which visualization approach best translates this requirement into Tableau?

    1. A.A Sankey diagram or a custom-built flow chart.
    2. B.A tree map with the size representing the number of users on each page.
    3. C.A bullet graph comparing current page views to a target.
    4. D.A standard pie chart showing the percentage of users on each page.
    Show answer & explanation

    Correct answer: AA Sankey diagram or a custom-built flow chart.

    • A. Correct. A Sankey diagram or a custom-built flow chart is ideal for visualizing sequential paths and transitions between stages. While Tableau does not have a native 'Sankey' mark type, these can be built using data densification and custom geometry to clearly show user journeys and conversion funnels, making it the best choice for identifying where users drop off in a sequence.
    • B. Incorrect. A tree map encodes magnitude by area and is useful for displaying hierarchical data or comparing categories at a single point in time. It does not possess a temporal or sequential dimension, making it unable to show the flow or path users take between pages.
    • C. Incorrect. A bullet graph is specifically designed to compare a primary measure against a target or benchmark (e.g., current sales vs. quota). It is not intended for multi-step sequences or visualizing user movement between different website pages.
    • D. Incorrect. A standard pie chart displays part-to-whole proportions. It provides no information about the order of page visits or the transitions from one page to the next, which is required for path analysis.

    Subdomain 1.1: Map current state of analytics to future state

    3.Which TSM command is used to create a backup of the Tableau Server repository database and file store data prior to an upgrade?

    1. A.tsm settings export
    2. B.tsm maintenance backup
    3. C.tsm topology export
    4. D.tsm sites export
    Show answer & explanation

    Correct answer: Btsm maintenance backup

    • A. The 'tsm settings export' command is used to export Tableau Server configuration and TSM settings to a JSON file. While useful for capturing server configuration, it does not include the repository database or file store content required for a full data backup.
    • B. The 'tsm maintenance backup' command is the standard and recommended method to create a full backup of the Tableau Server repository database and file store (including content and extracts). It generates a .tsbak file, which is essential for data safety and restoration prior to an upgrade or migration.
    • C. The 'tsm topology export' command captures the topology configuration of the Tableau Server deployment, such as node roles and service counts. It is used for documenting or replicating server layouts but does not perform a backup of repository or file store data.
    • D. The 'tsm sites export' command is used for exporting content from a specific site for migration purposes. It is limited to site-level content and does not create the server-wide repository and file store backup required before an upgrade.

    Subdomain 1.2: Evaluate current data structures

    4.A client's dashboard is experiencing slow performance due to complex queries involving several FIXED Level of Detail (LOD) calculations. Which of the following is a recommended approach to improve the performance of these queries?

    1. A.Change all FIXED LODs to INCLUDE LODs.
    2. B.Materialize the LOD calculations by switching to a Tableau Extract, or push the aggregations into a materialized database view.
    3. C.Turn off the 'Assume Referential Integrity' setting.
    4. D.Use Initial SQL to drop all database indexes before the query runs.
    Show answer & explanation

    Correct answer: BMaterialize the LOD calculations by switching to a Tableau Extract, or push the aggregations into a materialized database view.

    • A. Changing FIXED LODs to INCLUDE LODs is not a performance solution. It alters the calculation semantics and business logic, as FIXED is calculated at a specific dimension regardless of the view, while INCLUDE adds dimensions to the view's level of detail. This change would likely produce incorrect results.
    • B. Materializing LOD calculations by using a Tableau Extract or pushing the aggregations into a materialized database view shifts the computational burden from the runtime query to a pre-processing step. This allows Tableau or the database to return pre-aggregated results faster, significantly reducing query complexity and improving dashboard responsiveness.
    • C. Turning off the 'Assume Referential Integrity' setting (Join Culling) generally decreases performance. This setting allows Tableau to simplify queries by removing unnecessary joins when referential integrity is guaranteed. Disabling it forces the database to perform all joins regardless of whether they are needed.
    • D. Dropping database indexes is counterproductive. Indexes are critical for speeding up data retrieval, joins, and aggregations. Using Initial SQL to drop them before a query runs would severely degrade performance and is not a recommended practice for tuning.

    Subdomain 1.2: Evaluate current data structures

    5.Why is it generally discouraged to connect Tableau directly to a live production OLTP (Online Transactional Processing) database for heavy analytical workloads?

    1. A.OLTP databases do not support Tableau's logical layer (Relationships).
    2. B.Analytical queries from Tableau may cause severe performance degradation on the transactional system, impacting core business operations.
    3. C.Tableau cannot perform aggregations like SUM or AVG on live OLTP connections.
    4. D.OLTP databases automatically encrypt all data, making it unreadable by Tableau Desktop.
    Show answer & explanation

    Correct answer: BAnalytical queries from Tableau may cause severe performance degradation on the transactional system, impacting core business operations.

    • A. Incorrect. Tableau's logical layer (Relationships) is a metadata feature within Tableau that functions regardless of whether the source is OLTP or OLAP. Tableau translates these relationships into standard SQL queries that OLTP databases can process.
    • B. Correct. OLTP databases are optimized for rapid, small-scale transactional operations (Insert, Update, Delete). Analytical queries (OLAP) often involve complex joins and large-scale aggregations that are resource-intensive. Running these against a production system can cause resource contention, locking, and performance degradation, potentially disrupting the primary business application.
    • C. Incorrect. Tableau is fully capable of performing aggregations like SUM and AVG on live connections. It pushes these calculations to the database via SQL. While the performance might be slow on an OLTP system, the functionality is supported.
    • D. Incorrect. Encryption is a security configuration, not an inherent property of OLTP systems that blocks BI tools. Even when encryption is enabled (at rest or in transit), authorized clients like Tableau can read the data using the appropriate credentials and drivers.

    Subdomain 1.2: Evaluate current data structures

    6.What are the implications of a data structure where each package scan event is a separate row when calculating transit times in Tableau?(Select 2)

    1. A.The structure natively provides a 'Transit Time' measure without any calculations.
    2. B.The structure requires LOD expressions to calculate the minimum and maximum scan times per package.
    3. C.The structure may require a self-join or complex table calculations to calculate the time difference between specific sequential scan events.
    4. D.The structure should be aggregated to the yearly level to improve performance.
    Show answer & explanation

    Correct answers: B, CThe structure requires LOD expressions to calculate the minimum and maximum scan times per package.; The structure may require a self-join or complex table calculations to calculate the time difference between specific sequential scan events.

    • A. This is incorrect. A tall data structure where each event is a row does not pre-calculate the duration between those events. Transit time must be derived from timestamps (e.g., subtracting the pickup timestamp from the delivery timestamp).
    • B. This is correct. To determine the total transit time for a package across multiple rows of scan data, you typically use Level of Detail (LOD) expressions, such as {FIXED [Package ID] : MIN([Scan Time])} and {FIXED [Package ID] : MAX([Scan Time])}, to identify the start and end of the journey.
    • C. This is correct. While LODs are great for overall duration, calculating the time elapsed between specific sequential steps (e.g., step 2 to step 3) in a tall data structure often requires comparing data from different rows using self-joins or table calculations like LOOKUP().
    • D. This is incorrect. Aggregating to the yearly level would remove the granular event-level detail required to calculate specific transit durations. Performance optimizations should not come at the cost of the detail required for the analysis.

    Subdomain 1.2: Evaluate current data structures

    7.What are the risks or limitations of a data structure where date fields are stored as string data types?(Select 2)

    1. A.Tableau cannot use native continuous date forecasting features without converting the string to a date format.
    2. B.String parsing calculations required to convert these to actual dates will negatively impact rendering performance.
    3. C.Tableau automatically converts all string dates to the ISO-8601 standard upon connection, eliminating any risk.
    4. D.Storing dates as strings improves extract generation speed and reduces file size.
    Show answer & explanation

    Correct answers: A, BTableau cannot use native continuous date forecasting features without converting the string to a date format.; String parsing calculations required to convert these to actual dates will negatively impact rendering performance.

    • A. Tableau's native forecasting engine specifically requires a field with a Date or Date & Time data type to function. If dates are stored as strings, the forecasting option remains unavailable until the data type is converted, representing a functional limitation of the current data structure.
    • B. Converting string dates to actual dates at runtime using functions like DATE() or DATEPARSE() adds computational overhead. These string-parsing calculations are evaluated during query/rendering time, which can significantly degrade performance, especially on large datasets or live connections.
    • C. Tableau does not automatically convert all string formats to ISO-8601. While it attempts to interpret common formats, detection is limited and inconsistent. Relying on automatic detection often leads to null values or incorrect data interpretation, requiring manual intervention.
    • D. Native date and datetime types are more storage-efficient and faster to process than string representations. Storing dates as strings increases the data footprint and prevents the Hyper engine from utilizing date-specific optimizations for indexing and query execution.

    Domain 2: Plan and Prepare Data Connections

    Subdomain 2.3: Plan and implement advanced connections to data

    8.A client uses Tableau Cloud and has an on-premises SQL Server database located behind a strict corporate firewall. They require live dashboards that query this database directly. How should you configure Tableau Bridge to support this requirement?

    1. A.Install Tableau Bridge on a dedicated machine within the firewall and configure it to run in Application mode.
    2. B.Install Tableau Bridge on a dedicated machine within the firewall and configure it to run as a Windows Service.
    3. C.Whitelist Tableau Cloud IP addresses in the SQL Server firewall and connect directly without Tableau Bridge.
    4. D.Install Tableau Bridge on the Tableau Cloud server and map it to the on-premises SQL Server.
    Show answer & explanation

    Correct answer: BInstall Tableau Bridge on a dedicated machine within the firewall and configure it to run as a Windows Service.

    • A. Running Tableau Bridge in Application mode requires an active interactive user session on the machine. It is not suitable for unattended, continuous live connections as the connection would break if the user logs out.
    • B. Installing Tableau Bridge on a dedicated machine behind the corporate firewall and configuring it to run as a Windows Service (Service mode) is the correct approach. This setup allows for persistent, unattended, and continuous live queries from Tableau Cloud to the on-premises SQL Server database.
    • C. Directly whitelisting Tableau Cloud IP addresses and opening the SQL Server to the internet is generally not feasible or advisable due to corporate security policies. Tableau Bridge is specifically designed to provide a secure outbound-only connection from the internal network to the cloud without opening inbound firewall ports.
    • D. Tableau Bridge is a client-side component that must be installed within the customer's private network. It cannot be installed on the Tableau Cloud server, as it acts as the bridge that connects the cloud environment to internal data sources.

    Subdomain 2.3: Plan and implement advanced connections to data

    9.A client has a massive fact table. They need a primary dashboard showing high-level KPIs that loads in under 2 seconds, and a secondary dashboard showing row-level details that is infrequently accessed. What is the best data connection strategy?

    1. A.Create a single live connection to the fact table and rely on Tableau Server caching for the KPI dashboard.
    2. B.Create a single extract containing all row-level data and use Context Filters to speed up the KPI dashboard.
    3. C.Create two separate data sources: an aggregated extract for the KPI dashboard, and a live connection for the detail dashboard, linking them via filter actions.
    4. D.Use Custom SQL to join the fact table to itself, aggregating one side and keeping the other at row-level.
    Show answer & explanation

    Correct answer: CCreate two separate data sources: an aggregated extract for the KPI dashboard, and a live connection for the detail dashboard, linking them via filter actions.

    • A. A live connection to a massive fact table will typically be too slow to guarantee sub-2-second loads, as every query must be processed by the source database. Relying on Tableau Server caching is unreliable for meeting performance SLAs, as it only benefits users who request the exact same view and does not address the underlying query overhead for initial loads or new filter selections.
    • B. Creating a single extract containing all row-level data from a massive table creates a 'mega-extract' that is slow to refresh and may still result in slow query performance for high-level summaries. While context filters can help in some scenarios, they add the overhead of creating temporary tables and do not solve the fundamental problem of querying millions of rows for simple KPI metrics.
    • C. This follows the 'Summary-to-Detail' design pattern. An aggregated extract is small and highly optimized, ensuring the KPI dashboard meets the 2-second performance requirement. A separate live connection for the detail dashboard provides access to granular data only when needed, avoiding the performance penalty of loading detail data during summary analysis. Linking them with filter actions ensures a smooth user experience.
    • D. Using Custom SQL to self-join a massive fact table is inefficient and creates unnecessary complexity. It forces the database to scan the same large table multiple times and combines different grains of data into a single source, which prevents Tableau from optimizing queries specifically for the high-level KPI dashboard.

    Subdomain 2.3: Plan and implement advanced connections to data

    10.You are analyzing website traffic data. The raw data is at the 'Page View' level, containing Timestamp, User ID, and Page URL. The business only wants a dashboard showing 'Daily Unique Visitors per Page'. To optimize the extract size, how should you aggregate this data in Tableau Prep?

    1. A.Group by Date and Page URL, and aggregate User ID using COUNTD (Count Distinct).
    2. B.Group by Date, Page URL, and User ID, and aggregate Timestamp using MAX.
    3. C.Group by Page URL, and aggregate User ID using COUNT.
    4. D.Group by Date and User ID, and aggregate Page URL using COUNTD.
    Show answer & explanation

    Correct answer: AGroup by Date and Page URL, and aggregate User ID using COUNTD (Count Distinct).

    • A. Correct. Grouping the data by Date and Page URL sets the granularity to the level required by the business. Using COUNTD on User ID calculates the unique visitors directly. This produces the smallest possible extract because it collapses all user-level detail into a single numeric value per page per day.
    • B. Incorrect. While this collapses multiple timestamps for the same user on the same page, it still retains the User ID as a grouping dimension. This results in a significantly larger extract than Option A and still requires an additional aggregation step in the dashboard.
    • C. Incorrect. This option omits the Date dimension, which is necessary to meet the 'Daily' requirement. Furthermore, using COUNT instead of COUNTD would measure total page views rather than unique visitors.
    • D. Incorrect. This configuration calculates the number of distinct pages each user visited per day. This is the inverse of the business requirement, which is to identify visitors per page.

    Subdomain 2.3: Plan and implement advanced connections to data

    11.You have configured a Tableau Bridge pool with three client machines to handle extract refreshes for an on-premises database. One of the client machines unexpectedly goes offline. What happens to the scheduled extract refreshes assigned to the pool?

    1. A.The refreshes will fail until the offline client is manually removed from the pool.
    2. B.Tableau Cloud automatically routes the refresh tasks to the remaining two available Bridge clients in the pool.
    3. C.The refreshes will be queued and delayed until the offline client comes back online.
    4. D.Tableau Cloud will attempt to refresh the data directly, bypassing the Bridge pool.
    Show answer & explanation

    Correct answer: BTableau Cloud automatically routes the refresh tasks to the remaining two available Bridge clients in the pool.

    • A. Incorrect. Tableau Bridge pools are designed for high availability and redundancy. If one client goes offline, the system does not require manual intervention to continue processing; tasks are automatically redistributed among the remaining active clients.
    • B. Correct. This is the primary benefit of using a Bridge pool. Tableau Cloud provides load balancing and failover by routing refresh tasks to any available Bridge client within the designated pool, ensuring that scheduled extract refreshes continue without interruption even if a machine goes offline.
    • C. Incorrect. In a pooled configuration, refreshes are not tied to a specific client. If a client is unavailable, the tasks are rerouted to other available clients in the pool immediately rather than being queued for the offline machine.
    • D. Incorrect. Tableau Cloud cannot directly access on-premises data behind a firewall without a Bridge client. It relies on the Bridge architecture to traverse the network and will not attempt to bypass it.

    Subdomain 2.1: Plan for data transformation

    12.A real estate company has a database of `Properties` with Latitude and Longitude coordinates. They also have a spatial file containing the polygons of `School Districts`. The dashboard needs to show the average property price per school district. What is the most efficient transformation strategy to achieve this?

    1. A.Use Tableau Prep to extract the coordinates from the spatial file and perform a standard inner join.
    2. B.Use Tableau Desktop to create a spatial join using the `MAKEPOINT(Lat, Long)` function intersecting with the School District polygon.
    3. C.Blend the Properties data with the School District data on a calculated field.
    4. D.Use a Custom SQL query to calculate the Haversine distance between the properties and the school districts.
    Show answer & explanation

    Correct answer: BUse Tableau Desktop to create a spatial join using the `MAKEPOINT(Lat, Long)` function intersecting with the School District polygon.

    • A. Incorrect. Extracting coordinates and performing a standard inner join does not account for spatial relationships. A standard join requires a common key, whereas associating a point with a boundary requires a spatial intersection.
    • B. Correct. Using Tableau Desktop to create a spatial join with the `MAKEPOINT(Lat, Long)` function creates spatial objects from the coordinates. This allows for a spatial intersection with the School District polygons, accurately associating each property with the correct district for aggregation and calculating the average price.
    • C. Incorrect. Data blending is used for combining data based on common dimensions at the level of aggregation of the primary source. It does not support spatial intersection or point-in-polygon logic required for this analysis.
    • D. Incorrect. Haversine distance measures straight-line distance between two points. It is not designed to determine if a point lies within a polygon (point-in-polygon membership), making it unsuitable and computationally inefficient for this scenario compared to native spatial functions.

    Subdomain 2.1: Plan for data transformation

    13.A data warehouse tracks employee department changes using a Slowly Changing Dimension (SCD) Type 2 format. The `Employee_Dim` table has `Emp_ID`, `Dept_ID`, `Effective_Date`, `End_Date`, and `Is_Current`. The `Sales_Fact` table has `Sale_ID`, `Emp_ID`, `Sale_Date`, and `Amount`. You need to attribute sales to the department the employee belonged to at the time of the sale. Which transformation strategies will correctly resolve this granularity?(Select 2)

    1. A.In Tableau Desktop, physically join `Sales_Fact` to `Employee_Dim` on `Emp_ID = Emp_ID` AND `Sale_Date >= Effective_Date` AND `Sale_Date <= End_Date`.
    2. B.In Tableau Desktop, relate `Sales_Fact` to `Employee_Dim` on `Emp_ID`, and filter the dashboard to `Is_Current = True`.
    3. C.In Tableau Prep, join `Sales_Fact` to `Employee_Dim` using an inequality join on the dates, then output the combined dataset.
    4. D.Blend the data using `Sales_Fact` as primary and `Employee_Dim` as secondary, linking only on `Emp_ID`.
    Show answer & explanation

    Correct answers: A, CIn Tableau Desktop, physically join `Sales_Fact` to `Employee_Dim` on `Emp_ID = Emp_ID` AND `Sale_Date >= Effective_Date` AND `Sale_Date <= End_Date`.; In Tableau Prep, join `Sales_Fact` to `Employee_Dim` using an inequality join on the dates, then output the combined dataset.

    • A. Correct. A non-equi join in the physical layer of Tableau Desktop (using Emp_ID and the date range logic) ensures each sale is matched to the specific SCD Type 2 record that was active at the time of the sale. This correctly attributes the sale to the historical department.
    • B. Incorrect. Filtering to `Is_Current = True` will attribute all historical sales to the employee's current department, failing to preserve the point-in-time attribution required for SCD Type 2 analysis. Furthermore, Tableau Relationships (the logical layer) currently only support equality (=) operators, not range-based joins.
    • C. Correct. Tableau Prep supports inequality joins, making it an ideal tool for this transformation. By joining the sales data to the dimension based on the sale date falling between the effective and end dates, you create a flattened dataset where each sale is pre-associated with the correct department.
    • D. Incorrect. Data blending is limited to equality joins on linked fields and occurs at the aggregate level after the data is brought into the view. It cannot evaluate row-level inequality logic (date ranges) required to accurately select the correct historical SCD record.

    Subdomain 2.1: Plan for data transformation

    14.A client wants to visualize a market basket analysis (e.g., 'Customers who bought Product A also bought Product B'). The source data is a single `Transactions` table with `Order_ID` and `Product_Name`. What is the recommended data transformation strategy to achieve the necessary granularity for this analysis?

    1. A.Create a self-join on the `Transactions` table where `Order_ID = Order_ID` and `Product_Name <> Product_Name`.
    2. B.Pivot the `Product_Name` column so each product becomes its own column.
    3. C.Use Tableau's native clustering feature on the `Product_Name` dimension.
    4. D.Aggregate the data to the `Order_ID` level and use a COUNTD on `Product_Name`.
    Show answer & explanation

    Correct answer: ACreate a self-join on the `Transactions` table where `Order_ID = Order_ID` and `Product_Name <> Product_Name`.

    • A. Creating a self-join (pairwise join) on the Transactions table where Order_ID equals Order_ID and the Product_Name is not equal to itself generates rows for every product pair within a single transaction. This is the standard technique for market basket analysis in Tableau, as it provides the granular co-occurrence data needed to calculate support, confidence, and lift.
    • B. Pivoting Product_Name into separate columns creates a wide, sparse dataset where each column represents a product. This structure is impractical for association rule mining because it does not easily allow for the calculation of co-occurrence counts across all product combinations.
    • C. Tableau's clustering feature uses statistical algorithms to group similar data points together. While useful for segmentation, it does not identify specific item-to-item associations within the same transaction and cannot produce market basket metrics.
    • D. Aggregating to the Order_ID level and using COUNTD(Product_Name) tells you how many items were in a basket, but it removes the specific identity of the products. Without maintaining the individual product names, you cannot determine which products were bought together.

    Subdomain 2.2: Design a row-level security (RLS) data structure

    15.An organization has 50 different Tableau workbooks connected to the same cloud data warehouse. The security team mandates a new Row-Level Security policy that must be applied uniformly across all workbooks. The policy is complex and relies on an entitlement table. Which approach provides the most centralized and maintainable solution?

    1. A.Create a published data source with a physical join to the entitlement table and apply a Data Source Filter.
    2. B.Implement a Virtual Connection (VConn) with a Data Policy that enforces the RLS rules.
    3. C.Use Tableau Prep Builder to output 50 different hyper files, each filtered by the USERNAME() function.
    4. D.Create a template workbook with the RLS calculation and copy-paste it into the 50 workbooks.
    Show answer & explanation

    Correct answer: BImplement a Virtual Connection (VConn) with a Data Policy that enforces the RLS rules.

    • A. Incorrect. While a published data source centralizes logic to some degree, it is less maintainable than a platform-level policy. Complex entitlement logic and performance tuning are better handled at the connection layer. Changes may require republishing the data source, and it is still tied to the specific data source level rather than the connection level.
    • B. Correct. Virtual Connections (part of Tableau Data Management) allow you to create a Data Policy that enforces row-level security at the connection level. This is the most centralized solution because the security logic is defined once and automatically applied to all workbooks and data sources that use that connection, ensuring uniform enforcement and easy maintenance.
    • C. Incorrect. Using Tableau Prep to create multiple static Hyper files is highly unscalable and brittle. Prep runs outside of individual user sessions and cannot dynamically enforce per-user RLS using functions like USERNAME() in the same way a live connection or central policy can. This would result in significant administrative overhead.
    • D. Incorrect. This is a manual, decentralized approach that is prone to human error. If the RLS policy changes, an administrator would need to manually update 50 different workbooks, which is time-consuming and risks inconsistency across the organization.

    Subdomain 2.2: Design a row-level security (RLS) data structure

    16.When implementing Row-Level Security using user functions in Tableau Cloud, what value does the USERNAME() function typically return?

    1. A.The user's internal system ID (e.g., an integer).
    2. B.The user's Active Directory SAMAccountName.
    3. C.The user's email address used to sign in to Tableau Cloud.
    4. D.The user's First and Last Name.
    Show answer & explanation

    Correct answer: CThe user's email address used to sign in to Tableau Cloud.

    • A. Incorrect. The USERNAME() function returns a string identifier, not an internal numeric system ID. Internal database IDs are not exposed via Tableau's user functions and are not suitable for typical RLS lookups.
    • B. Incorrect. While USERNAME() might return a SAMAccountName in on-premises Tableau Server environments integrated with Active Directory, Tableau Cloud uses the user's email address as the primary identifier for cloud sign-ins.
    • C. Correct. In Tableau Cloud, the unique identifier for a user is the email address used to sign in. Consequently, the USERNAME() function typically returns this email address, making it the standard key to join against RLS permission tables in cloud deployments.
    • D. Incorrect. The user's display name (First and Last Name) is returned by the FULLNAME() function. RLS should generally rely on unique identifiers like the username/email rather than display names, which are not guaranteed to be unique or stable.

    Subdomain 2.2: Design a row-level security (RLS) data structure

    17.A user connects to a published data source via Web Edit in Tableau Server. The published data source has an RLS policy enforced via a Data Source Filter using the USERNAME() function. Can the user bypass the RLS policy in Web Edit?

    1. A.Yes, by duplicating the data source and removing the filter.
    2. B.Yes, by navigating to the Data Source tab and deleting the Data Source Filter.
    3. C.No, because Data Source Filters on published data sources cannot be modified or removed by users connecting to them.
    4. D.No, unless the user changes their username using the 'Filter as User' feature.
    Show answer & explanation

    Correct answer: CNo, because Data Source Filters on published data sources cannot be modified or removed by users connecting to them.

    • A. Incorrect. Duplicating the data source within the Web Edit environment does not allow a user to remove or modify filters that were applied at the data source level before publishing. The duplicated connection still points to the same published source where the RLS is enforced.
    • B. Incorrect. While users can access the Data Source tab in Web Edit, they do not have the permissions to delete or modify Data Source Filters that are part of a published data source. Only the owner or a site administrator can modify the published data source configuration.
    • C. Correct. Data Source Filters defined on a published data source are enforced by Tableau Server and are immutable for consumers of that data source. This ensures that Row-Level Security (RLS) policies cannot be bypassed by users creating or editing workbooks in the browser.
    • D. Incorrect. The 'Filter as User' feature is a design-time testing tool that allows authors to see how RLS affects the data. It does not change the authenticated identity of the user or provide a mechanism to bypass server-enforced security during actual data consumption.

    Domain 3: Design and Troubleshoot Calculations and Workbooks

    Subdomain 3.2: Design workbooks to optimize performance

    18.A financial dashboard uses a live connection and requires users to view data up to the current minute. The developer used a relative date filter anchored to NOW(). To improve performance while meeting business requirements, what is the best alternative design?

    1. A.Use a parameter for the 'End Date' and allow users to manually select the current time.
    2. B.Replace the live connection with an extract that refreshes every minute.
    3. C.Keep the relative date filter but change the anchor to TODAY().
    4. D.Use a fixed date filter that is updated manually by the Server Administrator daily.
    Show answer & explanation

    Correct answer: BReplace the live connection with an extract that refreshes every minute.

    • A. Using a parameter for the 'End Date' with manual selection introduces a poor user experience and fails to meet the requirement for automatic updates to the current minute. While it might reduce query churn by using a static value, it does not scale for real-time monitoring needs.
    • B. Replacing a live connection with an extract improves performance by utilizing Tableau's Hyper engine and allowing for query caching. Although a one-minute refresh cycle is frequent, it is the only option provided that maintains the 'current minute' freshness requirement while potentially reducing the direct load and latency associated with live database queries against volatile functions like NOW().
    • C. While anchoring to TODAY() is significantly better for performance because it allows Tableau to cache query results for the entire day, it fails the specific business requirement of providing data visibility up to the current minute.
    • D. A fixed date filter updated daily by an administrator is not a scalable or efficient process and fails to meet the requirement for minute-level data freshness.

    Subdomain 3.2: Design workbooks to optimize performance

    19.A workbook contains a calculation that converts a string date 'YYYYMMDD' into a standard Date type using `DATE(DATEPARSE('yyyyMMdd', [String Date]))`. This calculation is used as a primary filter and is causing severe performance degradation on a live connection. What is the best recommendation?

    1. A.Change the calculation to use LEFT(), MID(), and RIGHT() string functions instead of DATEPARSE.
    2. B.Move the date conversion upstream to the database so it is stored as a native Date type.
    3. C.Change the filter to a Context Filter.
    4. D.Use a parameter to pass the string value directly to the database.
    Show answer & explanation

    Correct answer: BMove the date conversion upstream to the database so it is stored as a native Date type.

    • A. Incorrect. Replacing DATEPARSE with LEFT(), MID(), and RIGHT() still performs row-level string manipulation in Tableau at runtime. This prevents the database from applying the filter natively and will not resolve the performance issue; in some cases, it may even increase computational overhead.
    • B. Correct. Moving the date conversion upstream to the database allows the column to be stored as a native Date type. This enables the database to use indexes, partitioning, and predicate pushdown, allowing for significantly more efficient filtering on a live connection compared to performing row-level calculations in Tableau.
    • C. Incorrect. Changing the filter to a Context Filter does not address the underlying performance issue of the calculation itself. On a live connection, context filters often involve creating temporary tables in the database, which can further degrade performance when the source calculation is inefficient.
    • D. Incorrect. Using a parameter does not address the schema issue or the need for row-level conversion. While parameters can sometimes be used in Custom SQL, the best performance practice is to fix the data type at the source to allow for native database optimization.

    Subdomain 3.2: Design workbooks to optimize performance

    20.You are reviewing a workbook with a highly complex IF THEN statement. Which of the following techniques should you use to optimize the calculation performance?(Select 3)

    1. A.Order the conditions so the most frequently occurring outcomes are evaluated first.
    2. B.Use ELSEIF instead of nested IF statements.
    3. C.Convert boolean checks (e.g., `IF [Profit] > 0 THEN True ELSE False END`) directly to boolean expressions (e.g., `[Profit] > 0`).
    4. D.Wrap the entire IF THEN statement in an ATTR() function.
    5. E.Use string comparisons instead of integer comparisons whenever possible.
    6. F.Force the calculation to evaluate on the client side using RAWSQL.
    Show answer & explanation

    Correct answers: A, B, COrder the conditions so the most frequently occurring outcomes are evaluated first.; Use ELSEIF instead of nested IF statements.; Convert boolean checks (e.g., `IF [Profit] > 0 THEN True ELSE False END`) directly to boolean expressions (e.g., `[Profit] > 0`).

    • A. Correct. Tableau evaluates conditions in the order they are written. By ordering conditions so the most frequently occurring outcomes are evaluated first, the engine can 'short-circuit' or stop evaluation as soon as a true branch is found, significantly reducing computation time.
    • B. Correct. Using ELSEIF chains is more efficient and easier for the engine to process than deeply nested IF statements. This simplifies the calculation plan, reduces logical overhead, and improves readability.
    • C. Correct. Converting explicit boolean IF statements into direct boolean expressions (e.g., [Profit] > 0) removes unnecessary branching and function overhead. Boolean expressions are natively more efficient to process than logical IF THEN structures.
    • D. Incorrect. ATTR() is an aggregation used to check if all values in a partition are the same; it does not improve performance for logical statements and may add unnecessary aggregation overhead.
    • E. Incorrect. Integer and numeric comparisons are significantly faster than string comparisons due to simpler computation and lack of collation/character processing requirements. You should use integers over strings for performance.
    • F. Incorrect. RAWSQL passes commands directly to the underlying database (server-side), not the client side. Furthermore, using RAWSQL is a way to access database-specific functions, not a general strategy for optimizing Tableau's internal IF THEN logic.

    Subdomain 3.3: Implement advanced calculations that include multiple steps

    21.You need to calculate the regional average of store-level profit margins. Profit margin is defined as SUM(Profit) / SUM(Sales). Which of the following calculations will correctly compute this at the Region level?(Select 2)

    1. A.AVG({FIXED [Store ID] : SUM([Profit]) / SUM([Sales])})
    2. B.AVG({INCLUDE [Store ID] : SUM([Profit]) / SUM([Sales])})
    3. C.{FIXED [Region] : AVG([Profit] / [Sales])}
    4. D.SUM({FIXED [Store ID] : SUM([Profit])}) / SUM({FIXED [Store ID] : SUM([Sales])})
    5. E.{EXCLUDE [Store ID] : AVG(SUM([Profit]) / SUM([Sales]))}
    Show answer & explanation

    Correct answers: A, BAVG({FIXED [Store ID] : SUM([Profit]) / SUM([Sales])}); AVG({INCLUDE [Store ID] : SUM([Profit]) / SUM([Sales])})

    • A. Correct. This calculation uses a FIXED LOD to compute the profit margin (SUM of Profit divided by SUM of Sales) for each Store ID independent of the view. By applying the AVG aggregation to this expression in a view grouped by Region, Tableau computes the arithmetic mean of these store-level values.
    • B. Correct. The INCLUDE expression ensures that Store ID is considered in the level of detail for the profit margin calculation (SUM(Profit)/SUM(Sales)). When the result is averaged (AVG) at the Region level in the visualization, it correctly yields the average of individual store margins.
    • C. Incorrect. This expression calculates the average of row-level (transactional) profit-to-sales ratios within each region. This does not aggregate profit and sales at the store level first, leading to a different result than the average of store margins.
    • D. Incorrect. This formula calculates the total regional profit divided by the total regional sales. This provides the overall weighted profit margin for the region, rather than the unweighted average of the individual stores' profit margins.
    • E. Incorrect. EXCLUDE is designed to remove granularity from a calculation that is already present in the view's level of detail. It is not the standard or correct way to compute store-level ratios for an unweighted regional average.

    Subdomain 3.3: Implement advanced calculations that include multiple steps

    22.You need to calculate a Year-to-Date (YTD) running total of sales that resets every fiscal year. The fiscal year starts in July. Which of the following configurations will correctly calculate this?(Select 2)

    1. A.Use RUNNING_SUM(SUM([Sales])). Set Compute Using to Pane (Across), assuming Fiscal Year is on the Columns shelf before Month.
    2. B.Use RUNNING_SUM(SUM([Sales])). Select Specific Dimensions, check Month and Year, and set 'Restarting every' to Fiscal Year.
    3. C.Use WINDOW_SUM(SUM([Sales]), -6, 0) computing Table (Across).
    4. D.Use TOTAL(SUM([Sales])) and set Compute Using to Cell.
    5. E.Use RUNNING_SUM(SUM(IF MONTH([Order Date]) >= 7 THEN [Sales] END)) computing Table (Down).
    Show answer & explanation

    Correct answers: A, BUse RUNNING_SUM(SUM([Sales])). Set Compute Using to Pane (Across), assuming Fiscal Year is on the Columns shelf before Month.; Use RUNNING_SUM(SUM([Sales])). Select Specific Dimensions, check Month and Year, and set 'Restarting every' to Fiscal Year.

    • A. This is a correct configuration. In Tableau, if the view is structured with the Fiscal Year dimension preceding the Month dimension, 'Pane (Across)' defines the scope of the calculation as the individual pane (the Year). The running sum will accumulate across the months and automatically restart when it hits the next pane boundary (the start of the next Fiscal Year).
    • B. This is a correct configuration. Using 'Specific Dimensions' provides manual control over the calculation. By including Month and Year in the addressing but setting the 'Restarting every' option to Fiscal Year, the RUNNING_SUM will partition the data by fiscal year, resetting the total at the start of each July as required.
    • C. This is incorrect. WINDOW_SUM with fixed offsets (like -6 to 0) creates a moving window or rolling sum of the last seven data points. It is not a true YTD accumulator because it doesn't anchor the start to the beginning of the fiscal period and doesn't reset at year boundaries.
    • D. This is incorrect. The TOTAL() function returns the overall sum for a given partition rather than a cumulative, running sum. Furthermore, setting the compute using to 'Cell' results in the calculation being performed only on the individual data point within that cell, returning the same value as SUM([Sales]).
    • E. This is incorrect. The logic 'IF MONTH([Order Date]) >= 7' would simply ignore or return NULL for any data between January and June. This does not create a reset; it simply excludes the first half of every calendar year, which is not appropriate for a continuous YTD calculation across a fiscal period.

    Subdomain 3.3: Implement advanced calculations that include multiple steps

    23.You are using data blending. In your secondary data source, you create the calculation `SUM([Sales]) / COUNTD([Customer Name])`. Tableau returns an error stating that the calculation is invalid. What is the cause of this error, and how can it be fixed?(Select 2)

    1. A.COUNTD is not supported for secondary data sources unless the blend is on all dimensions in the view.
    2. B.The error is caused by mixing aggregate and non-aggregate functions.
    3. C.Fix the issue by using a primary data source for the COUNTD calculation, or by joining the data instead of blending.
    4. D.Fix the issue by wrapping the COUNTD function in an ATTR() function.
    5. E.The error occurs because SUM([Sales]) must be changed to ATTR([Sales]).
    Show answer & explanation

    Correct answers: A, CCOUNTD is not supported for secondary data sources unless the blend is on all dimensions in the view.; Fix the issue by using a primary data source for the COUNTD calculation, or by joining the data instead of blending.

    • A. Correct. Tableau has architectural limitations regarding non-additive aggregates (like COUNTD and MEDIAN) in secondary data sources. In a blended environment, COUNTD is only supported for the secondary data source if the view includes all linking fields from the primary source as dimensions, effectively ensuring the data is aggregated at the same level.
    • B. Incorrect. The calculation uses two aggregate functions (SUM and COUNTD). The 'mixing aggregate and non-aggregate' error only occurs when an unaggregated field is used alongside an aggregate function, which is not the case here.
    • C. Correct. To resolve limitations with non-additive aggregates in data blending, you can either perform a physical or logical join at the data source level or switch the secondary data source to be the primary data source, as primary sources do not have these aggregation restrictions.
    • D. Incorrect. Wrapping an aggregate function like COUNTD in ATTR() would result in a 'nested aggregation' error. Furthermore, ATTR() is used to return a single value for a dimension and does not resolve the underlying secondary source limitation for COUNTD.
    • E. Incorrect. SUM([Sales]) is a valid aggregate function. Changing it to ATTR([Sales]) would not address the issue with COUNTD and could potentially return a '*' (null) if there are multiple values in the partition.

    Subdomain 3.1: Design analytics for advanced use cases

    24.A user has a bar chart showing the % of Total Sales for four Regions (North, South, East, West), which add up to 100%. They want to remove the 'North' region from the visual display, but they want the remaining three regions to retain their original percentages (e.g., South still shows 25%, not recalculating to a new total of 100%). What is the best way to troubleshoot and resolve this?

    1. A.Add the Region filter to Context.
    2. B.Right-click the 'North' header in the view and select 'Hide'.
    3. C.Change the % of Total quick table calculation to compute using Cell.
    4. D.Use an EXCLUDE LOD expression for the Region dimension.
    Show answer & explanation

    Correct answer: BRight-click the 'North' header in the view and select 'Hide'.

    • A. Incorrect. Dimension filters and Context filters are applied before Table Calculations in the Tableau Order of Operations. If you filter out 'North', the data is removed from the calculation entirely, forcing the remaining regions to recalculate their % of Total to sum to 100%.
    • B. Correct. Hiding is a visual operation that occurs after Table Calculations have been computed. By right-clicking the header and selecting 'Hide', the 'North' data remains in the underlying table used for the calculation (preserving the denominator), but its specific mark is simply not rendered in the view.
    • C. Incorrect. Computing the % of Total using 'Cell' changes the scope of the calculation to the individual bar, which would result in every region showing 100%. This does not solve the problem of removing a region while maintaining the original proportions.
    • D. Incorrect. While Level of Detail (LOD) expressions like FIXED can help maintain a consistent denominator regardless of filters, an EXCLUDE LOD for Region is more complex than necessary and doesn't directly address the visual display requirement. 'Hide' is the standard best practice for this scenario.

    Subdomain 3.1: Design analytics for advanced use cases

    25.A client wants to click a custom 'button' (a worksheet) on a dashboard to seamlessly toggle the main view between a Map and a Scatter Plot. Which of the following combinations of advanced techniques can be used to achieve this 'Sheet Swapping' effect?(Select 2)

    1. A.A Parameter Action that updates a parameter, combined with a calculated field used as a filter on both sheets.
    2. B.A Set Action that updates a set, combined with a calculated field used as a filter on both sheets.
    3. C.A URL Action that targets the dashboard's own URL with a different sheet name appended.
    4. D.A Highlight Action configured to hide unselected sheets.
    Show answer & explanation

    Correct answers: A, BA Parameter Action that updates a parameter, combined with a calculated field used as a filter on both sheets.; A Set Action that updates a set, combined with a calculated field used as a filter on both sheets.

    • A. Correct. Using a Parameter Action to update a parameter is a standard, modern method for sheet swapping. When a user clicks a worksheet acting as a button, the parameter value changes, which in turn updates a boolean calculation used as a filter on the target sheets. This allows sheets within a layout container to collapse or appear seamlessly.
    • B. Correct. Set Actions provide an interactive way to change set membership. Similar to parameter actions, a calculated field referencing the set can be used as a filter on the worksheets. When the 'button' worksheet is clicked, the set updates, triggering the filter to show or hide the appropriate views.
    • C. Incorrect. URL Actions are used for navigating to external web pages or other dashboard URLs. They are not used for seamless sheet swapping within a single dashboard container, as they typically cause a page reload or navigate away from the current view.
    • D. Incorrect. Highlight Actions only change the visual emphasis of specific marks by dimming others; they do not have the ability to filter data out or collapse worksheet containers, which is required for sheet swapping.

    Subdomain 3.1: Design analytics for advanced use cases

    26.Which of the following advanced interactivity use cases can be achieved using Parameter Actions in Tableau? (Select three)(Select 3)

    1. A.Dynamically changing the measure (e.g., switching between Sales and Profit) displayed in a chart based on a user's click.
    2. B.Updating a reference line to match the exact value of a mark a user clicks on.
    3. C.Driving a sheet swap to change the visualization type displayed on a dashboard.
    4. D.Automatically sending an email to a user when a specific threshold is crossed.
    5. E.Exporting the underlying data of a selected mark to a CSV file.
    Show answer & explanation

    Correct answers: A, B, CDynamically changing the measure (e.g., switching between Sales and Profit) displayed in a chart based on a user's click.; Updating a reference line to match the exact value of a mark a user clicks on.; Driving a sheet swap to change the visualization type displayed on a dashboard.

    • A. Correct. Parameter Actions can set a parameter value based on a user's interaction with a mark. When a calculated field is created to reference that parameter (e.g., using a CASE statement), it can dynamically switch which measure is displayed in the visualization.
    • B. Correct. A Parameter Action can capture the value of a clicked mark into a parameter. Since Tableau reference lines can be tied to parameters, this allows the line to update its position dynamically to match the exact value of the user's selection.
    • C. Correct. Sheet swapping is typically controlled by a parameter used as a filter across different sheets. A Parameter Action can change this parameter value when a user interacts with the dashboard, effectively triggering a sheet swap to change the visualization type or view.
    • D. Incorrect. Automatically sending emails based on thresholds is a feature of Tableau Server/Cloud Data-Driven Alerts, not Parameter Actions. Parameter Actions only modify internal workbook variables.
    • E. Incorrect. Parameter Actions are designed to update internal parameter values within a workbook. Exporting data to CSV is handled via Tableau's built-in export functionality, dashboard objects, or the Extensions API, but not directly through Parameter Actions.

    Domain 4: Establish Governance and Support Published Content

    Subdomain 4.2: Leverage administrative views

    27.When building custom administrative views using the Tableau Server Repository, which PostgreSQL table or view is primarily used to analyze detailed user session data, including browser types, user agents, and render times for specific visualizations?

    1. A._sessions
    2. B._views
    3. C._http_requests
    4. D._background_tasks
    Show answer & explanation

    Correct answer: C_http_requests

    • A. The _sessions table contains session-level metadata such as session IDs, user IDs, and start/end times, but it lacks the granular request-level details needed to identify specific browser strings or individual render durations.
    • B. The _views table is a metadata table that stores information about the views themselves, such as their names and owners. It does not store log-level interaction data or performance metrics like render times.
    • C. The _http_requests table captures detailed, request-level HTTP data processed by the Tableau Server. It includes the user_agent string (which identifies browser types), the request URI (identifying the specific visualization), and the elapsed time, making it the primary source for performance and client-usage analysis.
    • D. The _background_tasks table records activity related to the Backgrounder process, such as extract refreshes and subscription deliveries, and does not contain interactive user session or browser data.

    Subdomain 4.2: Leverage administrative views

    28.A consultant is tasked with creating a custom administrative dashboard to correlate slow workbook load times with specific user departments defined in Active Directory. Which tables/views from the Tableau Server Repository (workgroup database) must be joined to achieve this?(Select 3)

    1. A._http_requests
    2. B._users
    3. C._system_users
    4. D._background_tasks
    5. E._site_roles
    Show answer & explanation

    Correct answers: A, B, C_http_requests; _users; _system_users

    • A. The _http_requests view is essential for performance monitoring as it records detailed telemetry about workbook load events, including duration and start/end times for sessions. It contains the user_id needed to link performance data to specific users.
    • B. The _users view acts as the primary join point between activity logs (like _http_requests) and identity data. It contains site-specific user records and the system_user_id needed to join with the _system_users table.
    • C. The _system_users table stores global identity attributes synchronized from external identity providers like Active Directory. This table contains the department field required for the requested correlation.
    • D. The _background_tasks table tracks backgrounder activity such as extract refreshes and subscriptions. It does not provide timing data for interactive workbook load events.
    • E. The _site_roles table stores information regarding the roles assigned to users within a specific site (e.g., Viewer, Creator) but does not contain Active Directory department metadata.

    Subdomain 4.2: Leverage administrative views

    29.A critical project folder containing executive dashboards has unexpectedly disappeared from Tableau Cloud. The Site Administrator needs to determine who deleted the project and when. Which pre-built administrative view will provide this information?

    1. A.Actions by All Users
    2. B.Traffic to Views
    3. C.Background Tasks for Non-Extracts
    4. D.Stats for Space Usage
    Show answer & explanation

    Correct answer: AActions by All Users

    • A. The 'Actions by All Users' administrative view captures audit-level user actions performed on the site, including create, update, and delete events. It provides specific details on which user performed the action and the exact timestamp. A Site Administrator can filter this view by the action type (Delete) to identify who removed the project.
    • B. The 'Traffic to Views' view focuses on usage metrics such as view counts, viewers, and trends for dashboards and worksheets. It is used to analyze content popularity rather than administrative or content management actions like deletions.
    • C. The 'Background Tasks for Non-Extracts' view reports on the status and duration of background jobs (such as subscriptions, alerts, and flow runs). It does not track user-initiated content management actions like deleting a project folder.
    • D. The 'Stats for Space Usage' view provides information regarding storage and space consumption for sites and content. While it helps identify which workbooks or data sources are consuming the most space, it does not record a history of audit actions or deletions.

    Subdomain 4.3: Recommend a content distribution strategy

    30.A healthcare company needs to distribute interactive dashboards to 500 external clinic managers. They do not want to manage Tableau Server credentials for these users, but they require secure, authenticated access integrated seamlessly into their existing clinic web portal. Which distribution strategy is most appropriate?

    1. A.Publish the dashboards to Tableau Public and embed the public links in the portal.
    2. B.Configure Connected Apps with JSON Web Tokens (JWT) and use the Embedding API v3.
    3. C.Set up Subscriptions to send interactive HTML files to the external email addresses.
    4. D.Enable the Guest account on Tableau Server and embed the dashboards using standard iframe tags.
    Show answer & explanation

    Correct answer: BConfigure Connected Apps with JSON Web Tokens (JWT) and use the Embedding API v3.

    • A. Tableau Public is a free platform that makes data accessible to everyone on the internet. It does not provide the security, authentication, or compliance controls required to protect sensitive healthcare information.
    • B. Connected Apps using JSON Web Tokens (JWT) allow for secure, token-based authentication between a custom application (the portal) and Tableau. This setup enables a Single Sign-On (SSO) experience without the need to manage individual Tableau Server credentials for every user, making it ideal for large-scale external distribution within a secure portal.
    • C. Tableau Subscriptions deliver static images or PDF files via email. They do not provide interactive HTML files, nor do they support secure integration into a web portal where users can interact with live data.
    • D. The Guest account allows anyone with access to the server to view content without logging in. This provides no per-user authentication or auditability, which is insecure and typically unacceptable for sensitive healthcare data governed by privacy regulations.

    Subdomain 4.3: Recommend a content distribution strategy

    31.A Tableau Server environment has become cluttered with unused workbooks over the past two years. As a consultant, you need to recommend a maintenance strategy to identify and archive stale content. Which approaches are valid for this lifecycle phase?(Select 2)

    1. A.Use the TS Events and TS Content data sources from Admin Insights to identify workbooks with zero views in the last 90 days.
    2. B.Enable the 'Auto-Archive Stale Content' setting in the TSM Configuration UI.
    3. C.Write a Python script using the Tableau REST API to query workbook usage statistics and programmatically download/delete stale workbooks.
    4. D.Use the Content Migration Tool to automatically delete workbooks based on a view count threshold.
    5. E.Configure a Data-Driven Alert on the Tableau Server Status page to trigger when a workbook becomes stale.
    Show answer & explanation

    Correct answers: A, CUse the TS Events and TS Content data sources from Admin Insights to identify workbooks with zero views in the last 90 days.; Write a Python script using the Tableau REST API to query workbook usage statistics and programmatically download/delete stale workbooks.

    • A. Admin Insights (and the equivalent Tableau Server Repository data) provides data sources such as TS Events and TS Content. These allow administrators to analyze usage patterns and view counts to identify content that has not been accessed over a specific period, which is the first step in a stale content archival strategy.
    • B. The Tableau Services Manager (TSM) is used for server-level configurations, such as licensing and topology. It does not contain a built-in 'Auto-Archive' toggle for workbook content management.
    • C. The Tableau REST API is the standard tool for programmatic content management. A script can be used to query usage metadata (to identify stale content) and then execute methods to download (archive) and subsequently delete those workbooks from the server.
    • D. The Content Migration Tool (CMT) is designed to move content between projects or sites and apply transformations. It is not designed to act as a cleanup engine for deleting workbooks based on view-count thresholds.
    • E. Data-Driven Alerts are used to monitor specific data thresholds within a visualization for users. They are not an administrative tool for monitoring server metadata or identifying stale workbooks on the Status page.

    Subdomain 4.3: Recommend a content distribution strategy

    32.A financial institution uses a single dashboard with Row-Level Security (RLS) implemented via the USERNAME() function. The VP of Sales wants to subscribe 50 regional managers to this dashboard so they receive a PDF every Monday. How should this be configured to ensure data security is maintained in the distributed PDFs?

    1. A.The VP must create 50 separate custom views and subscribe each user individually to their respective view.
    2. B.Subscriptions cannot be used with RLS; users must log in to Tableau Server to view the secure dashboard.
    3. C.The VP can create one subscription, add all 50 users, and Tableau will automatically apply RLS by running the subscription in the context of each recipient.
    4. D.The VP must use a service account to generate the PDFs and distribute them via an external email script.
    Show answer & explanation

    Correct answer: CThe VP can create one subscription, add all 50 users, and Tableau will automatically apply RLS by running the subscription in the context of each recipient.

    • A. Creating separate custom views for every user is highly inefficient and creates significant administrative overhead. The purpose of Row-Level Security (RLS) with USERNAME() is to use a single dashboard for all users while dynamically filtering data based on the viewer's identity.
    • B. While this was historically the standard advice due to subscriptions running in the context of the owner, modern Tableau versions (Server and Cloud) have introduced features to address this limitation. Stating that subscriptions 'cannot be used' with RLS is now technically incorrect.
    • C. Tableau supports a 'Run as recipient' feature for subscriptions. When this option is enabled, Tableau generates the subscription output (like a PDF) by running the view in the security context of each individual recipient. This ensures that the USERNAME() function correctly filters the data for each of the 50 regional managers, maintaining data security in the distributed files.
    • D. Using a service account to generate and distribute PDFs via external scripts is not recommended. This method often bypasses Tableau's native security model and USERNAME() logic, introducing risks of data exposure if the script or service account has access to the entire dataset.

    Subdomain 4.1: Recommend and apply a Tableau governance strategy

    33.A conglomerate has three distinct subsidiaries. Due to strict legal regulations, users from Subsidiary A must never be able to see the user list, groups, or content of Subsidiary B or C. However, they share the same Tableau Server deployment. What is the appropriate governance boundary to recommend?

    1. A.Create separate top-level projects for each subsidiary and lock the permissions.
    2. B.Create separate Sites for each subsidiary.
    3. C.Implement Row-Level Security using the USERNAME() function on all data sources.
    4. D.Use a single site but disable the 'View Users' capability for all groups.
    Show answer & explanation

    Correct answer: BCreate separate Sites for each subsidiary.

    • A. Projects are organizational units within a Site and are intended for managing content permissions. They do not provide isolation for the user list or groups; users belonging to the same Site can still enumerate other users and groups within that Site environment.
    • B. Sites are the highest level of logical isolation on Tableau Server. Each Site has its own unique users, groups, and content. Users on one Site cannot see the existence of users, groups, or content on another Site, making it the only appropriate boundary for meeting strict legal multi-tenancy requirements.
    • C. Row-Level Security (RLS) is designed to filter data within a dashboard or data source based on the user's identity. It does not provide governance boundaries for server-level metadata like user lists, group structures, or the visibility of other published workbooks.
    • D. Disabling specific capabilities or permissions within a single Site is insufficient for strict isolation. It does not prevent the visibility of groups or the potential for users to infer the presence of others. Only the multi-tenant architecture of separate Sites guarantees that one subsidiary is completely invisible to another.

    Subdomain 4.1: Recommend and apply a Tableau governance strategy

    34.A Tableau Center of Excellence (CoE) is establishing a content promotion strategy. They want a 'Sandbox' project where any Creator can publish, and a 'Production' project that only contains validated, certified content. Which governance configurations support this strategy?(Select 3)

    1. A.Grant the 'Publish' capability to the 'All Users' group in the Sandbox project.
    2. B.Lock permissions in the Production project and restrict publishing to a specific 'Publisher/Promoter' group.
    3. C.Automatically certify all content published to the Sandbox project.
    4. D.Use the Tableau REST API or a CI/CD pipeline to migrate validated workbooks from Sandbox to Production.
    5. E.Grant Project Leader rights to all Creators in the Production project to encourage self-service.
    6. F.Disable extract refreshes in the Production project to save server resources.
    Show answer & explanation

    Correct answers: A, B, DGrant the 'Publish' capability to the 'All Users' group in the Sandbox project.; Lock permissions in the Production project and restrict publishing to a specific 'Publisher/Promoter' group.; Use the Tableau REST API or a CI/CD pipeline to migrate validated workbooks from Sandbox to Production.

    • A. Granting the 'Publish' capability to a broad group like 'All Users' (or specifically all Creators) in the Sandbox environment allows users to iterate freely on content without risk to Production. This supports self-service exploration and rapid prototyping, which is the primary purpose of a sandbox.
    • B. Locking permissions at the project level in the Production environment ensures that all workbooks and data sources inherit the same security settings. Restricting publishing rights to a specific 'Promoter' group ensures that only users who have gone through the validation process can move content into the Production space, maintaining a high standard of data integrity.
    • C. Certification is a manual or workflow-driven mark of trust signifying that content is accurate and official. Automatically certifying content in a Sandbox—where draft and experimental work resides—would undermine the purpose of the 'Certified' badge and create confusion for business users.
    • D. Using the Tableau REST API or a CI/CD pipeline (such as the Tableau Content Migration Tool) provides a repeatable, governed process for moving content. This approach allows for automated testing, metadata updating, and audit trails during the promotion from Sandbox to Production.
    • E. Granting Project Leader rights to all Creators in a Production project gives them excessive administrative permissions, including the ability to change permissions and delete content. This is contrary to a governed Production environment which requires strict access controls.
    • F. Disabling extract refreshes in Production would result in stale data, which is inappropriate for a Production environment where business decisions are made. Resource management should be handled through backgrounder scheduling or hardware scaling, not by disabling essential data updates.

    Subdomain 4.1: Recommend and apply a Tableau governance strategy

    35.A data engineer has thoroughly tested a new data source in the 'UAT' project and is ready to promote it to the 'Production' project. The organization's governance policy dictates that all data sources in the 'Production' project must be Certified. What is the most efficient way to ensure the data source is certified upon promotion?

    1. A.Move the data source to the Production project using the Tableau UI, then manually click the 'Certify' button.
    2. B.Use the Content Migration Tool to move the data source and apply a transformation to set the certification status automatically.
    3. C.Certify the data source in the UAT project; the certification status will automatically persist when moved to the Production project.
    4. D.Download the data source, add a 'Certified' tag in Tableau Desktop, and republish it directly to the Production project.
    Show answer & explanation

    Correct answer: BUse the Content Migration Tool to move the data source and apply a transformation to set the certification status automatically.

    • A. While this method works, it involves manual post-migration steps. In a governed environment, manual steps increase the risk of human error and non-compliance with the policy that all Production data must be certified.
    • B. The Tableau Content Migration Tool (CMT) is the best-practice tool for promoting content between environments or projects. It includes a specific transformation for data sources that allows you to automatically set the certification status during the migration process, ensuring the policy is met efficiently and consistently.
    • C. Although certification status persists when a data source is moved between projects on the same site, certifying a data source in a UAT (testing) environment may be misleading or violate governance workflows where only production-ready content should carry the certification badge. Using CMT for transformation is a more robust promotion strategy.
    • D. Adding a 'tag' in Tableau Desktop is not the same as the 'Certified' status on Tableau Server/Cloud. Certification is a server-side management feature that provides a unique visual badge and search priority, which cannot be applied within the Tableau Desktop interface.

    Want the full experience?

    These are just samples. Practice the full Salesforce Certified Tableau Consultant question bank in quiz mode — free, no signup, with domain practice and exam simulation.