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, choose the Authentication type. If you selected OAuth, the Data Source wizard shows the following connection settings:
Project ID
Specifies the project ID.
Client ID
Specifies the client identifier.
Client Secret
Specifies the client secret.
Refresh Token
Specifies the refresh token.
DataSet ID
Specifies the ID of the dataset that contains data.
DSN
Specifies the name that is used to request a connection to an ODBC Data Source.
If you selected the Key file Authentication type, the Data Source wizard displays the following connection settings:
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 name that is used to request a connection to an ODBC Data Source.
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 the steps below:
Specify the connection parameters to the Google BigQuery database. Create the BigQueryConnectionParameters class object and specify the following properties:
- The project ID (BigQueryConnectionParameters.ProjectID).
- The dataset ID (BigQueryConnectionParameters.DataSetID).
- The authorization type (BigQueryConnectionParameters.AuthorizationType). You should specify additional authentication settings depending on the selected authorization type.
If you use the BigQueryAuthorizationType.OAuth authorization type to establish a connection, use the following properties to specify connection parameters:
Gets or sets a client identifier.
Gets or sets a client secret.
Gets or sets a refresh token.
If you use the BigQueryAuthorizationType.PrivateKeyFile authorization type to establish a connection, the following properties specify connection parameters:
Gets or sets the path to the P12 private key file.
Gets or sets the service account’s email address.
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 shows how to supply the dashboard with data from the Northwind database deployed by Google BigQuery:
using DevExpress.DashboardCommon;
using DevExpress.DataAccess.ConnectionParameters;
using DevExpress.DataAccess.Sql;
// ...
BigQueryConnectionParameters bigQueryParams = new BigQueryConnectionParameters();
bigQueryParams.ProjectID = "TestProject";
bigQueryParams.AuthorizationType = BigQueryAuthorizationType.OAuth;
bigQueryParams.OAuthClientID = "testclientid.apps.googleusercontent.com";
bigQueryParams.OAuthClientSecret = "sDYUtrpaiWSisC8OGLB5nVNV";
bigQueryParams.OAuthRefreshToken = "1/EvVgWitT3gttIhJu0F9DIhaYhOecE-WDH1Uwlxwgkx9";
bigQueryParams.DataSetID = "Norhwind";
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);