Google BigQuery
- 4 minutes to read
The Dashboard Designer allows you to connect to different types of SQL databases in the Data Source Wizard. You can also use data access API to connect to the database and select data in code.
This tutorial describes how to establish a connection to a Google BigQuery data source and select data.
Important
The appropriate data provider must be installed on the client machine. For information on data providers, refer to the Data Sources article.
Create a Data Source in the Data Source Wizard
To connect to the Google BigQuery data source in the Dashboard Designer, follow the steps below:
Click the New Data Source button in the Data Source ribbon tab.
On the first page of the invoked Data Source Wizard dialog, select Google BigQuery and click Next.
On the next page, specify connection settings:
Use one of the following options to set connection settings correctly: DSN only or direct connection parameters.
- Project ID
- Specifies the project ID.
- Key file name
- Specifies the path to the P12 private key file.
- Service account email
- Specifies the service account’s email address.
- DataSet ID
- Specifies the ID of the dataset that contains data.
- DSN
Specifies the data source name that is used to request a connection to an ODBC Data Source. Use this option when the configuration is already defined in your system ODBC settings (Dataset ID, authentication settings, and others). If you specify DSN, leave other parameters empty.
You can configure an ODBC data source in the ODBC Data Sources (64-bit) control panel (
odbcad32.exe
). See the following article for more information: Add an ODBC data source.
Note
The OAuth authorization is available only when the BigQueryProvider driver is installed. However, we stopped maintaining and supporting it because Google released the official ODBC driver. We recommend that you upgrade to it. For more information about this change, see the following Breaking Change: The BigQueryProvider driver for the Google BigQuery SQL database is no longer maintained and supported.
After you specify connection parameters, click Next and specify how to select data from the database.
Click the Run Query Builder… button to invoke the Query Builder. The Query Builder allows you to choose tables/columns and passes the resulting SQL query to the SQL String editor. After you constructed the query in the Query Builder, the text of the generated query is passed to the Data Source wizard.
Click Finish to create the data source.
Note
If you applied filtering to this query and created the query parameter, you can click Next to specify the settings of the query parameter.
On the final page, you can optionally add query parameters and preview data.
Click Finish to create the data source.
Create a Data Source in Code
To create a data source that uses a connection to the Google BigQuery database, create an instance of the DashboardSqlDataSource class and follow these steps:
Specify the connection parameters to the Google BigQuery database. Create the BigQueryConnectionParameters class object and specify properties required to establish a connection:
- The project ID
- The dataset ID
- The authorization type
The best way to set a connection is to use DSN where the project ID, dataset ID, and other parameters are preconfigured. Assign the data source name that is used to request a connection to an ODBC Data Source to the BigQueryConnectionParameters.Dsn property.
Note
Alternatively, you can add a connection string with parameters to the application configuration file. Then, assign the connection string name to the SqlDataSource.ConnectionName property.
Create one of the following objects to specify the query:
- Create a SelectQuery object to specify a set of tables/columns that form a SELECT statement when you execute a query.
- Create a CustomSqlQuery object to specify an SQL query. Use the CustomSqlQuery.Sql property to specify a custom query string.
Add the created query to the SqlDataSource.Queries collection exposed by the DashboardSqlDataSource object.
- Add the created DashboardSqlDataSource object to the Dashboard.DataSources collection.
The following code snippet supplies the dashboard with data from the Northwind database deployed by Google BigQuery. The configuration is already defined in the system ODBC settings (Dataset ID, authentication settings, and others):
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
BigQueryConnectionParameters bigQueryParams = new BigQueryConnectionParameters();
bigQueryParams.ProjectID = "TestProject";
bigQueryParams.Dsn = "Northwind";
DashboardSqlDataSource sqlDataSource = new DashboardSqlDataSource("Data Source 1", bigQueryParams);
SelectQuery selectQuery = SelectQueryFluentBuilder
.AddTable("SalesPerson")
.SelectColumns("CategoryName", "Extended Price")
.Build("Query 1");
sqlDataSource.Queries.Add(selectQuery);
sqlDataSource.Fill();
dashboard.DataSources.Add(sqlDataSource);