menu
arrow_back

How to Build a BI Dashboard Using Google Data Studio and BigQuery

search favorite_border
Add to favorites
help
Help
—/100

Checkpoints

arrow_forward

Create a reports dataset in BigQuery

Query to pull the data for last year

Create new data sources in Data Studio

How to Build a BI Dashboard Using Google Data Studio and BigQuery

1 hour Free

GSP403

Google Cloud Self-Paced Labs

Overview

For as long as business intelligence (BI) has been around, visualization tools have played an important role in helping analysts and decision-makers quickly get insights from data.

In this lab you'll learn how to build a BI dashboard with Data Studio as the front end, powered by BigQuery on the back end. It assumes some familiarity with those products. For more information, review the background docs ( BigQuery concepts, Data Studio overview).

Setup

Before you click the Start Lab button

Read these instructions. Labs are timed and you cannot pause them. The timer, which starts when you click Start Lab, shows how long Google Cloud resources will be made available to you.

This Qwiklabs hands-on lab lets you do the lab activities yourself in a real cloud environment, not in a simulation or demo environment. It does so by giving you new, temporary credentials that you use to sign in and access Google Cloud for the duration of the lab.

What you need

To complete this lab, you need:

  • Access to a standard internet browser (Chrome browser recommended).
  • Time to complete the lab.

Note: If you already have your own personal Google Cloud account or project, do not use it for this lab.

Note: If you are using a Pixelbook, open an Incognito window to run this lab.

How to start your lab and sign in to the Google Cloud Console

  1. Click the Start Lab button. If you need to pay for the lab, a pop-up opens for you to select your payment method. On the left is a panel populated with the temporary credentials that you must use for this lab.

    Open Google Console

  2. Copy the username, and then click Open Google Console. The lab spins up resources, and then opens another tab that shows the Sign in page.

    Sign in

    Tip: Open the tabs in separate windows, side-by-side.

  3. In the Sign in page, paste the username that you copied from the Connection Details panel. Then copy and paste the password.

    Important: You must use the credentials from the Connection Details panel. Do not use your Qwiklabs credentials. If you have your own Google Cloud account, do not use it for this lab (avoids incurring charges).

  4. Click through the subsequent pages:

    • Accept the terms and conditions.
    • Do not add recovery options or two-factor authentication (because this is a temporary account).
    • Do not sign up for free trials.

After a few moments, the Cloud Console opens in this tab.

Usecase

For this lab you'll be a manager of tree services for a large city. You make important decisions based on usage logs data, stored in large (multiple TBs) date-partitioned tables in a BigQuery dataset called "Trees".

To get business value out of that data as quickly as possible, build a dashboard for analysts that provides visualizations of trends and patterns in your data.

Solution overview

Typically, a dashboard shows an aggregated view of usage — it doesn't need details all the way to the level of an order ID, for instance. So, to reduce query costs, you'll first aggregate your needed logs into another dataset called "Reports" then create a table of aggregated data. You'll query the table from the Data Studio dashboard. This way, when your dashboard is refreshed, the reporting dataset queries process less data. Since usage logs from the past never change, you'll only refresh new usage data into the Reports dataset.

56903d14e7bc21ce.png

Uploading queryable data

In this section, you pull in some public data so you can practice running SQL commands in BigQuery.

Open BigQuery Console

In the Google Cloud Console, select Navigation menu > BigQuery:

BigQuery_menu.png

The Welcome to BigQuery in the Cloud Console message box opens. This message box provides a link to the quickstart guide and the release notes.

Click Done.

The BigQuery console opens.

bq-console.png

Click on the + ADD DATA link, then select Explore public datasets:

5117501d76bbeeae.png

Search for "trees" and press Enter.

Click on the Street Trees tile, then click View Dataset.

A new tab opens, a new project called bigquery-public-data is added to the Resources panel:

a2a624352791955f.png

Create a reports dataset in BigQuery

Next you'll create a new dataset called Reports in your project. A separate dataset has a couple of benefits: it reduces the amount of data queried by the dashboard, and it removes unnecessary access to your source datasets by users who are only interested in aggregated data.

Click on the project name that starts with "Qwiklabs", then click on Create Dataset and call it "Reports". Click Create dataset.

Click Check my progress to verify the objective. Create a reports dataset in BigQuery

Query the dashboard data

Next you run a one-time query to pull the data for the last year, summarizing:

  • The number of trees planted each month
  • Which species of trees were planted
  • Who the caretaker of the trees is
  • Address of the planted trees
  • Tree site information

Add the following to the query editor:

SELECT
 TIMESTAMP_TRUNC(plant_date, MONTH) as plant_month,
  COUNT(tree_id) AS total_trees,
  species,
  care_taker,
  address,
  site_info
FROM
  `bigquery-public-data.san_francisco_trees.street_trees`
WHERE
  address IS NOT NULL
  AND plant_date >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 365 DAY)
  AND plant_date < TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY)
GROUP BY
  plant_month,
  species,
  care_taker,
  address,
  site_info

Click the More button, and select Query settings from the dropdown menu.

18d4013089aaa252.png

  • Your Project name and Dataset name automatically fills in.
  • Select Set a destination table for query results.
  • Create a name for the table, like "Trees".
  • For Destination table write preference, select Write if empty.

