Create Visualizations from SQL Queries
The goal for this tutorial is to familiarize you with the terminology used in the SQL Report Builder and give you a solid foundation for creating SQL visualizations
.
The SQL Report Builder is a report builder with options: you can run a query for the sole purpose of retrieving a table of data, or you can turn those results into a report. This tutorial explains how to build a visualization from a SQL query.
Terminology
Before you begin this tutorial, refer to the following terminology used in the SQL Report Builder
.
-
Series
: The column that you want to measure is referred to as a Series in the SQL Report Builder. Common examples arerevenue
,items sold
, andmarketing spend
. At least one column must be set as aSeries
to create a visualization. -
Category
: The column you want to use to segment your data is called aCategory
This is just like theGroup By
feature in theVisual Report Builder
. For example, if you want to segment your customers’ lifetime revenue by their acquisition source, the column that contains acquisition source would be specified as theCategory
. More than one column can be set as aCategory
.
Categories
. They are just another column of data in your query and must be formatted and ordered as desired in the query itself.Labels
: These are applied as x-axis labels. When analyzing data trending over time, the year and month columns are specified as labels. More than one column can be set to be Label.
Step 1: Write the Query
Keep in mind the following:
-
The SQL Report Builder uses
Redshift SQL
. -
If you are creating a report with a time series, be sure to
ORDER BY
the timestamp column(s). This ensures that the timestamps are plotted in the right order on the report. -
The
EXTRACT
function is great to use for parsing out the day, week, month, or year of the timestamp. This is useful when thetime interval
you want to use on the report isdaily
,weekly
,monthly
, oryearly
.
To get started, open up the SQL Report Builder by clicking Report Builder > SQL Report Builder.
As an example, consider this query that returns the monthly total number of items sold for each product:
SELECT SUM("qty") AS "Items Sold", "products's name" AS "product name",
EXTRACT(year from "Order date") AS "year",
EXTRACT(month from "Order date") AS "month"
FROM "items"
WHERE "products's name" LIKE '%Jeans'
GROUP BY "products's name", "year","month"
ORDER BY "year" ASC,"month" ASC
LIMIT 3500
This query returns this table of results:
Step 2: Create the Visualization
With these results, how do you create the visualization? To get started, click the Chart tab in the Results
pane. This displays the Chart settings
tab.
When a query is first executed, the report may look inscrutable because all columns in the query are plotted as a series:
For this example, you want this to be a line chart that trends over time. To create it, use these settings:
-
Series
: Select theItems sold
column as theSeries
since you want to measure it. After you define aSeries
column, you’ll see a single line plotted in the report. -
Category
: For this example, you want to view each product as a different line in the report. To do this, you setProduct name
as theCategory
. -
Labels
: Use the columnsyear
andmonth
as labels on the x-axis to be able to viewItems Sold
as trending over time.
ORDER BY
clause on the labels if they are date
/time
columns.Below is a quick look at how you created this visualization, from running the query to setting up the report:
Step 3: Select a Chart Type
This example uses the Line
chart type. To use a different chart type
, click the icons above the chart options section to change it:
Step 4: Save the Visualization
If you want to use this report again, give the report a name and click Save in the top-right corner.
In the dropdown, select Chart
as the Type
and then a dashboard to save the report to.
Wrapping Up
Want to take it a step further? Check out the query optimization best practices.