In this guide, We will build an end-to-end Generative BI dashboard using Amazon Q in QuickSight, with Snowflake AI & Data Cloud as the data source. We will use the Sales dataset to explore sales trends, regional performance, and customer insights with the power of Natural Language Q&A and Executive Summaries.

This guide walks through:

This guide applies to any business domain where structured data and conversational analytics intersect.

Prerequisites

What You'll Learn

What You'll Need

What You'll Build

Download the Dataset

Create the Target Database Objects

-- Step 1: Use the ACCOUNTADMIN role (or any role with required privileges)
USE ROLE ACCOUNTADMIN;

-- Step 2: Create a virtual warehouse if not already created
CREATE OR REPLACE WAREHOUSE demo_wh
  WITH WAREHOUSE_SIZE = 'XSMALL'
  AUTO_SUSPEND = 60
  AUTO_RESUME = TRUE;

-- Step 3: Create a database to store your dataset
CREATE OR REPLACE DATABASE demo_db;

-- Step 4: Create a schema for organization (optional)
CREATE OR REPLACE SCHEMA demo_db.sales_data;

-- Step 5: Set your context
USE WAREHOUSE demo_wh;
USE DATABASE demo_db;
USE SCHEMA sales_data;
CREATE OR REPLACE TABLE sales_orders (
    row_id INT,
    order_id STRING,
    order_date DATE,
    ship_date DATE,
    ship_mode STRING,
    customer_id STRING,
    customer_name STRING,
    segment STRING,
    country STRING,
    city STRING,
    state STRING,
    postal_code STRING,
    region STRING,
    product_id STRING,
    category STRING,
    sub_category STRING,
    product_name STRING,
    sales FLOAT,
    quantity INT,
    discount FLOAT,
    profit FLOAT
);

Create a Named File Format (Optional)

CREATE OR REPLACE FILE FORMAT csv_format
  TYPE = 'CSV'
  FIELD_OPTIONALLY_ENCLOSED_BY = '"'
  SKIP_HEADER = 1;

Create a Snowflake Stage

CREATE OR REPLACE STAGE demo_stage
  URL = 's3://your-bucket-name/path-to-folder/'
  STORAGE_INTEGRATION = your_integration_name;
COPY INTO sales_orders
FROM @demo_stage/sales_orders.csv
FILE_FORMAT = (TYPE = 'CSV' FIELD_OPTIONALLY_ENCLOSED_BY='"' SKIP_HEADER=1);

Collect Snowflake Connection Info

Gather the following connection details from your Snowflake admin or Snowsight:

Sign in to the AWS Console

Navigate to the AWS Console Search for QuickSight in the service search bar Choose Amazon QuickSight and click Sign in If you're using QuickSight for the first time:

Create a Snowflake Data Source in QuickSight

From the QuickSight homepage, go to Manage data in the left panel Click New dataset > Select Snowflake as the source Fill in the Snowflake connection form: Quicksight Snowflake Connection

Select and Import the Table

Select the sales_orders table from the schema browser Choose a data access mode:

Build Core Visuals

Now that your Snowflake data is available in QuickSight, it's time to create a set of foundational visualizations. These visuals will help users analyze sales performance, regional trends, customer behavior, and product-level profitability.

Step 1: Open the Analysis Editor

Step 2: Create the Following Visuals

1. Sales by Region (Bar Chart)

2. Monthly Profit Trend (Line Chart)

3. Category vs. Sub-Category Sales (Stacked Column Chart)

4. Sales by State (Map Visual)

Step 3: Customize Appearance

Create Visualization with Q

Select Q build visual icon

Ask questions in natural english like:

Add Smart Widgets

Use Amazon Q to create these visuals:

Generate Executive Summary

Amazon Q generates narrative insights for:

Snowflake Clean Up

If this was a test/demo environment:

DROP TABLE IF EXISTS sales_orders;
DROP STAGE IF EXISTS demo_stage;
DROP FILE FORMAT IF EXISTS csv_format;
DROP SCHEMA IF EXISTS demo_db.sales_data;
DROP DATABASE IF EXISTS demo_db;

AWS Clean Up Steps

Versioning & Collaboration

You've now built a powerful, AI-enabled dashboard that:

What You Learned

Related Resources