Comments (4)
@khrusco Hello! When calling setParameter
or setFilter
, it returns a workbook class that needs to be used for further call since it persists the session.
Also, it seems the setFilter
API call used in your Tableau dashboard doesn't accept the parameter membershipTarget
here
I will add a boolean param to configure this:
from tableauscraper import TableauScraper as TS
url = "https://tableaupub.ccee.org.br/t/PIDM/views/IndicadoresdeSeguranadoMercado/ConcentraodeNegociao"
ts = TS()
ts.loads(url)
workbook = ts.getWorkbook()
# the code returns the parameter values used below
print(workbook.getParameters())
workbook = workbook.setParameter('parDimensão', 'CNPJ') # select "CNPJ" option
ws = workbook.getWorksheet('Classe Contraparte')
# by using this, i got the the filters, previously 'Agente', but now 'CNPJ'
# as mentioned on setParameters
print(ws.getFilters())
# the code return the data without any filter previously applied
# can't use the dropdown filter
workbook = ws.setFilter(
'Filtro Dimensão', '00.095.840/0001-85', membershipTarget=False)
print(workbook.getWorksheet('Hist Concentração de Negociação (2)').data)
from tableau-scraping.
@khrusco released in v0.1.20
from tableau-scraping.
You are greaaat! tnks :D
from tableau-scraping.
Hii @bertrandmartel , first of all thank you so much for your work, it's amazing!
I'm facing issues on the same dashboard as @khrusco. When calling getFilters() it only returns the first 200 values from the value field and I would like to create a database with all the "agentes".
Here's my code:
import pandas as pd
from tableauscraper import TableauScraper as TS
url = "https://tableaupub.ccee.org.br/t/PIDM/views/IndicadoresdeSeguranadoMercado/ConcentraodeNegociao"
ts = TS()
ts.loads(url)
workbook = ts.getWorkbook()
print("parametros:")
print(workbook.getParameters())
print("------------------------")
workbook = workbook.setParameter('parDimensão', 'Agente')
ws = workbook.getWorksheet('Classe Contraparte')
print("filtros:")
print(ws.getFilters())
print("------------------------")
filtros = ws.getFilters()
agentes = filtros[0]['values']
appended_data = pd.DataFrame()
for x in agentes:
print(x)
wb = ws.setFilter('Filtro Dimensão', x , membershipTarget=False, filterDelta=True, dashboardFilter=True)
df_aux = wb.getWorksheet('Hist Concentração de Negociação (2)').data
df_aux['agente'] = x
appended_data = appended_data.append(df_aux)
Thanks in advance for you help! :)
from tableau-scraping.
Related Issues (20)
- Issue selecting Parameter in Story Point HOT 1
- getTupleIds fail to run when `presModel` is None
- Can't set a Parameter if not listed in getParameters() HOT 2
- Can't set a filter to a value thats not in the defined list for that filter HOT 2
- add missing method for command `select-region-no-return-server` HOT 1
- Add getFilterItems() method
- Scraping tableau data based on data filtered with dropdown boxes in non existent worksheet columns
- Adding range filters
- soup.find fails to find Tableau data HOT 3
- Scraping from a private-access dashboard
- scraping workbook, NOT worksheet with selectables HOT 6
- Attempting to fetch data from sheet but can't get worksheets using getWorksheets(), most requests are returning empty arrays.
- Zones don't always update when there are story points
- getFilters() only returns the first 200 values
- How to scrape pagination data
- Radio Button filtering does not work
- Warning: mixed data types
- Add support for the 'Choose a format to download' > 'Data' option (alongside the crosstab option)
- Issue w/ filtering and parameters/selectable items HOT 1
- Setting a filter produces `WARNING - no data dictionary present in response` and causes `getCsvData` to raise `TypeError`
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from tableau-scraping.