Getting data into Power BI can be a bit of a maze, especially with the various connection methods available. In this post, we’ll dive into the nuances of importing data, using DirectQuery, and establishing live connections. Each method has its pros and cons, but understanding them can help you make the right choice for your reporting needs.
Understanding Import Mode
When we talk about importing data in Power BI, we’re referring to a process also known as cached data. This means that we pull data from your data source and bring it directly into Power BI as a copy. Once inside, it resides in your Power BI Desktop file. If you publish this file to the Power BI service, the dataset sits there, and any queries you run will hit this cached data.
One of the most significant advantages of using import mode is speed. Since the data is cached, queries run significantly faster. Plus, data compression allows you to store a lot of information in a relatively small space.
When you go to get data, you’ll notice a wide variety of data sources available for importing. There are virtually no restrictions, meaning you can connect to nearly any data type, including ODBC. You’ll have full access to all DAX functions, relationship types, and everything you can do in Power Query. This is why import is the default option and is usually the method I recommend.

Now, you might think the row limitation is a concern. You may have heard that you can only import up to a million rows. That’s a myth! I’ve worked with clients who have imported as much as 1.5 billion rows. So, there’s plenty of room for scaling.
When setting up a data connection, you’ll see options for data connectivity mode; you can select either import or DirectQuery. If you’re not using Power BI Premium, your dataset size is limited to one gig when published. However, with Premium, you can go up to 10 gigs and even beyond that with large model support.
Here’s a pro tip: when importing data, keep your models simple and clean. Familiarize yourself with star schemas, which will help you relate fact tables and dimension tables effectively for optimal performance. Avoid creating a single, giant table!
Exploring DirectQuery
Now let’s shift gears and talk about DirectQuery. Unlike import mode, DirectQuery doesn’t copy the data into Power BI. Instead, it connects directly to the data source and retrieves the schema—like table structures and column names—but not the actual data. This is beneficial for handling massive datasets that exceed the import limitations.
Switching to DirectQuery is as simple as flipping a switch in the connection options. It’s important to note that not all data sources support DirectQuery. Typically, it’s your relational databases that do, and you can find a list of supported sources in the Power BI documentation.

A word of caution: performance issues often arise with DirectQuery. When users report slow performance, the first question I ask is whether they’re using DirectQuery. Many times, they are querying operational databases or have poorly modeled data that doesn’t follow best practices, like the star schema format.
Additionally, DirectQuery comes with limitations in Power Query and DAX functionality. For example, time intelligence functions might not perform well because they generate complex queries. Remember that each visual on your report can generate multiple queries to the data source, so keep that in mind when designing your reports.
Understanding Live Connections
Next up is the live connection, which is a bit of a hybrid. This connection is specifically for when you’re linking to Analysis Services or a Power BI dataset. The beauty of live connections is that they utilize the VertiPag engine that underpins Power BI, making them incredibly efficient.
With a live connection, you don’t copy over any data to Power BI Desktop. Instead, you only get a connection string. This means that all the data remains on the external model, and you can’t make changes to it from Power BI Desktop. This is a significant difference from both import and DirectQuery modes, where you have more control over your data models.

However, if you need to make changes to the model, that’s where composite models come in. Composite models allow you to mix and match connection types. For instance, you can combine DirectQuery with import, giving you the flexibility to work with both types of data sources.
Say you want to import a CSV file while also maintaining a live connection to your Analysis Services model. Power BI will prompt you to change the connection type to DirectQuery for the CSV file, allowing you to create a local model that references the live dataset.
Composite Models: The Best of Both Worlds
Composite models are a game-changer. Introduced in late 2020, they enable you to mix DirectQuery and import modes seamlessly. For example, you might have an imported summary table that handles most of your query operations and rely on a DirectQuery table for detailed data queries. This setup can significantly improve performance while still allowing you to satisfy complex business requests.
By layering your data models, you can achieve optimal performance with minimal hassle. This flexibility is particularly useful for businesses dealing with massive datasets, as it allows you to maintain efficiency without sacrificing analytical power.
Conclusion
So, what are your thoughts? Did this breakdown of the different connection types help clarify your options in Power BI? Understanding the differences between import, DirectQuery, and live connections is crucial for building efficient and effective reports.
For those eager to expand their Power BI skills, consider checking out expert-led training courses. You can boost your data skills with expert-led Power BI training that covers these concepts and more!


