Filter parameters in live connection are ignored during PDF or CSV generation

Abierto
#1,438 7 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
4/5
Tiempo estimado
3-5 días
Aptitud para principiantes
50/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Tranquilo
Stack tecnológico
python
Área
api

Línea de trabajo

Start by reproducing the issue with the provided Python snippet against a workbook using both Impala extract and Oracle live connections. Compare PDF or CSV output when the extract and live-connection filters are supplied through PDFRequestOptions; done means all specified filters affect the generated file. Check the seven existing comments for additional reproduction details before choosing an implementation path.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

help wanted needs investigation Server-Side Enhancement

Describe the bug
Our workbooks contain data sources in extract mode for performance optimization. However, some data sources that are required for annotating the data need to remain in live connection mode to enhance the user experience. When we generate a pdf or csv from a view using the TSC package, all parameters in the extract are considered by the code, but the filters specific to selecting data in the live connection are ignored.

Versions
Details of your environment, including:

  • REST API version: 3.21
  • Python version: 3.9
  • TSC library version: 0.31

To Reproduce
Steps to reproduce the behavior. Please include a code snippet where possible.
We have a workbook with Impala connection (Extract) and oracle connection (Live connection).

Python code:

import tableauserverclient as TSC

SERVER_URL = 'your_server_url'
TOKEN_NAME = 'your_token_name'
TOKEN_VALUE = 'your_token_value'
SITE_NAME = 'your_site_name'
VIEW_NAME = 'your_view_name'
WORKBOOK_ID= 'your_workbook_id'

# initiate server connection 
server = TSC.Server(SERVER_URL, use_server_version=True)

# Use Personal Access Token for authentication
tableau_auth = TSC.PersonalAccessTokenAuth(token_name=TOKEN_NAME, personal_access_token=TOKEN_VALUE,
                                                site_id=SITE_NAME)
server.add_http_options({'verify': False})
server.version = '3.21'
server.auth.sign_in(tableau_auth)

# get workbook object 
workbook = server.workbooks.get_by_id(WORKBOOK_ID)

# populate view and specify filter parameters on the worksheet
server.workbooks.populate_views(workbook)
# Find the specific view by name
 view = next((v for v in workbook.views if v.name == VIEW_NAME), None)
req = TSC.PDFRequestOptions(maxage=-1, page_type='unspecified', orientation='landscape', viz_width=1200,
                                     viz_height=1000)
req.vf('country', 'Germany')  # parameter in extract
req.vf('company', 'abc')  # parameter in extract
req.vf('selected', 1)   # parameter in live connection

# populate pdf file
server.views.populate_pdf(view, req_options=req)

# write pdf file
output_file = "test.pdf"
 with open(output_file, 'wb') as file:
         file.write(view.pdf)

Results
What are the results or error messages received?
The PDF generated with the above code produces a report that ignores the "selected" parameter. The expected behavior is that the PDF should be generated considering all specified parameters, including those associated with the live connection.

NOTE: Be careful not to post user names, passwords, auth tokens or any other private or sensitive information.

Lenguaje dominante
Python
Estrellas
716
Forks
446
Merge medio
8 d 8 h
PR fusionados (30 d)
2

Guía de contribución

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de tableau/server-client-python

Todos los issues de tableau/server-client-python

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.