—/100
Checkpoints
Create a reports dataset in BigQuery
/ 30
Query to pull the data for last year
/ 40
Create new data sources in Data Studio
/ 30
How to Build a BI Dashboard Using Google Data Studio and BigQuery
GSP403
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
-
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.
-
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.
Tip: Open the tabs in separate windows, side-by-side.
-
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).
-
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.
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:
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.
Click on the + ADD DATA link, then select Explore public datasets:
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:
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.
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.
- 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.
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.
Click Check my progress to verify the objective.
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:
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.
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:
Click Connect, then click Add to Report.
You may have to Authorize and Allow again.
Click Check my progress to verify the objective.
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:
- Stacked column bar graph showing the number of trees planted each month and the name of the caretaker who planted them.
- A scorecard showing the total number of trees added in the last year.
- A pie chart showing the percent distribution of trees planted by their species.
- A table chart along with a bar graph representing the number of trees planted by site.
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.
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
- This lab is based upon this blog post by Pradnya Khadapkar
- Visualizing BigQuery data using Google Data Studio
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.