Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
I have created a Dataflow Gen2 which uses my organisations On-Premises Gateway to connect to a SharePoint Site, navigate to the folder and files and export the excel workbook into Power Query, transform column hears so they're compliant with a Lakehouse's requirements.
All of the Excels are incredibly small sets of data and are only provided some currently semi-static unsystemised information that is required for operating our reporting.
For context:
When I run this Dataflow for the first time it successfully runs, retreiving the information and create the tables in the Lakehouse.
When I refresh this Dataflow/Republish I experience these errors:
I for the life of me cannot understand what the issue is and its driving me mad.
Is there any way to work around this, ingesting the files from SharePoint via a data pipeline or uploading the files on a schedules and then converting them to tables using a notebook. Some way to avoid this nonsense.
What happens if you had to change the destination data flow to simply overwrite? and not to also. set the column tabs to auto and leave them as fixed to see if that first will solve the issue? Then I need to know it's the autumn mapping that is causing the issue
Firstly, thanks for replying and offering your help.
To test what you have suggested i created a new flow to ingest one of the excel files into the lakehouse.
Instead of setting the default data destination I manually set it to the lakehouse so I could use the UI interface to tell the flow to replace the data isntead of appending (it was already replacing in the default).
I was unsure what you would suggest when choosing dynamic vs fixed - I chose fixed as the tooltip for dynamic sounded like it could be an issue downstream if changes were ever made to the Excel (would appreciate some context to this decision too, does dynamic mean if I have measures in my custom semantic model they will be deleted if someone changes a column name in an excel?)
I left the column names as they were e.g. i kept it as "Output Category" istead of changing to "output_category". I was forced to map the datatypes as the default "Any" was not permitted if using the auto option.
The dataflow published successfully the first time, as expected, and then proceeded to refresh successfully. I added a new row to the dataset and it loaded into the lakehouse table successfully.
I created another flow to test the same process with "Dynamic" selected and it published successfully creating the tables in the Lakehouse but failed the refresh. So it seems that is the issue, though I don't understand why.
Hi @JasonArmstrong , Thank you for reaching out to the Microsoft Community Forum.
This is caused by using Dynamic schema with Auto mapping and allow for schema change, which causes the Dataflow to try and rebuild the Lakehouse table during refresh. This often fails when the Excel structure changes even slightly, especially through an On-Premises Gateway.
Configure the Dataflow to use a Fixed schema and manually map each column. Set explicit data types, avoid leaving any column as “Any”. Also, make sure the update method is set to Replace, not append. This prevents table recreation and ensures stable refreshes, as your testing already confirmed.
If your Excel files are likely to change structure in the future, consider adding a SharePoint landing folder and use a notebook to clean and standardize files before ingestion into the Lakehouse. This gives you control over schema changes without relying on fragile Dynamic settings.
If this helped solve the issue, please consider marking it “Accept as Solution” so others with similar queries may find it more easily. If not, please share the details, always happy to help.
Thank you.
Sorry to bring it up again now -
The above, previously working solution now is not working with a new error. I made a post earlier basically confirming it was working only to be met with new errors that started occuring.
Steps taken:
Error: 56107220-e43d-4cd1-bd8d-86a90f3883c3_WriteToDataDestination: There was a problem refreshing the dataflow: 'Couldn't refresh the entity because of an issue with the mashup document MashupException.Error: Error in replacing table's content with new data in a version: #{0}., InnerException: #{0} failed to get contents from '#{1}'. Status code: #{2}, description: '#{3}'., Underlying error: AzureDataLakeStorage failed to get contents from 'https://onelake.dfs.fabric.microsoft.com/260e1283-38ee-4a8a-8a97-31969b5893f8/28158a71-a986-4c84-899...'. Status code: 409, description: 'The specified path already exists.'. Details: Reason = DataSource.Error;Message = AzureDataLakeStorage failed to get contents from 'https://onelake.dfs.fabric.microsoft.com/260e1283-38ee-4a8a-8a97-31969b5893f8/28158a71-a986-4c84-899...'. Status code: 409, description: 'The specified path already exists.'.;Detail = [DataSourceKind = "Lakehouse", DataSourcePath = "Lakehouse", DataSourceKind.2 = "AzureDataLakeStorage", DataSourcePath.2 = "https://onelake.dfs.fabric.microsoft.com/260e1283-38ee-4a8a-8a97-31969b5893f8/28158a71-a986-4c84-899...", Url = "https://onelake.dfs.fabric.microsoft.com/260e1283-38ee-4a8a-8a97-31969b5893f8/28158a71-a986-4c84-899..."];Message.Format = #{0} failed to get contents from '#{1}'. Status code: #{2}, description: '#{3}'.;Message.Parameters = {"AzureDataLakeStorage", "https://onelake.dfs.fabric.microsoft.com/260e1283-38ee-4a8a-8a97-31969b5893f8/28158a71-a986-4c84-899...", 409, "The specified path already exists."};ErrorCode = 10266;Microsoft.Data.Mashup.Error.Context = User GatewayObjectId: '---'. Error code: Mashup Exception Data Source Error. (Request ID: da9bb4e4-4b37-4e9a-962e-dc421b725432).
User | Count |
---|---|
47 | |
32 | |
30 | |
27 | |
25 |
User | Count |
---|---|
56 | |
55 | |
36 | |
33 | |
28 |