Forum Discussion
Common Issues while using Data lake as source for Power BI
what are the common issues or challenges ( example performance) occurs when using data lake such as Azure Data Lake Storage or Amazon S3 as source for Power BI, do reports usually become slow when using a data lake as the source? how can we overcome those issues?
Hello,
I’m not completely sure, but yes, performance can become an issue when using ADLS or S3 directly as a Power BI source, especially with large files, too many small files, or bad partitioning. Query folding also does not always work well, which can slow refreshes a lot
I would prefer Parquet instead of CSV, partitioning data by date, adding incremental refresh, or putting a layer like Synapse or Databricks so queries run smoother
Best regards,
DanieleHey,
Completely agree with DanieleUgoCopp. Just to summarize in pointers:
- Query Folding = ADLS/S3 native connectors can't push filters back to the source, so Power BI pulls the entire dataset (no query folding). Fix: route through Lakehouse or Dataflow Gen2 to enable folding.
- File Format = CSV and JSON are slow to scan for analytics. Fix: Parquet or Delta format are columnar, compressed and faster.
- Indexing or Partitioning = Data lakes have no indexes, so Power BI can't skip irrelevant data. Fix: partition files by date/region and query through Synapse/Athena to leverage partition pruning.
- DirectQuery vs Import mode = In case of DirectQuery, every visual interaction fires a new query to the lake. Fix: prefer Import mode wherever possible; only use DirectQuery if real-time data is a hard requirement.
- Full vs Incrmental Refresh = Without incremental refresh, the entire lake is reloaded each time. Fix: set up incremental refresh using RangeStart/RangeEnd parameters.
- Network Latency = Large data volumes travelling from cloud storage slow everything down. Fix: pre-aggregate heavy tables in a gold layer so Power BI only pulls what it needs.
Best,
Harshit
5 Replies
- DanieleUgoCoppSuper User
Hello,
I’m not completely sure, but yes, performance can become an issue when using ADLS or S3 directly as a Power BI source, especially with large files, too many small files, or bad partitioning. Query folding also does not always work well, which can slow refreshes a lot
I would prefer Parquet instead of CSV, partitioning data by date, adding incremental refresh, or putting a layer like Synapse or Databricks so queries run smoother
Best regards,
Daniele - Olufemi7Super User
Hello powerbiexpert22,
Using Azure Data Lake Storage or Amazon S3 with Microsoft Power BI doesn’t automatically make reports slow. It really depends on how the data is structured and queried.
Common issues people run into are things like:
- large files or too many small files (CSV/JSON especially)
- Power Query steps breaking query folding
- DirectQuery on raw lake data
- poor data modelling (no proper star schema)
- schema changes causing refresh issues
- slow reads from object storage
Reports can become slow when Power BI is forced to scan raw, unoptimized data or when too much transformation happens inside Power BI instead of upstream.
To fix this:
- use Parquet/Delta formats and partition data
- prefer Import mode + incremental refresh where possible
- push transformations to SQL/Spark/Dataflows
- build a proper star schema
- avoid connecting directly to raw lake files for reporting
Microsoft reference:
Optimization guide for Power BI - stoic-harshSuper User
Hey,
Completely agree with DanieleUgoCopp. Just to summarize in pointers:
- Query Folding = ADLS/S3 native connectors can't push filters back to the source, so Power BI pulls the entire dataset (no query folding). Fix: route through Lakehouse or Dataflow Gen2 to enable folding.
- File Format = CSV and JSON are slow to scan for analytics. Fix: Parquet or Delta format are columnar, compressed and faster.
- Indexing or Partitioning = Data lakes have no indexes, so Power BI can't skip irrelevant data. Fix: partition files by date/region and query through Synapse/Athena to leverage partition pruning.
- DirectQuery vs Import mode = In case of DirectQuery, every visual interaction fires a new query to the lake. Fix: prefer Import mode wherever possible; only use DirectQuery if real-time data is a hard requirement.
- Full vs Incrmental Refresh = Without incremental refresh, the entire lake is reloaded each time. Fix: set up incremental refresh using RangeStart/RangeEnd parameters.
- Network Latency = Large data volumes travelling from cloud storage slow everything down. Fix: pre-aggregate heavy tables in a gold layer so Power BI only pulls what it needs.
Best,
Harshit
- v-priyankataCommunity Support
Thank you for reaching out to the Microsoft Fabric Forum Community.
DanieleUgoCopp Olufemi7 stoic-harsh Thanks for the inputs.
I hope the information provided by users was helpful. If you still have questions, please don't hesitate to reach out to the community.
- v-priyankataCommunity Support
Hope everything’s going smoothly on your end. I wanted to check if the issue got sorted. if you have any other issues please reach community.