Data Visualization using QuickSight

Configuring Amazon QuickSight

In this section we will configure Amazon QuickSight - a fully managed service for authoring and publishing interactive dashboards to visualize data. For this lab we will use QuickSight to visualize customer sample data in our data lake using Amazon Athena. query-data-using-quicksight

  1. On opening the Amazon QuickSight console, it will ask you to sign up for Quicksight. Click on the Sign up for QuickSight button. quicksight-signup-step1

    Select Enterprise Edition and click Continue
    Here you can also see a side-by-side feature comparision between Standard and Enterprise edition. quicksight-signup-step2

  2. On the next screen:

    • Select US-East(N. Virginia) as Region
    • Provide a name of your choice for Account name, but ensure that the name is globally unique (e.g. serverlessdatalake-<first-lastname>-date).
    • Provide a valid email address for receiving Notifications. quicksight-signup-step3a

    • Scroll down and select the Amazon S3 checkbox as Quicksight will be reading underlying data from S3 buckets quicksight-signup-step3b

    • On selecting S3 checkbox, it will open another window for S3 bucket selection. Select Select all and select Finish to come back to the original window.
      quicksight-signup-step4

    Select Finish on the main screen to complete Quicksight configuration.

Data Preparation

  1. Once your account is successfully registered with Quicksight we can register the dataset we want to query using Manage data in the top right corner. quicksight-dataprep-step1

    • Click Manage data and then New data set on top left corner quicksight-dataprep-step2

    • Select Athena as we want to visualize data from the Parquet table.

    quicksight-dataprep-step3

    • For Data Source name provide a name of your choice and keep Athena workgroup as Primary. Click Validate connection. quicksight-dataprep-step4

    • Once the details are confirmed and status is shown as Validated, click Create data source quicksight-dataprep-step5

    • In the next screen it will prompt you to choose your table. Select the Glue catalog database you provided earlier (e.g. glueautomation) quicksight-dataprep-step6

    • It will list 2 tables underneath the database - one for CSV format and another for Parquet format. In this workshop we will be visualizing data from the Parquet format table (<stackname>-processeds3bucket in it’s name) so mark the selector for this table and then click Select quicksight-dataprep-step7

  2. Quicksight is now ready to import the data for analysis. Click Visualize quicksight-dataprep-step8

    • Quicksight will start importing the data into SPICE *(Super-fast, Parallel, In-memory Calculation Engine)* and once the import is complete it will show the status on the top-right corner.

Once data is loaded into Quicksight memory we are ready to create nice charts 😃

Data Visualization

  1. Let’s first create a visual graph to see our customers distribution by their birth country.
    Select c_birth_country under Fields list and select Vertical bar chart from Visual types. Quicksight will automatically populate the graph as shown: quicksight-graph1

    What do you think about the graph??
    Hover your mouse over the right most top vertical data line on the graph and you will see empty values. Let’s exclude these empty values and visualize it again!!

  2. To exclude these empty values, right-click on top of the top most vertical data line on the graph and select Exclude empty as shown: quicksight-graph2

    • Quicksight will automatically re-draw the graph after excluding these values and dislay the updated graph: quicksight-graph3

How about focusing on the top 10 countries??

  1. Under Applied filters, select existing filter c_birth_country as shown: quicksight-graph3b

    • Under Edit filter option, select Filter type - Top and bottom filter and then Show Top 10 and under Select_field highlight c_birth_country

    • Click Apply to apply the filter and see how the graphs get populated dynamically.
      quicksight-graph4

    Can you tell which are the top 10 countries in the list???

  2. In order to get inference about the data from Quicksight, select Insights under the navigation pane and QuickSight will provide useful information like - How many unique values are there in the graphed column, which are top 3 & bottom 3 values and total number of records. quicksight-graph5

  3. You can save the report on Quicksight Dashboards by clicking Share and Publish Dashboard in the top-right corner.
    Provide a dashboard name of your choice (e.g. serverless-dashboard) quicksight-graph6

    • On selecting Publish Dashboard it will pop up an another window asking you to select users to share the dashboard with.
    • Select Share with all users in this account as shown: quicksight-graph6b

    • Next, on the Manage dashboard sharing window, just close the window as we are not modifying any users permissions for this workshop. quicksight-graph6d

    • To Email the published dashboard, select Share and underneath the dropdown select Email report quicksight-graph7a

  4. On Create a new email report page fill in following details:

    • Schedule - Send once (Does not repeat) for this workshop
    • Recipients - Ensure that checkbox next to your email address is selected
    • Save Report quicksight-graph8

    • After a few minutes, you should receive an email from Quicksight on the designated email address. quicksight-graph9