You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Column with None values becomes "All" when publishing a workbook using the TSC Python client #1711
When publishing a workbook to Tableau Server using the Tableau Server Client (TSC) Python library, a column in the underlying table that contains None values is being converted to the string "All".
This happens only when publishing via TSC.
Publishing the same workbook manually to Tableau Server preserves the None values correctly.
Expected behavior
When publishing a workbook using the TSC client, column values that are None should remain unchanged—exactly as they do when publishing manually to Tableau Server.
Actual behavior
A datasource table includes a column with None values.
When publishing the workbook using TSC (server.workbooks.publish()), the None values in that column are changed to "All".
No transformation or custom handling of values is applied in the Python script.
Versions
Details of your environment, including:
Tableau Server version - 2025.1.7 (20251.25.0825.1650) 64-bit Linux
Python version - 3.9
TSC library version - 0.15.0
To Reproduce
Create a workbook with a datasource table containing at least one column with None values.
Hi Meghana, thanks for the report. When you say this does not happen if publishing manually, do you mean you published through the web UI, or you were using a script that called the publish API directly?
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.
I also wasn't able to reproduce this. I tried the values "", "None", and Python None. To get further, could you share (1) the exact code that constructs the workbook/datasource before server.workbooks.publish (in particular how the None-bearing column is written into the extract), and (2) a datasources.download of the offending workbook's data source so we can see what actually landed on disk versus what the viz renders? A screenshot of the viz showing "All" alongside the row where the data source says None would also help distinguish "data mutated on publish" from "viz rendering a null-in-filter as the word All".
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.
Activity
jacalata commentedon Nov 20, 2025
Hi Meghana, thanks for the report. When you say this does not happen if publishing manually, do you mean you published through the web UI, or you were using a script that called the publish API directly?
cheers,
Jac
MeghanaShivamurthy commentedon Dec 22, 2025
Hi Jac,
Manually meant through the web UI through upload workbook option in the UI. Could you please help resolve this issue?
Thanks,
Meghana Shivamurthy
bcantoni commentedon Apr 8, 2026
@MeghanaShivamurthy are you still having this problem? I tried to reproduce with this simple .CSV file with some nulls:
Then a simple workbook in Tableau desktop does show the Null values as expected:
And then when published to Tableau server via TSC I'm getting the same results:
github-actions commentedon Jul 24, 2026
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.
jacalata commentedon Jul 30, 2026
I also wasn't able to reproduce this. I tried the values
"","None", and PythonNone. To get further, could you share (1) the exact code that constructs the workbook/datasource beforeserver.workbooks.publish(in particular how theNone-bearing column is written into the extract), and (2) adatasources.downloadof the offending workbook's data source so we can see what actually landed on disk versus what the viz renders? A screenshot of the viz showing"All"alongside the row where the data source saysNonewould also help distinguish "data mutated on publish" from "viz rendering a null-in-filter as the word All".github-actions commentedon Oct 7, 2026
This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 14 days if no further activity occurs. If this is still relevant, please comment to keep it open.
github-actions commentedon Oct 22, 2026
Closing due to inactivity. If this is still relevant, please reopen or file a new issue.