Goals
- Learn how to create a simple arithmetic calculated field.
- Learn how to break more complicated calculations into simpler steps.
- Create a conditional expression to evaluate your data and return different results.
Scenario
Suppose you manage an online pet supply store. You might measure sales data, such product codes (SKU), item names, price, and quantity sold. Here's a simple example:
SKU | Item | Price | Qty Sold |
D-001 | Healthy Dog Dog Food |
79.96 |
16 |
B-002 | Parrot Perch |
74.97 |
8 |
B-001 | Pretty Bird Bird Seed |
31.96 |
20 |
C-002 | Hungry Kitty Cat Food |
29.98 |
3 |
D-002 | Playful Puppy Toy |
17.97 |
11 |
C-001 |
Happy Cat Catnip |
14.97 |
4 |
Calculated fields in Data Studio can help you manipulate and extend your data. In this exercise, you'll use calculated fields to:
- calculate the total value of each order
- apply a discount to orders over a certain amount
- categorize sales into departments.
Sample data
To complete this exercise as written, use the sample data below. Otherwise, use your own data (adjusting the field names accordingly). You'll need access to Google Sheets. Alternatively, you could use the File Upload connector to import the data into Data Studio.
SKU,Item,Price,Qty Sold
D-001,Healthy Dog Dog Food,79.96,16
B-002,Parrot Perch,74.97,8
B-001,Pretty Bird Bird Seed,31.96,20
C-002,Hungry Kitty Cat Food,29.98,3
D-002,Playful Puppy Toy,17.97,11
C-001,Happy Cat Catnip,14.97,4
Instructions
Prepare the data
- Copy the sample data in the box above.
- Open a text editor, paste in the sample data, then save the file as
pet-store-data.csv
.-
Be sure to save this file as plain text, otherwise Sheets won't be able to import the data.
-
On Windows, you can use Notepad.
-
On Mac OS, you can use TextEdit, then select Format > Make plain text.
-
On Chrome OS, you can use the Text app, or Docs and then select File > Download and choose Plain Text.
-
-
- Create a new Google Sheet.
- In Sheets, select File
Import.
- Select Upload, then upload the sample data file you created in step 2.
- Select Replace spreadsheet.
- Name your spreadsheet Pet Store.
Create a report and add the data
- Create a new report in Data Studio.
- In the Add data to report panel, select the Google Sheets connector.
- Select the
Pet Store
spreadsheet and worksheet you just created. - Leave the default options selected.
- In the lower right, click ADD.
In a moment, you'll see the new report, with a table on the canvas that uses fields from the Pet Store data source.
Create the subtotal field
- In the menu, select Resource > Manage added data sources.
- To the right of the Pet Store data source, click
EDIT.
The data source fields panel appears. - On the top right, click
ADD A FIELD.
The calculated field editor appears. - In Field Name, enter
Subtotal
. - In Formula, enter
Price * Qty Sold
.The formula editor autocompletes dimension, metric, or function names as you type. You can also drag fields from the Available Fields list on the left into your formula. - On the bottom right, click SAVE.
- On the left, return to the main data source editor by clicking ALL FIELDS.
Create the discount field
Let's say you want to give different discount rates depending on the value of the order. Create another calculated field, called Discount
, that evaluates the Subtotal field and applies the following discounts.
Subtotal value | Discount rate |
0 - 99 | 0 |
100 - 499 |
5% |
500 or more | 10% |
Hints:
- In this step, you'll only calculate the discount. You'll apply it in the following step by multiplying the Subtotal field by the Discount field.
- Use the CASE expression to evaluate the Subtotal field.
- Use a WHEN clause for each discount rate.
- Use an ELSE clause to return the full price (0% discount).
- Express the discount as a decimal value. For example, a 25% discount would be .25.
Solution
CASE
WHEN Subtotal > 499 THEN .9
WHEN Subtotal > 100 THEN .95
ELSE 1
END
Note: WHEN clauses are evaluated in order, and the first one that is true is the one whose THEN clause is returned.
Create the total field
Create another calculated field, called Total
, that multiples the Subtotal field by the Discount field.
Solution
Subtotal * Discount
(Price * Qty Sold) * Discount
Create the department field
Create a final calculated field, called Department, that parses the SKU field and assigns new values depending on the SKU. You'd like to group dog, cat, and bird related items into separate departments.
Hint: use the CASE
statement again, this time, with the REGEXP_MATCH function.
Solution
CASE
WHEN REGEXP_MATCH(SKU, "^C.*") THEN "Cat"
WHEN REGEXP_MATCH(SKU, "^D.*") THEN "Dog"
WHEN REGEXP_MATCH(SKU, "^B.*") THEN "Bird"
ELSE "Misc"
END
See your data in a report
- After saving the Department field, on the left, return to the data source editor by clicking ALL FIELDS.
- In the upper right, click DONE.
- On the right close the manage data sources panel.
You can now add your new calculated fields to charts:
- Select the table.
- On the right, drag each calculated field you created from the Available Fields list to the dimension and metrics section of the Data panel, as shown below: