🏭 PHASE 4 · PRODUCTION & PUBLISHING 🟡 Intermediate MODULE 15

Publishing & Tableau Server/Online

⏱️ 45 min read
🌐 3 Platforms
❓ 5 Quiz Questions
🎓 Career Paths
Building a great dashboard is only half the work. The other half is getting it in front of the right people, with the right data, at the right time — securely. This final lesson covers the complete publishing lifecycle: choosing between Tableau Public, Server, and Online; publishing workbooks and data sources; configuring permissions and row-level security; scheduling extract refreshes; embedding dashboards into websites and portals; and the career paths that open up when you master the full Tableau platform.
Module 15 of 17 · Phase 4 Progress 88%

Tableau Public vs Server vs Online — Choosing the Right Platform

Tableau has three platforms for sharing dashboards. Each targets a different audience and has fundamentally different security and cost models. Choosing the wrong one is a serious mistake — especially for sensitive business data.

PlatformHostingCostData PrivacyBest For
Tableau PublicTableau's cloudFreeAll data is publicPortfolio projects, journalism, open data
Tableau Online
(now Tableau Cloud)
Tableau's cloudPaid per userPrivate, access-controlledCompanies that don't want to manage servers
Tableau ServerYour own serversPaid + IT overheadFull internal controlEnterprises with strict data residency requirements
⚠️
Never Publish Sensitive Data to Tableau Public
Tableau Public is completely open — every workbook and every row of data you publish is accessible to anyone on the internet, including Google's search crawler. Many analysts have accidentally published confidential customer data, revenue figures, or employee records to Tableau Public. Always verify which platform you're publishing to before clicking Publish. If you see "Tableau Public" in the publish dialog, stop immediately if the data is private.

Tableau Cloud vs Tableau Server — A Deeper Look

Tableau Cloud (formerly Tableau Online) is the fully managed SaaS option. Salesforce/Tableau handles all server maintenance, upgrades, backups, and scaling. You simply log in to the web interface and get a full server experience without any IT overhead. The trade-off: your data passes through Tableau's cloud infrastructure, which may not be acceptable for some regulated industries (healthcare, government, financial services) with strict data residency laws.

Tableau Server is deployed on-premises (your data center) or in your private cloud (AWS, Azure, GCP). Your IT team manages the servers. This satisfies the strictest data residency and security requirements. The trade-off: significant upfront infrastructure investment and ongoing maintenance overhead.

Publishing Workbooks and Data Sources

Publishing from Tableau Desktop to Server/Cloud is straightforward, but understanding the options available at publish time makes a significant difference in how usable and maintainable your published content is.

Publishing a Workbook — Step by Step

