How to Get Data from Snowflake into Power BI
Getting your robust Snowflake data into Power BI is a game-changer for building dynamic, interactive reports. This unlocks the ability to visualize massive datasets and deliver real-time insights across your organization. This guide will walk you through the entire process, from making the connection to optional settings and best practices.
Why Connect Snowflake to Power BI?
Connecting Snowflake and Power BI brings together the best of both worlds. Snowflake offers a powerful, scalable cloud data platform that can handle enormous amounts of data with incredible speed. Power BI is a market-leading business intelligence tool known for its intuitive interface and rich visualization capabilities. Blending them gives you a business intelligence powerhouse.
Separating your data storage and computing (Snowflake) from your visualization and analysis layer (Power BI) creates a highly efficient analytics stack. Your dashboards and reports access the single source of truth in your data warehouse, ensuring consistency and performance. Instead of wrestling with data locally or facing performance bottlenecks in Power BI, you let Snowflake do the heavy lifting of processing queries while Power BI focuses on what it does best: helping you build and share compelling reports. This means you can create detailed, real-time dashboards without bogging down your computer or waiting for massive datasets to import.
Prerequisites: What You’ll Need Before You Start
Before you jump into Power BI, make sure you have the following information from your Snowflake account handy. If you don't have it, your database administrator or data team should be able to provide it.
- An active Snowflake account: You'll need credentials, including a username and password.
- Your Snowflake Server Name: This is the unique URL for your Snowflake instance. It usually looks something like
youraccount.snowflakecomputing.com. - The Virtual Warehouse Name: This is the compute cluster you'll use to run queries. Example:
COMPUTE_WH. - Database and Schema Names: You'll need to know which database and schema contain the tables or views you want to analyze.
- Power BI Desktop: Ensure you have the latest version of Power BI Desktop installed on your computer. It’s a free download from Microsoft.
Connecting Power BI to Snowflake: A Step-by-Step Guide
With your credentials in hand, you're ready to make the connection. The process is straightforward and takes just a few clicks inside Power BI Desktop.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Step 1: Open Power BI and Select 'Get Data'
Launch Power BI Desktop. On the Home ribbon at the top of the interface, click on the Get Data button. This will open a dropdown menu with common data sources. A larger window will open, showcasing the vast library of connectors Power BI offers.
Step 2: Find the Snowflake Connector
In the Get Data window, you can either select "Database" from the list on the left and find Snowflake, or a faster way is to use the search bar at the top left. Type "Snowflake" and you'll see the Snowflake connector appear. Select it and click Connect.
Step 3: Enter Your Snowflake Server and Warehouse Details
A new dialog box will appear asking for your Snowflake instance information. Fill in the two fields:
- Server: Enter your Snowflake account URL. For example,
mycompany.us-east-1.snowflakecomputing.com. Make sure to omit thehttps://prefix. - Warehouse: Enter the name of the virtual warehouse you want to use for this connection. For example:
ANALYTICS_WAREHOUSE.
Underneath these fields, you'll see the Data Connectivity mode options. This is a critical step that determines how Power BI interacts with your Snowflake data.
Step 4: Choose Your Data Connectivity Mode (Import vs. DirectQuery)
This setting defines if Power BI will copy the data or query it live.
Import Mode
What it is: Import mode copies the tables you select from Snowflake and loads them into Power BI's internal, highly compressed data model. This data is then stored inside your .pbix file.
Pros:
- Excellent performance. Once the data is imported, all interactions within your Power BI report (clicking on visuals, filtering data) are lightning-fast because the queries run against the local copy.
- You also have access to the full range of DAX functions and Power Query transformations.
Cons:
- The data is static until you schedule a refresh.
- If your Snowflake data updates, the Power BI report won't reflect those changes until the next refresh cycle.
- There's also a limit to the dataset size that can be imported (currently 1 GB for Power BI Pro users, though larger for Premium).
Use Import when: Your dataset is a manageable size and doesn't require real-time updates (e.g., daily or hourly refreshes are sufficient).
DirectQuery Mode
What it is: DirectQuery creates a live connection to your Snowflake data. No data is actually copied into Power BI. Instead, every time you interact with a report—slicing, dicing, or opening it—Power BI sends live SQL queries to Snowflake to retrieve the necessary data.
Pros:
- The data is always current. Report viewers get the latest information as soon as it's available in Snowflake.
- It’s also ideal for working with extremely large datasets (terabytes or more) that are too big to import.
Cons:
- Report performance is entirely dependent on the performance of your Snowflake warehouse, since every click sends a query.
- This can lead to slower user experiences if the underlying queries are complex or the warehouse is slow.
- There are also some limitations on the Power Query transformations and a few DAX functions that can be used.
Use DirectQuery when: You absolutely need real-time data, are working with massive datasets, or want to leverage Snowflake’s raw compute power.
Step 5: Authenticate with Your Credentials
After clicking "OK" on the server and warehouse screen, Power BI will prompt you to sign in. In the left-hand navigation, select "Snowflake". Type your Snowflake User name and Password into the fields, then click Connect. Power BI will then securely connect to your Snowflake instance.
Microsoft accounts are also available and allow you to use your Azure Active Directory credentials if your admin has it set up.
Step 6: Navigate and Select Your Data
Once you've successfully authenticated, the Navigator window will appear. This is your view into the Snowflake data warehouse. You can drill down through the data hierarchy:
- Click the arrow next to the database you want to use.
- Click the arrow next to the schema that holds your data (e.g., PUBLIC, MARKETING_DATA).
- A list of all the tables and views within that schema will be displayed. Select the checkboxes next to the tables you wish to analyze in Power BI. As you click on a table name, a data preview will appear on the right side.
Step 7: Load or Transform Data
At the bottom of the Navigator window, you have two options:
- Load: This option will immediately load the data, as-it is, from the selected tables into your Power BI model. This is the quickest option and works well if you know your data is already clean and in the correct format.
- Transform Data: This is often the recommended option. It opens the Power Query Editor, a powerful tool for cleaning, shaping, and modeling your data before it's loaded. Here, you can remove columns, filter rows, change data types, merge tables, and perform hundreds of other transformations to prepare your data for analysis.
Once you’ve loaded or transformed your data, you’re all set! You'll land in the main Power BI Desktop report view, with your Snowflake tables listed in the "Fields" pane on the right, ready for you to create visuals.
Best Practices for an Optimal Connection
Connecting is easy, but optimizing the connection for performance is what separates a great report from a frustrating one. Here are a few tips to keep in mind:
Right-Size Your Snowflake Warehouse
If you're using DirectQuery, the responsiveness of your reports depends heavily on the size and configuration of your Snowflake virtual warehouse. If visuals are loading slowly, consider scaling up your warehouse (e.g., from an X-Small to a Small or Medium) to provide more compute power for queries.
Only Import What You Need
Resist the urge to select every table and column available. A lean, focused data model will perform better and be easier to work with. Before loading data, think about the business questions you need to answer. Only bring in the data required to answer them. A model with 5 carefully selected columns will always outperform one with 50 unnecessary ones.
Free PDF · the crash course
AI Agents for Marketing Crash Course
Learn how to deploy AI marketing agents across your go-to-market — the best tools, prompts, and workflows to turn your data into autonomous execution without writing code.
Leverage Query Folding
When you use the "Transform Data" step, Power BI's Power Query Editor is smart enough to "fold" many of your transformation steps into a single SQL query that it sends to Snowflake. For example, if you filter a table to only show sales in "California" and then remove three columns, Power Query will translate that into one optimized SQL statement (SELECT...FROM...WHERE Region = 'California'). This is much more efficient than pulling the entire table into memory and then performing those steps. Stick to simple transformations like filtering, removing/renaming columns, and joins to take full advantage of this.
Consider Using Views in Snowflake
If your reporting requires complex joins or calculations to be performed every time a report loads, it might be better to do that work once inside Snowflake. Ask your data team to create a materialized view in Snowflake that pre-joins tables or pre-calculates metrics. Then, in Power BI, you can simply connect to that clean, aggregated view. This offloads the heavy processing from Power BI to Snowflake, resulting in much faster report performance.
Final Thoughts
Connecting Snowflake to Power BI is a straightforward but powerful way to combine a world-class data warehouse with a world-class analytics tool. By following these steps, you can set up a seamless connection that empowers your team to build insightful, real-time reports based on a reliable single source of truth.
While connecting various platforms and manually building reports in tools like Power BI unlocks incredible insights, it still requires technical know-how and time. At Graphed, we automate the most tedious parts of this process. We let you connect to your data sources with a few clicks and build powerful dashboards in seconds using simple, natural language. Instead of navigating menus, you can just ask for "a line chart of our monthly recurring revenue from Stripe," and watch it appear in a real-time, shareable dashboard.
Related Articles
Facebook Ads for Painters: The Complete 2026 Strategy Guide
Learn how to run profitable Facebook ads for painters in 2026. This complete guide covers audience targeting, ad formats, budgeting, and optimization strategies to generate leads at $20-60 per lead.
Facebook Ads for Chiropractors: The Complete 2026 Strategy Guide
Discover how chiropractic practices can leverage Facebook advertising to attract new patients in 2026. Learn the top strategies, compliance requirements, and proven ad templates that drive appointments.
Facebook Ads for Lawyers: The Complete 2026 Strategy Guide
Master Facebook ads for lawyers with this comprehensive 2026 strategy guide. Learn proven targeting, budgeting, and conversion tactics that deliver 200-500% ROI.