Databases and warehouses · data source guide

Snowflake data in Power BI

Snowflake is a cloud data warehouse where many teams land data from SaaS apps, ERPs and event streams. For Power BI it is usually the single source behind several semantic models, so connection mode, warehouse sizing and query cost matter as much as the report design.

Connector status

Connector in Microsoft's list

  • Snowflake

The Snowflake connector is listed for Power BI (semantic models) and Power Query Online (not Excel). It supports import and DirectQuery.

Checked against Microsoft Learn's Power Query connector list on 5 November 2026. Connectors change; check the list before you build.

How to get Snowflake data into Power BI

In order of preference for a report that refreshes on its own.

  1. 1

    Connect to a curated schema

    Get data → Snowflake, enter the server (account URL) and warehouse, and pick views from a reporting schema rather than raw landing tables.

  2. 2

    Choose import or DirectQuery deliberately

    Import gives the fastest visuals and predictable Snowflake cost (queries run at refresh). DirectQuery keeps data fresh but every visual interaction runs a query on the warehouse.

  3. 3

    Size and suspend the warehouse

    Use a dedicated warehouse for Power BI with auto-suspend, so refreshes and DirectQuery traffic are visible in Snowflake's cost reporting.

  4. 4

    Single sign-on for DirectQuery

    With Microsoft Entra ID single sign-on configured, DirectQuery can pass the viewer's identity to Snowflake so its own access policies apply.

Typical Snowflake KPIs

Table and column names in the DAX are illustrative: rename them to match your model.

Data freshness

Time since the newest row landed in the fact table.

DAX
Hours Since Load = DATEDIFF ( MAX ( Fact[LoadedAt] ), NOW (), HOUR )

Row count by load

Rows loaded per day, to spot gaps.

DAX
Rows Loaded = COUNTROWS ( Fact )

Revenue (example fact)

Business measures as defined in the reporting views.

DAX
Revenue = SUM ( Fact[Revenue] )

Distinct customers

Distinct count from a large fact (push to Snowflake in DirectQuery).

DAX
Customers = DISTINCTCOUNT ( Fact[CustomerKey] )

Year over year

Standard time intelligence on a marked Date table.

DAX
Revenue YoY % = DIVIDE ( [Revenue] - CALCULATE ( [Revenue], SAMEPERIODLASTYEAR ( 'Date'[Date] ) ), CALCULATE ( [Revenue], SAMEPERIODLASTYEAR ( 'Date'[Date] ) ) )

Modelling notes for Snowflake

Templates for Snowflake data

Free page layouts with a background, theme JSON and PBIP project. Swap the sample tables for your own queries.

Power BI visuals for Sales · Power BI visuals for SaaS · More by department: Executive templates · SaaS templates · Sales templates

Visuals for Snowflake KPIs

Chart types that suit these KPIs, with data shapes and example prompts.

Snowflake and Power BI: questions

Does the Snowflake connector support DirectQuery?

Yes. Choose DirectQuery in the connection dialog. Every visual interaction then runs a query on your Snowflake warehouse, so size it accordingly.

Do I need a gateway for Snowflake?

Not for a publicly reachable Snowflake account. Private connectivity setups may need a gateway or a virtual network data gateway.

Related data sources

Other sources teams often combine with this one.

Snowflake is a trademark of its owner. Product names are used only to describe compatibility; VizForge is not affiliated with, endorsed by or sponsored by the owner or by Microsoft.

Design the Snowflake report page first

Lay out KPI cards and visual slots in the free Design Studio, then export the background, theme JSON and a PBIP project to bind to your data.

The design studio for Power BI. Free, in your browser, no sign-up.