Analyze data with BI Engine and Tableau Desktop
BigQuery BI Engine lets you perform fast, low-latency analysis services andinteractive analytics with reports and dashboards backed byBigQuery.
This introductory tutorial is intended for data analysts andbusiness analysts who use the business intelligence (BI) tool Tableau Desktopto build reports and dashboards.
Objectives
In this tutorial, you complete the following tasks:
- Create a dataset and copy data.
- Create a BI reservation and add capacity using the Google Cloud console.
- Use Tableau Desktop to connect to a BigQuery table that'smanaged by BI Engine.
- Create dashboards using Tableau Desktop.
Costs
In this document, you use the following billable components of Google Cloud:
To generate a cost estimate based on your projected usage, use thepricing calculator.
When you finish the tasks that are described in this document, you can avoid continued billing by deleting the resources that you created. For more information, seeClean up.
Before you begin
Before you begin, ensure that you have a project to use, that you have enabledbilling for that project, and that you have enabled the BigQuery API.
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission.Learn how to grant roles.
If you're using an existing project for this guide,verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Note: If you don't plan to keep the resources that you create in this procedure, create a project instead of selecting an existing project. After you finish these steps, you can delete the project, removing all resources associated with the project.Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
- Create a project: To create a project, you need the Project Creator role (
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission.Learn how to grant roles.
If you're using an existing project for this guide,verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
Enable the BigQuery API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission.Learn how to grant roles.For new projects, the BigQuery API is automatically enabled.
Required roles
To get the permissions that you need to create a dataset, create a table, copy data, query data, and create a BI Engine reservation, ask your administrator to grant you the following IAM roles on the project:
- Run copy jobs and query jobs:BigQuery Job User (
roles/bigquery.jobUser) - Create a dataset, create a table, copy data into a table, and query a table:BigQuery Data Editor (
roles/bigquery.dataEditor) - Create a BI Engine reservation:BigQuery Resource Admin (
roles/bigquery.resourceAdmin)
For more information about granting roles, seeManage access to projects, folders, and organizations.
You might also be able to get the required permissions throughcustom roles or otherpredefined roles.
Additional permissions might be needed if you have are using a custom OAuthclient in Tableau Desktop to connect to BigQuery. For moreinformation, seeTroubleshooting Errors.
Create a BigQuery dataset
The first step is to create a BigQuery dataset to store yourBI Engine-managed table. To create your dataset, follow thesesteps:
In the Google Cloud console, go to the BigQuery page.
In the left pane, clickExplorer:

If you don't see the left pane, clickExpand left pane to open the pane.
In theExplorer pane, click your project.
In the details pane, clickView actions, and then clickCreate dataset.
On theCreate dataset page, do the following:
- ForDataset ID, enter
biengine_tutorial. ForData location, chooseus (multiple regions in UnitedStates), themulti-regionlocation where public datasetsare stored.
For this tutorial, you can selectEnable table expiration, and thenspecify the number of days before the table expires.

- ForDataset ID, enter
Leave all of the other default settings in place and clickCreate dataset.
Create a table by copying data from a public dataset
This tutorial uses a dataset available through theGoogle Cloud Public Dataset Program. Public datasetsare datasets that BigQuery hosts for you to access and integrateinto your applications.
In this section, you create a table by copying data from theSan Francisco 311 service requests dataset. You can explore the dataset by using theGoogle Cloud console.
Create your table
To create your table, follow these steps:
In the Google Cloud console, go to the BigQuery page.
In the left pane, clickExplorer:

In theExplorer pane, search for the
san_francisco_311dataset.Click the dataset, and then clickOverview> Tables.
Click the
311_service_requeststable.In the toolbar, clickCopy.

In theCopy table dialog, in theDestination section, do thefollowing:
- ForProject, clickBrowse, and then select your project.
- ForDataset, selectbiengine_tutorial.
ForTable, enter
311_service_requests_copy.
ClickCopy.
Optional: After the copy job is complete, verify the table contents by expanding
PROJECT_NAME> biengine_tutorial andclicking311_service_requests_copy> Preview. ReplacePROJECT_NAMEwith name of your Google Cloud projectfor this tutorial.
Create your BI Engine reservation
In the Google Cloud console, underAdministration go to theBI Engine page.
Note: If prompted to enableBigQuery Reservation API, clickEnable.ClickCreate reservation.
On theCreate Reservation page, configure your BI Enginereservation:
- In theProject list, verify your Google Cloud project.
- In theLocation list, select a location. The location shouldmatch thelocation of the datasetsthat you're querying.
Adjust theGiB of Capacity slider to the amount of memory capacitythat you're reserving. The following example sets the capacity to2 GiB. The maximum is 250 GiB.

ClickNext.
In thePreferred Tables section, optionally specify tables foracceleration with BI Engine. To find table names, do thefollowing:
- In theTable Id field, type part of the name of the table that youwant accelerated by BI Engine—for example,
311. From the list of suggested names, select your table names.
Only specified tables are eligible for acceleration. If no preferredtables are specified, all project queries are eligible for acceleration.
- In theTable Id field, type part of the name of the table that youwant accelerated by BI Engine—for example,
ClickNext.
In theConfirm and submit section, review the agreement.
If you accept the terms of agreement, clickCreate.
After you confirm your reservation, the details are displayed on theReservations page.

Connect to a dataset from Tableau Desktop
To connect to a dataset from Tableau Desktop, you need to take some steps inTableau Desktop and then some steps in BI Engine.
Steps to take in Tableau
- StartTableau Desktop.
- UnderConnect, selectGoogle BigQuery.
- In the tab that opens, select the account that has theBigQuery data that you want to access.
- If you're not already signed in, enter your email or phone, selectNext, and enter your password.
- SelectAccept.
Tableau can now access your BigQuery data.
InTableau Desktop, on theData Source page:
- From theBilling Project drop-down, select the billing projectwhere you created the reservation.
- From theProject drop-down, select your project.
- From theDataset drop-down, select the dataset
biengine_tutorial. - UnderTable, select the table
311_service_requests_copy.
Creating a chart
Once you have added the data source to the report, the next step is to create avisualization.
Create a chart that displays the top complaints by neighborhood:
- In the Google Cloud console, clickNew worksheet.
- Set theDimension toComplaint Type.
- Filter based on the dimension called
neighborhood. - UnderMeasures, selectNumber of Records.
- Right-click on theNeighborhood filter and clickEdit Filter.
- Add a filter to exclude null: selectNull.
- ClickOK.
For more information, see theTableau documentation.
Clean up
To avoid incurring charges to your Google Cloud account for the resources used on this page, follow these steps.
To avoid incurring charges to your Google Cloud account for the resources usedin this quickstart, you can delete the project, delete theBI Engine reservation, or both.
Deleting the project
The easiest way to eliminate billing is to delete the project that you created for the tutorial.
To delete the project:
Deleting the reservation
Alternatively, if you intend to keep the project, then you can avoid additionalBI Engine costs by deleting your capacity reservation.
To delete your reservation, follow these steps:
In the Google Cloud console, underAdministration go to theBI Engine page.
Note: If prompted to enableBigQuery Reservation API, clickEnable.In theReservations section, locate your reservation.
In theActions column, click the icon to the right of your reservation and chooseDelete.
In theDelete reservation? dialog, enterDelete and thenclickDELETE.
Troubleshooting errors
If you are using a custom OAuth configuration in Tableau Desktop to connect toBigQuery, some users might experience issues connecting to aTableau server and encounter the following error message:
the app is blockedTo resolve this error, verify that the user is assigned to a role that has alltherequired permissions to connect Tableau to BigQuery.If the problem persists, add the user to theOAuth Config Viewer role(roles/oauthconfig.viewer).
What's next
- For an overview of the BI Engine, seeIntroduction to BI Engine.
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-05 UTC.