Single wide extract vs multiple tables
Hi Jens,
I hope you’re well.
We’re starting to implement Power BI in our organisation, and I’d really appreciate your advice on a data modelling question.
We use a third party provider for our case management system. Their proposed setup is to export data as an Excel file, which is automatically dropped into a SharePoint folder and then picked up by Power BI.
Our data model is fairly complex, with a master table and over 20 related child tables. For example, we have:
• A master table (e.g. Parent_Id, Parent_Name, etc.)
• Child tables such as Parent_Needs (Parent_Id, Need1_YesNo, Need2_YesNo) and Parent_Experiences (Parent_Id, Exp1, Exp2)
Instead of providing these as separate tables/files, the provider is proposing to deliver a single, very wide Excel file containing all columns from all tables. The structure would look something like:
Parent_Id
Parent_Name
Type (e.g. Needs or Experiences)
Need1_YesNo
Need2_YesNo
Exp1
Exp2
They are expecting us to use Power BI to split this single extract back into multiple tables.
My questions are:
1. Is this a common or straightforward approach in Power BI?
2. Are there any downsides to this method (e.g. performance, model complexity, or maintainability)?
3. From a best practice perspective, would it be better to push for separate source tables/files instead of one wide extract?
Any advice or perspective would be greatly appreciated.
Best regards,
Vandana
RE: Single wide extract vs multiple tables
Hi Vandana,
Thank you for the forum question.
If you want a fast reply just ask the questions without addressing a specific trainer. I am happy to answer your questions, but I may be occupied for many days and may not be apple to answer.
This is a very common question, and your instinct to pause on this is absolutely right. Short answer: yes, Power BI can handle a single wide extract, but no, it’s not best practice for a model like the one you describe.
I’ll address your questions directly and then give a clear recommendation.
________________________________________
1. Is this common or straightforward in Power BI?
It’s possible, but it’s not the norm for well designed models.
Power BI (via Power Query) is very good at:
• Splitting wide tables
• Filtering by “Type” columns
• Creating multiple derived tables from one source
So technically:
• Yes, you can ingest one wide Excel file
• Yes, you can split it into Parent / Needs / Experiences tables
However:
• This approach is usually used as a last resort
• It’s more common when the source system cannot do better (e.g. fixed vendor exports)
In professional Power BI projects, separate, logical tables are far more common—especially when there is a clear parent–child structure like yours.
________________________________________
2. Downsides of a single wide extract
There are several, and they tend to show up over time rather than on day one.
2.1 Model anti pattern: denormalised and sparse data
Your proposed structure creates a table where:
• Many columns are irrelevant for most rows
• Columns are conditionally populated based on Type
This leads to:
• Lots of blank values
• Poor column compression
• Inefficient storage in the VertiPaq engine
Power BI strongly prefers narrow tables with consistent meaning per column, not “sometimes this column applies, sometimes it doesn’t”.
________________________________________
2.2 More complex Power Query logic
To recover a clean model, you’ll need:
• Filters on Type
• Column pruning per derived table
• Careful handling when new columns are added
That means:
• More transformation steps
• Higher maintenance risk
• Higher chance of refresh failures when the extract changes
If the provider adds a new “Experience” column, your model breaks unless someone updates the splits.
________________________________________
2.3 Weaker semantic clarity
When someone opens the model:
• The lineage is harder to understand
• Business meaning is buried inside Power Query logic
• Debugging data issues takes longer
With separate source tables, the semantic intent is obvious:
“This table represents Needs; this table represents Experiences.”
With a wide extract:
“This table represents… everything, but only sometimes.”
________________________________________
2.4 Performance and refresh impact
While Power BI can optimize well, wide tables cause:
• Larger memory footprint
• Slower refreshes
• Slower DAX evaluation when filters behave unexpectedly
This becomes noticeable as:
• Volume grows
• Refresh cadence increases
• Report complexity increases
________________________________________
3. Best practice recommendation
Strong recommendation: push for separate logical tables
For a model like yours, separate tables/files are unequivocally better.
Ideal setup:
• Parent.xlsx (or table)
• Parent_Needs.xlsx
• Parent_Experiences.xlsx
• Other child entities
Even better (if possible):
• CSV or database tables instead of Excel
• Incremental or delta-based extracts
________________________________________
Why vendors push one wide file
To be fair to the provider:
• It’s easier for them
• It reduces export logic
• It avoids questions about relationships
But this shifts data modeling complexity onto you, where it doesn’t belong.
A good principle:
The system that knows the data structure best should do the shaping.
That is the source system, not Power BI.
________________________________________
If you must accept one wide extract
If pushing back isn’t possible, mitigate the damage:
1. Treat the file as a raw staging layer
o Never report directly from it
2. Split it immediately in Power Query
o One query per logical entity
3. Disable load on the raw table
4. Document assumptions
o Especially how Type drives column relevance
This is viable, but it should be framed internally as a compromise, not a design goal.
________________________________________
Bottom line
Question Answer
Is it common? Possible, but not recommended
Is it straightforward? Technically yes, architecturally no
Are there downsides? Yes: performance, clarity, maintenance
Best practice? Separate tables/files, strongly preferred
If you’re early in the implementation, now is the best time to push back politely but firmly. Once reports are built, changing the source shape becomes far harder.
Kind regards
Jens Bonde
Microsoft Office Specialist Trainer
Tel: 0207 987 3777
STL - https://www.stl-training.co.uk
98%+ recommend us
London's leader with UK wide delivery in Microsoft Office training and management training to global brands, FTSE 100, SME's and the public sector
RE: Single wide extract vs multiple tables
Thanks so much for such a prompt and detailed response, really appreciate it.
I am going to push back for the separate tables.
Also, I realised I forgot to mention that they have suggested that they will give us this one big file and that will be a "flexible" report - as in if we make changes to our system and add a field or two in different places, the report will automatically include these new columns. And this makes me even more vary about doing the split - even if there is some pre-decided naming convention or something to identify which column belongs to which table.


