ADF\Synapse Analytics – Replace Columns names using Rule based mapping in Mapping data flows

This post has been republished via RSS; it originally appeared at: New blog articles in Microsoft Community Hub.

In real time, the column names from source might not be uniform, some columns will have a space in it, some other columns will not.

For example,

  • Sales Channel
  • Item Type,
  • Region
  • Country
  • Unit Price

It is a good practice to replace all the spaces in a column name before doing any transformation for easy handling. This also helps with auto mapping, when the sink column names do not come with spaces!


Select transformation in data flow makes it simpler to automatically detect spaces in column names and then remove them for the rest of the dataflow.


Consider the below source, with the given column names.


Screenshot 2024-01-25 at 3.11.13 PM.png


Here as we can see, few columns have spaces, few columns like Region and Country do not have spaces in it. 


Using the below configuration in select transformation, we can get rid of the spaces in the column names with a simple expression. 


In the Input columns, Click on Add mapping button, and choose Rule-based Mapping.

Screenshot 2024-02-22 at 4.42.57 PM.png

Then give the below expression:

on Source1's column: true()

on Name as column: replace($$,' ','')


Screenshot 2024-01-25 at 3.10.04 PM.png

What it does?

It will return true() for all the columns which have ' ' (space) in it and replace it with '' (no space).

Upon data preview, we get to see the below result,


Screenshot 2024-01-25 at 3.17.50 PM.png


As we are seeing here, all the columns with spaces are coming without spaces in between. 

If not for the Rule based mapping, one would have to manually remove space from all the columns. It would be a nightmare if the number of columns are more! Thanks to rule-based mapping!

Leave a Reply

Your email address will not be published. Required fields are marked *


This site uses Akismet to reduce spam. Learn how your comment data is processed.