How to Connect Snowflake to Power BI

Galaxy Glossary

How do I connect Snowflake to Power BI?

Establishes a live or import-mode connection from Microsoft Power BI Desktop/Service to a Snowflake warehouse for interactive analytics.

Sign up for the latest in SQL knowledge from the Galaxy Team!
Welcome to the Galaxy, Guardian!
Oops! Something went wrong while submitting the form.

Description

Why connect Snowflake to Power BI?

Pairing Snowflake’s scalable cloud warehouse with Power BI’s visuals gives teams self-service dashboards, near-real-time refresh, and governed data models without ETL duplication.

Which authentication options does Power BI support?

Power BI Desktop and Service offer Username/Password, SSO (AAD), and key-pair OAuth. SSO is recommended for centralized governance and MFA.

What drivers or connectors are required?

Power BI ships with a native Snowflake connector—no separate ODBC install needed.Keep Power BI Desktop up to date to leverage the latest connector version.

How do I build the connection string?

Use account.region.cloud, warehouse, role, and database.Example: mycompany.us-east-1.azure with warehouse BI_WH, role ANALYST, and database ECOM_DB.

Step-by-step: connecting in Power BI Desktop

  1. Select Get Data → Snowflake.
  2. Enter mycompany.us-east-1.azure in the Server field.
  3. Optionally append ?warehouse=BI_WH&role=ANALYST&db=ECOM_DB&schema=PUBLIC.
  4. Choose DirectQuery for live SQL pushdown or Import for cached models.
  5. Authenticate via SSO or Username/Password.
  6. Select tables like Orders and OrderItems, then Load.

How to query ecommerce tables after connection?

In Power BI, open Transform Data and use the Advanced Editor to paste SQL such as:

SELECT o.id,
c.name AS customer_name,
SUM(oi.quantity * p.price) AS order_value,
o.order_date
FROM Orders o
JOIN Customers c ON c.id = o.customer_id
JOIN OrderItems oi ON oi.order_id = o.id
JOIN Products p ON p.id = oi.product_id
GROUP BY o.id, c.name, o.order_date;

Best practices for performance

Use DirectQuery with row-level filters, aggregate tables in Snowflake, and size the warehouse (e.g., XSMALL during dev, auto-resume/auto-suspend) to control cost.

Can I publish to Power BI Service?

Yes.After publishing, add the Snowflake connection as a data source in the Workspace’s gateway or leverage cloud-to-cloud connection with OAuth.

How to schedule refresh?

In Import mode, set refresh frequency (up to 48x/day) in the dataset settings. DirectQuery updates live but you can adjust “Automatic Page Refresh” for visuals.

.

Why How to Connect Snowflake to Power BI is important

How to Connect Snowflake to Power BI Example Usage


// In Power BI’s SQL statement or Snowflake worksheet
SELECT c.name       AS customer,
       COUNT(o.id)  AS orders,
       SUM(o.total_amount) AS revenue
FROM   Customers c
JOIN   Orders o ON o.customer_id = c.id
WHERE  o.order_date >= DATE_TRUNC('month', CURRENT_DATE)
GROUP  BY c.name
ORDER  BY revenue DESC;

How to Connect Snowflake to Power BI Syntax


snowflake://<account>.<region>.<cloud>/?warehouse=<warehouse>&role=<role>&db=<database>&schema=<schema>

Example (ecommerce):
  snowflake://mycompany.us-east-1.azure/?warehouse=BI_WH&role=ANALYST&db=ECOM_DB&schema=PUBLIC

Parameters:
  account      – Snowflake account name (required)
  region       – Cloud region (required)
  cloud        – aws | azure | gcp (required)
  warehouse    – Virtual warehouse to run queries (optional but recommended)
  role         – Snowflake role for permissions (optional)
  db           – Default database (optional)
  schema       – Default schema (optional)

Power BI modes:
  DirectQuery  – Sends SQL in real time; ideal for large tables (e.g., Orders, OrderItems).
  Import       – Caches data into Power BI; faster visuals for small tables (e.g., Products).

Common Mistakes

Frequently Asked Questions (FAQs)

Does Power BI support Snowflake SSO?

Yes. Choose “Microsoft Account” in the credential dialog for Azure AD SSO.

Can I switch between Import and DirectQuery later?

Yes, use Power BI’s Transform Data → Storage Mode setting, but verify model relationships after the switch.

Want to learn about other SQL terms?

Trusted by top engineers on high-velocity teams
Aryeo Logo
Assort Health
Curri
Rubie Logo
Bauhealth Logo
Truvideo Logo
Welcome to the Galaxy, Guardian!
Oops! Something went wrong while submitting the form.