be2c04c74cdd9853.png

Because you specified a Table name and selected the Write if empty preference, the query creates a table if the table does not already exist.

Accept the other default settings and click Save.

Click Run to run the query.

When the query completes, click on the Reports dataset, then click on the Trees table. You are on the Results tab, where you can see the data.

83cfc3e6660b1b00.png

Click Check my progress to verify the objective. Query to pull the data for last year

Scheduling queries in BigQuery

To keep your dashboard up-to-date, you can schedule queries to run on a recurring basis. Scheduled queries must be written in standard SQL, which can include Data Definition Language (DDL) and Data Manipulation Language (DML) statements. The query string and destination table can be parameterized, allowing you to organize query results by date and time.

Now you add a query that checks each day for new data. When new trees are planted, you'll get the additional stats updated directly into the reports.trees table.

Click Compose New Query and run the following query to pull incremental data into the reports.trees table on a daily basis using the scheduled query feature:

SELECT
 TIMESTAMP_TRUNC(plant_date, MONTH) as plant_month,
  COUNT(tree_id) AS total_trees,
  species,
  care_taker,
  address,
  site_info
FROM
  `bigquery-public-data.san_francisco_trees.street_trees`

WHERE
  address IS NOT NULL
  AND plant_date >= TIMESTAMP_SUB(CURRENT_TIMESTAMP(), INTERVAL 1 DAY)
  AND plant_date < TIMESTAMP_TRUNC(CURRENT_TIMESTAMP(), DAY)
GROUP BY
  plant_month,
  species,
  care_taker,
  address,
  site_info

Click on the Schedule query button, then Create new scheduled query:

2222a2fff33a421.png

On the new Scheduled query page, set the following:

  • Name: Update_trees_daily

Schedule options:

  • Repeats: daily, choose date and time in the future

In the Destination for query results sections, your project name and dataset name are already selected for you.

  • Table name: type in "Trees" and select Append to table so it doesn't overwrite existing data.

BQ_Schedule_Query.png

Click Schedule.

You may need to give your lab credentials permission, then agree to replace your query.

Note: If you run this query you won't see any new results because they haven't happened yet.

Create new data sources in Data Studio

Now you'll build your dashboard using the tree data you've just aggregated with Data Studio.

Open a new tab in your browser and go to Data Studio with this link: https://datastudio.google.com.

Click Create in the top left, and then click Data Source.

Click Get Started, and then click through the initial prompts:

  • If you see the Choose an account dialog, click Use another account.
  • Acknowledge, then accept terms of service.
  • Select No, thanks for all email offers, and then click Done.

Click Create, and then click Report.

Create a new report in Data Studio

On the Untitled Report, click Create a new datasource in the bottom right corner.

Click on the BigQuery tile, then click Authorize, then Allow.

Now you'll use the BigQuery connector to connect to the reports.trees table.

Start by selecting your Qwiklabs project, then the Reports dataset, then the Trees table, as shown below:

9c59a0714620535c.pngClick Connect, then click Add to Report.

You may have to Authorize and Allow again.

Click Check my progress to verify the objective. Create new data sources in Data Studio

Now you can create charts using the data in this table.

Click Add a Chart,

Click on the Add a chart dropdown and select the type you want. In this example, you can see the following types of charts:

  1. Stacked column bar graph showing the number of trees planted each month and the name of the caretaker who planted them.
  2. A scorecard showing the total number of trees added in the last year.
  3. A pie chart showing the percent distribution of trees planted by their species.
  4. A table chart along with a bar graph representing the number of trees planted by site.

a2eb7921fe84db8e.png

You can experiment on your own creating charts and titles modeled after the example. Here are some hints:

  • Titles are created using the text tool. In the example, titles were created for each chart and the dashboard itself.

  • When a chart is selected, you can edit the colors and font sizes when you click on the Style tab on the right-hand side.

  • Click on a chart to modify its size and drag it to a new location.

Congratulations!

You've learned how to build a BI dashboard for visualizing patterns in your business data with less risk of expensive query volumes.

BigQueryBasicsforMarketingAnalysists-123x135.png

Finish Your Quest

This self-paced lab is part of the Qwiklabs BigQuery for Marketing Analysts Quest. A Quest is a series of related labs that form a learning path. Completing this Quest earns you the badge above, to recognize your achievement. You can make your badge (or badges) public and link to them in your online resume or social media account. Enroll in this Quest and get immediate completion credit if you've taken this lab. See other available Qwiklabs Quests.

Next Steps / Learn More

Google Cloud Training & Certification

...helps you make the most of Google Cloud technologies. Our classes include technical skills and best practices to help you get up to speed quickly and continue your learning journey. We offer fundamental to advanced level training, with on-demand, live, and virtual options to suit your busy schedule. Certifications help you validate and prove your skill and expertise in Google Cloud technologies.

Manual Last Updated August 19, 2020
Lab Last Tested August 19, 2020

Copyright 2021 Google LLC All rights reserved. Google and the Google logo are trademarks of Google LLC. All other company and product names may be trademarks of the respective companies with which they are associated.

Ready for more?

Here's another lab we think you'll like.