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
Pateen
Helper I
Helper I

Renamed fields in Query Editor causes error in Reports

Hi there,

 

I've a a large number of reports running off a dataset connecting to directly to SQL Server.  I've had to rename several fields to more useful names in the Query ediitor.

 

When I refresh these reports I get the following error below.

 

Is there a way of renaming fields so my reports will pick up these newly named fields dynamically?

 

 

rename.JPG

 

 

1 ACCEPTED SOLUTION
Anonymous
Not applicable

Few ways to go about this.  Since it's coming from sql I think it would be safe to assume that the order of the columns would be the same.  Going with that idea:

 

  • Create a List of desired column names in the order of the current output from sql
  • New Column Name List.png
  • to translate that table into a list you can use:
  • = Table.ToList(Source)
  • Then can add this function into a blank query:
(Source as table, Index as list, NewNames as list) =>
let
    #"Index of Old Columns" =
	List.Transform(Index, each Table.ColumnNames( Source ){_}

),
    ZippedList = List.Zip( {#"Index of Old Columns",NewNames}),
    #"Rename Columns" = Table.RenameColumns(Source, ZippedList)
in
    #"Rename Columns"

Then you can use that function in your table:

= fnRenameColumns(Source, {0..(List.Count(NewColumnNames)-1)},NewColumnNames)

Could use a few more steps to get rid of that List.Count, but this works just fine. 

Before and After.png

 

Credit to Gil Raviv and his amazing book on Power Query!

View solution in original post

2 REPLIES 2
v-piga-msft
Resident Rockstar
Resident Rockstar

Hi @Pateen ,

Have you solved your problem?

If you have solved, please always accept the replies making sense as solution to your question so that people who may have the same question can get the solution directly.

If you still need help, please feel free to ask.

Best Regards,

Cherry

 

Community Support Team _ Cherry Gao
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Anonymous
Not applicable

Few ways to go about this.  Since it's coming from sql I think it would be safe to assume that the order of the columns would be the same.  Going with that idea:

 

  • Create a List of desired column names in the order of the current output from sql
  • New Column Name List.png
  • to translate that table into a list you can use:
  • = Table.ToList(Source)
  • Then can add this function into a blank query:
(Source as table, Index as list, NewNames as list) =>
let
    #"Index of Old Columns" =
	List.Transform(Index, each Table.ColumnNames( Source ){_}

),
    ZippedList = List.Zip( {#"Index of Old Columns",NewNames}),
    #"Rename Columns" = Table.RenameColumns(Source, ZippedList)
in
    #"Rename Columns"

Then you can use that function in your table:

= fnRenameColumns(Source, {0..(List.Count(NewColumnNames)-1)},NewColumnNames)

Could use a few more steps to get rid of that List.Count, but this works just fine. 

Before and After.png

 

Credit to Gil Raviv and his amazing book on Power Query!

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