Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
IanWaring
Helper IV
Helper IV

PowerBI: PBIX file change after migrating from Data Lake connector to Synapse Link for Dataverse?

We have been using the Data Lake connector on Dynamics 365 Finance for a year and are just about to move to using Synapse Link for Dataverse. While all the same tables are available to our PowerBI models, there is a breaking change as the data table names and field names have gone from mixed case (with the Data Lake connector) to lower case only (on Synapse Link for Dataverse). Given DAX is case sensitive, this is a breaking change for PowerBI users.

 

Is there any utility or simple method of getting all the afflicted table names and field names in a PBIX file changed to their new lower case equivalents?

2 ACCEPTED SOLUTIONS
bsheffer
Continued Contributor
Continued Contributor

This is why for all new datasources I add mcode to force the case to upper or lower (your preference)

 

Just add a step after your source step and use this code:

 

= Table.TransformColumnNames( Source, each Text.Upper( _ ) )

 

Or

= Table.TransformColumnNames( Source, each Text.Lower( _ ) )

 

That prevents changes to the case of the source table or view from affecting your datasource because of case.

 

Doing this to an existing datasource may break the reports that reference it because it will see any change in case as a new field

View solution in original post

bsheffer
Continued Contributor
Continued Contributor

your alternative (if you are using a select for your table source) is to use an explicit field list which will force the case of the field.

 

instead of select * from source use select Merchant_Name, TOTAL_SALES from source to enforce the case you want for your fields.

View solution in original post

9 REPLIES 9
bsheffer
Continued Contributor
Continued Contributor

This is why for all new datasources I add mcode to force the case to upper or lower (your preference)

 

Just add a step after your source step and use this code:

 

= Table.TransformColumnNames( Source, each Text.Upper( _ ) )

 

Or

= Table.TransformColumnNames( Source, each Text.Lower( _ ) )

 

That prevents changes to the case of the source table or view from affecting your datasource because of case.

 

Doing this to an existing datasource may break the reports that reference it because it will see any change in case as a new field

bsheffer
Continued Contributor
Continued Contributor

your alternative (if you are using a select for your table source) is to use an explicit field list which will force the case of the field.

 

instead of select * from source use select Merchant_Name, TOTAL_SALES from source to enforce the case you want for your fields.

Smiling - as you should see the number of fields your average table in D365 Finance shovels over the wall!

lbendlin
Super User
Super User

Given DAX is case sensitive, this is a breaking change for PowerBO users.

DAX is not case sensitive. Power Query is case sensitive.

Feedback accepted - but the PBIX files built using Data Lake remain unusable until you edit every mixed case table and field name to lower case, which is a considerable amount of no-value work. Hopefully there's a more productive way to fix this rather than changing everything or starting from stratch.

Agree, this should not be necessary, it is extra idle work.  If you have a Pro license you can open a Pro ticket at https://admin.powerplatform.microsoft.com/newsupportticket/powerbi
Otherwise you can raise an issue at https://community.fabric.microsoft.com/t5/Issues/idb-p/Issues .

(thinks - we have Premier Support in place, but thought that was for defects only)

 

what do you call this if not a defect?

Defect but acknowledged as a breaking change by the dev team in Seattle - so will park things there. I appear to be a lonely voice but it looks like it's easier to rebuild from scratch, not least as some of the enumerated fields no longer need multiple joins to extract their meaning (eg: vendor or customer account numbers to their names).

I really appreciate the help. Thank you.

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors
Top Kudoed Authors