Forum Discussion
Managing and Exporting High-Volume Datasets (~1M Records) in Power BI
Hi Sidhant , Thank you for reaching out to the Microsoft Community Forum.
You’re on the right track. For bulk export the reliable path is to collect the user’s selections in the report, hand them to Power Automate and do the heavy lifting in Fabric (not the visual export path). The dataset Run a query action works for medium jobs if you batch with a stable key and TOPN, but it isn’t a sustained bulk‐extract channel. For truly large pulls, call a Fabric notebook/pipeline to write CSV/Parquet straight to OneLake/SharePoint and notify the user, this side-steps export caps, timeouts and throttling, and it scales cleanly.
For dynamic columns, don’t push field parameters to the limit. Keep a small Selection table with a user-friendly name and a DaxRef like ’Orders’[Order ID]. Let users pick from that list, use a DAX measure to concatenate the chosen DaxRefs (plus your key for batching/order), pass the string to the flow and build the DAX there. When multiple facts are involved, expose curated export views (one per grain/use case) and let the selection table point to those views; this avoids ambiguous joins and keeps performance predictable.
Embedded is fine, the only thing that matters is identity. RLS is enforced if and only if the export query runs under the viewing user’s security context. In embedded/app-owns-data, pass the effective identity when you query the dataset, or run the Fabric export under delegated user auth. If your flow or API runs under a fixed service principal without effective identity, RLS won’t apply; either switch to delegated auth or replicate the same row filters in the Fabric job.
Your SharePoint work was close. Use library-relative paths for Create folder, Get folder metadata using path and Move file. Use server-relative (URL-encoded, starts with /sites/.../Shared Documents/...) only for REST like breakroleinheritance. Most teams can skip REST altogether and just use Grant access to an item or a folder with the ItemId from Get folder metadata. Add a brief delay after creating the folder and double check you’re hitting the same Site Address, the Teams Documents library maps to Shared Documents and private/shared channels live on different sites.
Email subscriptions aren’t a bypass for limits; they’re for formatted report deliveries with attachment size caps. For end users, the smoothest UX is, button in the report -> flow receives selections and user identity -> Fabric materializes data to OneLake/SharePoint (Parquet for size, optional CSV for convenience) -> flow grants per-user folder permissions and sends a link. Add simple guardrails (max columns, max batches), log each export (user, filters, rowcount, file path) and invite externals as guests when you need per-user access control.
Export data from a Power BI visualization - Power BI | Microsoft Learn
Datasets - Execute Queries - REST API (Power BI Power BI REST APIs) | Microsoft Learn
Security in Power BI embedded analytics - Power BI | Microsoft Learn
Working with folders and files with REST | Microsoft Learn
Manage list item and file permissions with Power Automate | Microsoft Learn