Column with None values becomes "All" when publishing a workbook using the TSC Python client
Nobody has claimed this yet.
Assessment
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Newbie friendliness
- 48/100
Research direction
Start at the reported server.workbooks.publish(wb_item, file_path, mode) entry point and reproduce the issue with a workbook containing None values. Compare the published data with the manually published workbook, then verify that None values remain unchanged after the fix.
Written by the indexing model from the issue text.
Description
Describe the bug
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.
- Publish the workbook using TSC:
- server.workbooks.publish(wb_item, file_path, mode)
- Open the published workbook on Tableau Server.
- Observe that the original None values have been replaced with "All".
Results
This issue leads to incorrect data representation in the published workbook and may cause:
- Misleading data displays
- Filters not behaving as expected
- Broken calculations relying on None values
- Confusion or incorrect interpretation for end users
NOTE: Be careful not to post user names, passwords, auth tokens or any other private or sensitive information.
- Dominant language
- Python
- Stars
- 716
- Forks
- 446
- Avg merge
- 8d 8h
- Merged PRs (30d)
- 2
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from tableau/server-client-python
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
tableau/server-client-python#1865 ·
-
in-progress
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
tableau/server-client-python#1829 · 1 comment ·
-
enhancement gap needs investigation
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#1322 · 1 comment ·
-
[Type2] Allow Incremental Refresh type schedules to be added via `server.schedules.add_to_schedule` Openhelp wanted Server-Side Enhancement ui-exists
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#1101 · 3 comments ·
-
enhancement good first issue
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
tableau/server-client-python#783 · 5 comments ·
All issues in tableau/server-client-python
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
zostera/django-bootstrap4#894 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
use-agent-os/agent-os#3276 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
zephyrproject-rtos/zephyr#119726 ·
-
area/auth bug comp/agent P3 platform/discord type/security
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
NousResearch/hermes-agent#117848 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 82/100
zilliztech/memsearch#759 ·