SeekTable democratizes data access by offering a user-friendly visual interface for non-technical users to explore BigQuery data,
at the same time allowing IT team to use all power of SQL for configuring BigQuery-based data cubes.
BigQuery is used as a live data source: no need to refresh reports as users always get actual data (direct query mode).
The name of your BigQuery project. This project is the default project that the Simba ODBC Driver for Google BigQuery queries against.
RefreshToken
The refresh token that you obtain from Google for authorizing access to BigQuery.
Section below explains how to generate the token.
ClientId
OAuth Client ID used for refresh token creation (may be omitted if refresh token was generated with ODBC driver's get_refresh_token.py script).
ClientSecret
Corresponding OAuth Client secret (may be omitted if refresh token was generated with ODBC driver's get_refresh_token.py script).
Configure other required settings as described in SQL-compatible data source.
As a minimum you need to specify Select Query (which determine's the dataset) and keep Infer dimensions and measures by dataset checked.
How to get a refresh token
If you don't have a refresh token provided by your BigQuery administrator, you can get it in one of the following ways:
Click on "Create Credentials" - "OAuth Client ID"
Fill the form: Application Type = Web Application Name = SeekTable Client Authorized redirect URIs: click "ADD URI" and enter:
https://developers.google.com/oauthplayground
In "Oauth client created" dialog you get "Client ID" and "Client secret" values
Click on "Gear" icon (top-right corner), click on "Use your own OAuth credentials" and
enter your "Client ID" and "Client secret" values.
In the left panel ("Select & authorize APIs" step) enter
https://www.googleapis.com/auth/bigquery
and click on "Authorize APIs" button.
You should see "Refresh token" filled. Use this value in the connection string for SeekTable's BigQuery connector.
Don't forget to specify corresponding ClientId and ClientSecret connection string options.
Alternatively, you can
(section "Configuring Authentication on a Non-Windows Machine")
and generate a refresh token using Simba-provided python script get_refresh_token.py.
Inferring schema for tables with ARRAY columns
If your table has an ARRAY-type columns and you got an error like Error converting invalid input with source encoding UTF-8 using ICU:
exclude these columns from the Select Query, for example:
SELECT * except(array_col1, array_col2) FROM some_table
and save the cube form.
Then go to the cube configuration form; you should see dimensions & measures that are populated automatically.
Change the query to:
SELECT * FROM some_table
do NOT check Infer dimensions and measures by dataset. Save the form.
Date-part dimensions calculated with SQL expressions
To define date-part dimensions (date's "year", "month", "day" etc) you may add dimensions defined with an appropriate SQL expression:
add new dimension with Type=Field
fill Name with some unique value: say, "date_column_year"
For month: EXTRACT(MONTH FROM date_column) + Format={0:MMM} (Jan, Feb etc) or {0:MMMM} (January, February etc)
For day: EXTRACT(DAY FROM date_column)
For day-of-week: EXTRACT(DAYOFWEEK FROM date_column)-1 + Format={0:ddd} (Mon, Tue etc) or {0:dddd} (Monday, Tuesday etc)
For quarter: EXTRACT(QUARTER FROM date_column)
For week-of-year: EXTRACT(ISOWEEK FROM date_column)
Looking for a web pivot table component? Try
PivotData microservice (SeekTable's reporting engine) which can be seamlessly integrated into any web application
for pivot tables generation by BigQuery data.