Introduction
Every Power BI project starts with a decision that shapes everything downstream: how should the model connect to its data. It is easy to treat this as a checkbox during setup, but at Versich, we see this choice make or break performance, refresh reliability, and long term maintainability. Choosing between Import, DirectQuery, and Live Connection is not just a technical detail. It determines how fast your reports load, how current your data is, how much you can model inside Power BI, and how your infrastructure handles the load.
We work with finance and operations teams across NetSuite, Power BI, and broader analytics stacks every day, and connectivity mode is one of the most common points of confusion we see. Teams often default to whatever mode they used last time, without weighing whether it fits the new use case. In this post, we walk through how each storage mode works, where it shines, where it struggles, and how we approach the decision when we design Power BI models for our clients.
What Storage Mode Actually Means in Power BI
Storage mode determines where your data physically lives when a report runs. Power BI gives you three core options, plus a hybrid Composite mode that blends them. The mode you pick affects the in memory engine, query folding behavior, refresh schedules, and even what DAX functions are available to you.
Before comparing the three modes directly, it helps to be clear on what each one is solving for:
- Import brings data into Power BI's own compressed, in memory engine (VertiPaq).
- DirectQuery leaves data in the source system and sends live queries to it on demand.
- Live Connection points Power BI at an existing semantic model, typically Analysis Services or a Power BI dataset, without creating a separate copy of the model.
Each one has a different relationship with speed, freshness, and source system load, and that relationship is what drives our recommendation for any given project.
Import Mode: Speed and Flexibility at the Cost of Freshness
Import mode is the default for most Power BI builds, and for good reason. When you import data, Power BI compresses it into VertiPaq, its columnar in memory engine. This is the same engine that powers Analysis Services Tabular models, and it is extremely fast at aggregating and filtering large volumes of data.
Where Import Mode Performs Well
- Reports feel instant because there is no round trip to a source system on every click.
- You get full access to DAX, including time intelligence functions and complex calculated columns.
- You can blend multiple sources, such as NetSuite saved searches, a CRM export, and a spreadsheet, into one cohesive model.
- Compression often shrinks data volume dramatically, so multi million row tables become manageable.
Where Import Mode Falls Short
- Data is only as fresh as the last refresh. If your business needs minute by minute visibility, Import alone will not get you there.
- Refreshes consume capacity, and on Pro or Premium per user licensing, you are limited in how many scheduled refreshes you can run per day.
- Very large datasets, think hundreds of millions of rows, can push against capacity memory limits.
We default to Import mode for the majority of client dashboards, particularly financial reporting built on NetSuite data. Month end close, AP and AR aging, and budget versus actual views rarely need real time data. A scheduled refresh a few times a day is almost always sufficient, and the performance gain is worth it.
DirectQuery: Real Time Data with a Performance Trade Off
DirectQuery flips the model. Instead of pulling data into Power BI, every visual sends a query straight to the source system, whether that is SQL Server, Snowflake, a NetSuite connected data warehouse, or another supported source. There is no copy of the data sitting in Power BI's memory.
Where DirectQuery Performs Well
- Data is always current, since every query hits the live source.
- It removes the row limits and refresh scheduling constraints that come with Import.
- It keeps a single source of truth in the underlying database, which some governance teams prefer.
Where DirectQuery Falls Short
- Query performance depends entirely on the source system. A poorly indexed table or an underpowered database will make every report slow, no matter how well the Power BI model is built.
- Many DAX functions are restricted or behave differently, since the engine has to translate DAX into native SQL or another query language.
- Concurrent users generate concurrent queries against the source, which can strain production systems if not managed carefully.
- Relationships and calculated columns across multiple DirectQuery sources introduce real complexity.
We reach for DirectQuery when a client genuinely needs near real time operational visibility, for example monitoring active warehouse transactions or live order status, and the underlying database can handle the query load. We are careful to set expectations here. DirectQuery is not a free upgrade. It is a trade of speed and modeling flexibility for currency of data, and that trade only makes sense when currency is the priority.
Live Connection: Centralizing on a Shared Semantic Model
Live Connection is often confused with DirectQuery, but it solves a different problem. Rather than connecting Power BI directly to raw source tables, Live Connection points a report at an already built semantic model, typically an Analysis Services Tabular model or a published Power BI dataset shared across the organization.
Where Live Connection Performs Well
- Multiple report authors can build on top of one governed, well modeled dataset, instead of each rebuilding relationships and measures from scratch.
- It reduces duplicated logic. A single DAX measure for revenue recognition can be reused across every report that connects live to that model.
- It supports strong governance, since business definitions live in one place rather than being scattered across a dozen separate files.
Where Live Connection Falls Short
- You cannot add new tables or change relationships in the report you are building. Any model change has to happen upstream, in the source dataset.
- It depends entirely on the upstream model being well designed. A Live Connection report inherits every limitation of the model it points to.
- Calculated measures created locally in Live Connection mode are more restricted than in a standalone Import model.
We recommend Live Connection for organizations that have matured past one off dashboards and are ready to centralize their reporting layer. Once a client has a well governed enterprise semantic model, whether built on top of NetSuite, a data warehouse, or both, Live Connection lets every department build their own views without fragmenting the underlying business logic.
Composite Models: When You Need the Best of Both
Power BI also supports Composite models, where some tables use Import and others use DirectQuery within the same model. This is a powerful middle ground, but it comes with its own considerations.
- Large, slow changing dimension tables, like customer or item master data, can stay in Import for speed.
- Large, fast changing fact tables, like live transaction feeds, can stay in DirectQuery for currency.
- Power BI automatically applies aggregation tables behind the scenes when configured correctly, which can dramatically cut down on the number of DirectQuery hits.
Composite models require careful design. Relationships between Import and DirectQuery tables introduce a concept called limited relationships, and getting aggregations right takes deliberate planning. We typically only recommend this approach once a client has outgrown a single storage mode and has the internal capacity, or a partner like Versich, to manage that added complexity.
Our Framework for Choosing the Right Mode
When we scope a Power BI engagement, we walk through a consistent set of questions before recommending a storage mode. This keeps the decision grounded in the client's actual reporting needs rather than habit or convenience.
Question | Favors Import | Favors DirectQuery | Favors Live Connection |
How current does the data need to be? | Hourly or daily is fine | Real time or near real time matters | Depends on the source model |
How large is the dataset? | Compresses well, even at high volume | Very large, beyond comfortable Import size | Already handled upstream |
How much DAX flexibility do you need? | Full flexibility required | Willing to accept some restrictions | Limited to local measures only |
Can the source system handle concurrent load? | Not a concern, queries run once at refresh | Source must be robust enough for live queries | Not a concern, load sits on the model server |
Is there already a shared enterprise model? | Not necessarily | Not necessarily | Yes, and governance matters |
In practice, most financial and operational dashboards we build for NetSuite clients land on Import mode, often refreshed multiple times daily. DirectQuery and Live Connection get reserved for the specific scenarios where their strengths actually matter, real time operational monitoring or enterprise wide semantic model governance.
Common Mistakes We See in Power BI Model Design
Across the engagements we have run, a few patterns show up again and again when storage mode has not been thought through carefully.
- Defaulting to DirectQuery for every project because it sounds more advanced, even when daily refreshes would serve the business just fine.
- Building a massive single Import model that pulls in every table from the source system, instead of modeling a focused star schema that only includes what reports actually need.
- Ignoring query folding in Power Query, which means transformations run inside Power BI's engine instead of being pushed back to the source, slowing down both Import refreshes and DirectQuery response times.
- Mixing storage modes inside a Composite model without planning the relationship and aggregation strategy in advance, leading to confusing performance issues later.
One client we worked with, a mid sized distribution company, had built their entire NetSuite reporting layer in DirectQuery because their original consultant assumed it would be the most current option. Reports were taking ten to fifteen seconds to load, and concurrent users during month end were causing timeouts on the NetSuite side. We rebuilt the core financial model in Import mode, refreshed four times a day, and kept only the live inventory count screen in DirectQuery. Load times dropped to under two seconds for the bulk of the reports, and NetSuite query load during business hours fell significantly.
Why Storage Mode Matters Especially for NetSuite Reporting
For businesses running NetSuite, storage mode decisions carry extra weight. NetSuite's SuiteAnalytics Connect and saved search based extracts were not built to handle high volume concurrent querying the way a dedicated analytical database is. Pulling live, on demand queries against NetSuite through DirectQuery can put real strain on the ERP itself, particularly during busy processing windows like month end close.
This is why we typically recommend Import mode as the default for NetSuite connected Power BI models, paired with a sensible refresh schedule that matches how often the underlying data actually changes in a way that matters to the business. For clients with more advanced needs, we sometimes introduce an intermediate data warehouse or staging layer between NetSuite and Power BI, which opens up DirectQuery or Composite options without putting unnecessary load directly on the ERP.
Conclusion
Import, DirectQuery, and Live Connection each solve a different problem, and none of them is universally correct. The right choice depends on how fresh your data needs to be, how large and complex your model is, how much load your source system can handle, and how mature your organization's reporting governance already is. Getting this decision right at the start of a project saves significant rework later, and getting it wrong is one of the most common reasons Power BI dashboards end up slow, unreliable, or abandoned.
At Versich, we design Power BI models with this decision front and center, because we have seen firsthand how much it shapes the end result. Whether you are building your first NetSuite connected dashboard or rethinking an existing model that has outgrown its original design, we can help you choose the right storage strategy and build a model that performs the way your business actually needs it to.
If you would like to talk through your Power BI architecture or your wider NetSuite analytics strategy, reach out to our team and we will help you find the right approach.
