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
[Type 2] Support range filter operators (GreaterThan, LessThan, Between) in PDFRequestOptions.vf() for view filters #1752
Add support for range filter operators (GreaterThan, LessThan, Between) in PDF view filters using .vf() method
Request Type
Type 2: add a REST API and support it in tsc.
This is functionality that exists in Tableau dashboards (continuous range filters) but cannot be properly controlled through the PDF generation API.
Description
Current Limitation
When using PDFRequestOptions.vf() to apply view filters for PDF generation, there is no way to specify filter operators such as GreaterThan, LessThan, or Between. The current implementation only supports:
Single discrete values: pdf_opts.vf('Region', 'West')
Multiple discrete values (IN operator): pdf_opts.vf('Category', 'Furniture,Technology')
For continuous range filters configured in Tableau dashboards, the comma-separated syntax '10,50' is ambiguous and may be interpreted as:
IN (10, 50) - only values exactly 10 or 50
BETWEEN 10 AND 50 - range from 10 to 50
Currently, there is no way to explicitly specify that a filter should use BETWEEN, GreaterThan, or other range operators, even though these filters work perfectly when using the dashboard interactively.
Proposed Solution
Add operator support to .vf() similar to how RequestOptions.filter.add() works for API queries:
pdf_opts=TSC.PDFRequestOptions()
pdf_opts.vf('SCORE', '10', operator=TSC.RequestOptions.Operator.GreaterThanOrEqual)
# ORpdf_opts.vf('SCORE', min_value='10', max_value='50') # For BETWEEN
Use Case & Value
Frequency: This is needed any time programmatic PDF generation requires filtering on continuous numeric or date fields
Current workaround: None - users must either accept ambiguous behavior or modify dashboard filters, which affects all users
Work saved: Eliminates need to create separate dashboards with hardcoded filters just for PDF generation
Business impact: Critical for automated reporting where PDFs need to show data for specific ranges (e.g., "Show only high-risk scores 80-100", "Show sales data > $1M")
Example Scenario
A Tableau dashboard has a continuous slider filter for SCORE (range: 0-100). When generating automated weekly PDFs:
Needed: Filter to show only scores BETWEEN 10 AND 50
Current behavior: Passing [10, 50] may show only exact values 10 and 50
Expected behavior: Should show all values in the range 10-50, just like moving the slider in the web UI
This feature would bring view filter capabilities in line with the existing RequestOptions.filter API and match the functionality available in the Tableau web interface.
Thanks for the detailed writeup. As of today, the vf_ view-filter REST layer doesn't accept range/operator syntax — the server treats the value as an exact match (single value) or an OR-list (comma-separated), and there's no way to opt into gt/lt/between. That's the finding from the recent closed PR #1813 investigation and the docs note in PR #1835. To pick this up in TSC we'd need Tableau's REST API to add the syntax first, which is a server-side change we're tracking internally. No ETA to share.
Activity
jacalata commentedon Jul 31, 2026
Thanks for the detailed writeup. As of today, the vf_ view-filter REST layer doesn't accept range/operator syntax — the server treats the value as an exact match (single value) or an OR-list (comma-separated), and there's no way to opt into gt/lt/between. That's the finding from the recent closed PR #1813 investigation and the docs note in PR #1835. To pick this up in TSC we'd need Tableau's REST API to add the syntax first, which is a server-side change we're tracking internally. No ETA to share.