Skip to main content

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:

  1. Click the New Data Source button in the Data Source ribbon tab.

    DataBinding_NewDataSource

  2. On the first page of the invoked Data Source Wizard dialog, select Google BigQuery and click Next.

    DataSourceWizard_BigQuery

  3. On the next page, choose the Authentication type. If you selected OAuth, the Data Source wizard shows the following connection settings:

    DataSourceWizard_BigQuery

    • 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:

    DataSourceWizard_BigQueryP12

    • 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.

  4. After you specify connection parameters, click Next and specify how to select data from the database.

    MSSQL_CreateQuery_WithoutStoredProcedures

    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.

    DataSourceWizard_GeneratedQuery_DisabledSP

    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.

  5. On the final page, you can optionally add query parameters and preview data.

    DataSourceWizard_AddQueryParameters

    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:

  1. Specify the connection parameters to the Google BigQuery database. Create the BigQueryConnectionParameters class object and specify the following properties:

    If you use the BigQueryAuthorizationType.OAuth authorization type to establish a connection, use the following properties to specify connection parameters:

    BigQueryConnectionParameters.OAuthClientID

    Gets or sets a client identifier.

    BigQueryConnectionParameters.OAuthClientSecret

    Gets or sets a client secret.

    BigQueryConnectionParameters.OAuthRefreshToken

    Gets or sets a refresh token.

    If you use the BigQueryAuthorizationType.PrivateKeyFile authorization type to establish a connection, the following properties specify connection parameters:

    BigQueryConnectionParameters.PrivateKeyFileName

    Gets or sets the path to the P12 private key file.

    BigQueryConnectionParameters.ServiceAccountEmail

    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.

  2. 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.

  3. 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);