1
Open the Publish Dialog
In Tableau Desktop: Server → Publish Workbook (if not connected to a server, you'll be prompted to sign in first). The Publish Workbook dialog opens.
2
Choose the Project
Tableau Server organizes content in Projects (similar to folders). Select the appropriate project for your workbook. Good practice: separate projects by department (Finance, Marketing, Operations) or by audience (Executive, Operational).
3
Name and Describe the Workbook
Give the workbook a clear, business-friendly name (not "Dashboard_v3_FINAL"). Add a description explaining what it shows and who it's for. This helps colleagues find the right dashboard in a large Server environment.
4
Configure Sheet Tabs
Choose which sheets to include (all or a subset). You can hide individual worksheets so published users only see the dashboard — not the raw chart sheets underlying it. Click "Show Sheets As Tabs" to allow or deny tab navigation.
5
Data Source Options
Choose how to handle your data source: "Embedded in workbook" (the extract or live connection travels with the workbook) or "Published separately" (publish the data source independently so multiple workbooks can share it and be refreshed centrally). For enterprise use, Published Separately is almost always the right choice.
6
Set Permissions
In the Permissions tab, configure who can View, Interact, Edit, or Download the workbook. You can set permissions for individual users or for Server Groups (departments). Default is to inherit project permissions.

Publishing Data Sources Independently

Publishing a data source independently means multiple workbooks can connect to the same certified, centrally managed data source on Server. This is the foundation of a governed analytics environment — a single version of truth that everyone connects to. To publish: in Desktop, right-click the data source in the Data pane → Publish to Server. Set the project, name, and schedule. Now any analyst who builds a new workbook can connect to your published data source and get automatically refreshed, pre-cleaned data.

🏆
Certified Data Sources — Governance in Action
On Tableau Server/Cloud, an administrator can Certify a published data source — marking it with a green badge as the official, trusted version. When analysts search for data to connect to, certified sources appear first and carry an authority signal. This prevents the proliferation of one-off Excel extracts and unofficial data sources that cause conflicting metrics across dashboards — a common pain point in large organizations.

Permissions and Row-Level Security

Access control is one of the most critical responsibilities when publishing to an enterprise Server. Getting permissions wrong either exposes sensitive data or frustrates users who can't access what they need. Tableau has a layered permission model.

The Permission Hierarchy

LevelWhat It ControlsApplies To
SiteWho can access the Server site at allAll content on the site
ProjectWho can view/publish to a project folderAll content in the project
WorkbookWho can view/interact/edit/download a workbookSpecific workbook
Data SourceWho can connect to a published data sourceSpecific data source
Row-Level SecurityWhich rows of data each user can seeAll workbooks using that data source

Permission Capabilities

For each content item, you can grant five capability levels to users or groups:

V
View
See the dashboard. No interaction beyond viewing a static snapshot.
I
Interact (Web Edit / Filter)
Use filters, hover for tooltips, drill down, and interact with the dashboard. Cannot edit the underlying workbook structure.
D
Download
Download the workbook (.twbx), the data as CSV/Excel, or images of the dashboard. Be careful granting this — it bypasses row-level security by giving users a copy of the raw data.
E
Edit
Modify the workbook structure in Web Edit (a browser-based Tableau editor). Requires a Creator or Explorer license on Tableau Server.
A
Administer
Full control including setting permissions for others, moving content between projects, and deleting. Reserve for project owners and site admins only.

Row-Level Security (RLS)

Row-Level Security ensures that when a sales manager in the West region logs into a shared dashboard, they only see West region data — while the East manager sees East data — from the same workbook. This is critical for sharing a single workbook across an entire organization without exposing restricted data.

🔐
Implementing RLS with User Filters
The most common Tableau RLS approach uses a User Filter calculation: USERNAME() returns the logged-in user's Server username. Create a mapping table (username → region) in your data source. Then create a calculated field: IF ISMEMBEROF('Admin') OR [Username Map] = USERNAME() THEN TRUE END. Use this as a data source filter. Now each user automatically sees only their rows, while admins see everything. Administrators can manage user-to-region mappings without touching the workbook.

Scheduling Extract Refreshes

Published extracts need to stay fresh. Tableau Server and Cloud have a built-in scheduling system that automatically refreshes extracts at configurable intervals, connecting to the original data source, running the extract, and updating all workbooks that use it.

Setting Up a Refresh Schedule

1
Navigate to the Data Source on Server
In the Tableau Server/Cloud web interface, go to your project, find your published data source, and click on it. The data source detail page shows its current extract status and schedule.
2
Add a Refresh Schedule
Click Schedule a Refresh (or the "Schedules" tab). Choose from existing schedule options (Daily at 6:00 AM, Weekly on Mondays, Hourly, etc.) or ask your Server admin to create a custom schedule.
3
Verify Credentials
The Server needs credentials to connect to your original data source at refresh time. In the data source settings, embed credentials or configure a saved data connection. Without valid credentials, the scheduled refresh will fail.
4
Monitor Refresh Status
On the Server admin panel, go to Tasks → Extract Refreshes to see success/failure status for every scheduled refresh. Set up email alerts for failed refreshes so you're notified immediately if a data pipeline breaks.
💡
Stagger Your Refresh Times
If your organization has dozens of extract refreshes scheduled, avoid setting them all to refresh at the same time (e.g., all at 6:00 AM). This creates a resource bottleneck on the Server, causing refreshes to queue and potentially fail. Stagger refresh times throughout the early morning or overnight window. Prioritize business-critical data sources for the earliest refresh slots so executives get fresh data first thing in the morning.

Embedding Dashboards in Websites & Portals

One of Tableau's most powerful deployment capabilities is embedding — placing an interactive Tableau dashboard directly inside a web page, intranet portal, Salesforce, SharePoint, or custom application. Users see a live, interactive dashboard without needing to navigate to Tableau Server separately.

Embedding via JavaScript API

Tableau provides a JavaScript Embedding API (version 3 as of Tableau 2022+). The minimum viable embed code looks like this:

<script type="module" src="https://[server]/javascripts/api/tableau.embedding.3.latest.min.js">
</script>

<tableau-viz
  src="https://[server]/views/[workbook]/[view]"
  width="900" height="600"
  toolbar="bottom"
  hide-tabs>
</tableau-viz>

Embedding Security Options

Authentication MethodHow It WorksBest For
Trusted AuthenticationServer trusts requests from specified IP addresses; users are pre-authenticatedIntranet portals where users are already logged in
Connected AppsJWT tokens authenticate users programmatically via APICustomer-facing apps, SaaS products, B2B portals
SAML/SSOSingle Sign-On via your identity provider (Okta, Azure AD, etc.)Enterprise environments with centralized identity management
Guest AccessNo authentication; anyone with the URL can viewPublic-facing dashboards on websites (only for non-sensitive data)
🌐
Passing Filters via URL Parameters
When embedding, you can pre-filter the dashboard using URL parameters. Append ?Region=West or ?Category=Technology&Year=2024 to the embed URL, and Tableau automatically applies those filters on load. This lets you embed the same dashboard multiple times with different contexts — e.g., each regional manager's portal shows their region's data by default. Combined with RLS, this creates a very secure, personalized analytics experience.

Version Control Best Practices

Tableau workbooks are binary files (.twbx) — not ideal for Git-based version control. But versioning is still essential in production environments to prevent data disasters and enable rollbacks. Here are the practical strategies used by Tableau teams.

1
Use Tableau Server's Built-in Revision History
Tableau Server automatically saves the previous 25 versions of each published workbook. In the Server web interface, navigate to your workbook → Revisions tab → view or restore any previous version. This is your first line of defense for "I accidentally broke the dashboard."
2
Maintain a Development Project
Create a "Dev" project on Server alongside "Production." Develop and test in Dev → when approved → publish to Production. This prevents work-in-progress changes from affecting the dashboards business users depend on.
3
Extract XML from .twb Files for Git
A .twb file is actually XML — rename it to .xml and you can read it. Tools like Tableau Document API or tabcmd can extract metadata. Some teams commit the .twb (not .twbx with data) to Git for at least a human-readable change history of calculated fields and data connections.
4
Naming Conventions
Always prefix workbook names with the owning team and include a version indicator in the description, not the name. Good: "Sales — Regional Performance". Bad: "Sales Regional Performance v4 FINAL FINAL". The Server handles versioning — keep names clean and timeless.

Tableau Career Paths

Mastery of the full Tableau platform — from data connection through Prep, advanced analytics, Server administration, and embedding — opens multiple valuable career paths. Here are the primary roles that leverage Tableau skills:

💼 Career Paths for Tableau Professionals
Data Analyst
$65,000 – $110,000/yr
Builds dashboards, analyzes trends, and answers business questions. Heavy Tableau Desktop focus. Entry to mid-level role across all industries.
BI Developer
$85,000 – $140,000/yr
Designs and builds the full BI stack: data models, Prep flows, published data sources, and governed dashboards. Tableau + SQL + data modeling skills required.
BI Engineer
$100,000 – $160,000/yr
Architects the enterprise analytics platform: Tableau Server administration, embedding, security, performance tuning, and Tableau Prep pipeline orchestration.
Data Visualization Specialist
$75,000 – $125,000/yr
Focused on exceptional dashboard design and storytelling with data. Heavy emphasis on UX, color theory, and communicating insights to non-technical audiences.
Analytics Engineer
$110,000 – $170,000/yr
Bridges data engineering and analytics. Builds dbt models that feed into Tableau, manages data warehouse design, and owns the metrics layer. SQL + Tableau + Python.
Tableau Consultant
$90 – $200/hr consulting
Independent or agency-based consultant designing and implementing Tableau environments for clients. Requires breadth across all Tableau products and strong communication skills.
🏆
Tableau Certifications — Validate Your Skills
Salesforce offers official Tableau certifications that significantly boost hiring prospects: Tableau Desktop Specialist (beginner, $250 exam) — validates fundamental skills. Tableau Certified Data Analyst (intermediate, $250 exam) — the most sought-after by employers. Tableau Server Certified Associate (advanced, $600) — for Server administrators. The Certified Data Analyst exam directly tests skills covered in this course: connecting data, building calculated fields, LOD expressions, dashboard design, and statistical analysis. You are now fully prepared to pursue this certification.
🔑 Key Concepts — Lesson 15
Tableau Cloud vs Server
Cloud is Salesforce-managed SaaS — easy, no IT overhead. Server is self-hosted for strict data residency/security requirements. Both support the same features.
Published Data Sources
Central, governed data sources on Server that multiple workbooks share. Certification marks them as trusted. All workbooks benefit from one scheduled refresh.
Row-Level Security
USERNAME() function + user mapping filters restrict which rows each user sees. One workbook serves everyone — each person sees only their authorized data.
Embedding API
The Tableau JavaScript Embedding API (v3) enables interactive dashboards inside any web page. Supports URL filter parameters, JWT authentication, and SSO integration.
🧠 Knowledge Check
1. A marketing analyst wants to share a dashboard showcasing public industry data on their personal website portfolio. Which Tableau platform is appropriate?
2. What does "Publishing a data source separately" (vs embedded in workbook) enable in a Server environment?
3. Which Tableau function is central to implementing Row-Level Security based on the logged-in user?
4. What does Tableau Server's Revision History feature allow you to do?
5. When embedding a Tableau dashboard using the JavaScript Embedding API, how can you pre-filter the view for a specific user's context?
🏆

What You Learned

📋
Lesson 15 — Key Takeaways
✅ Tableau Public = free + fully public · Cloud = managed SaaS · Server = self-hosted enterprise control
✅ Publishing workbooks involves choosing project, sheet visibility, and data source handling
✅ Published data sources enable governance: one certified source → many workbooks → one refresh schedule
✅ Row-Level Security uses USERNAME() to filter data per authenticated user from a single shared workbook
✅ Extract refresh schedules on Server/Cloud keep data fresh automatically — stagger times to avoid bottlenecks
✅ The Embedding API enables interactive dashboards inside any website with URL filter parameters and SSO support
✅ Career paths: Data Analyst, BI Developer, BI Engineer, Analytics Engineer — Tableau skills command premium salaries
🏆
Congratulations — You've Completed the Core Curriculum!
You've mastered the full Tableau workflow: from connecting data and building charts, through LOD expressions, statistical analytics, and Tableau Prep, to publishing, securing, and embedding production dashboards. You are ready to pursue the Tableau Certified Data Analyst exam and land your next analytics role. Head back to the course page to view the project assignments that put all your skills into practice!