Starting December 3, join live sessions with database experts and the Microsoft product team to learn just how easy it is to get started
Learn moreGet certified in Microsoft Fabric—for free! For a limited time, get a free DP-600 exam voucher to use by the end of 2024. Register now
Hi,
I want to split data available in 2 columns. It seems to be not straightforward, as I want multiple entry text data in a single cell (Column 1) to be mapped against same row Column 2 data, so that parallel data in consecutive cells gets mapped against each other.
E.g.:
Column 1 | Column 2 |
1. Sam 2. John | Engineer Architect |
I want final result as:
Column 1 | Column 2 |
Sam | Engineer |
John | Architect |
Can someone help urgently?
Solved! Go to Solution.
This is my solution. You may have a try!
let
Source = Excel.CurrentWorkbook(),
Table2 = Source{[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Table2,{{"Contact name", type text}, {"Job Title", type text}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Contact name] <> null and [Contact name] <> ""),
Custom1 = Table.FromColumns(List.Transform(Table.ToColumns(#"Filtered Rows"), each List.Combine(List.Transform(_, each Text.Split(_, "#(lf)")))), {"Contact Name", "Job Title"})
in
Custom1
From
into
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
Use this query as your next step. Replace Source with your previou step name.
= Table.FromRecords(List.Transform(Table.ToRecords(Source), (x)=> Record.TransformFields(x, {"Column1", each Text.Trim(Text.AfterDelimiter(x[Column1], ".", 0))})))
Hi Vijay - not clear. These are my column names "Contact name" and "Job Title". Can you pls. suggest complete step that can give the desired result from the existing format.
I tried this (but error):
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = Table.FromRecords(List.Transform(Table.ToRecords(Source, {{"Contact name", type text}, {"Job Title", type text}}), (x)=> Record.TransformFields(x, {"Contact name", each Text.Trim(Text.AfterDelimiter(x[Contact name], ".", 0))})))
in
#"Changed Type"
Use this
let
Source = Excel.CurrentWorkbook(){[Name="Table2"]}[Content],
#"Changed Type" = Table.FromRecords(List.Transform(Table.ToRecords(Table.TransformColumnTypes(Source,{{"Contact name", type text}, {"Job Title", type text}})), (x)=> Record.TransformFields(x, {"Contact name", each Text.Trim(Text.AfterDelimiter(x[Contact name], ".", 0))})))
in
#"Changed Type"
Still this error:
Please upload an Excel file with dummy data with the query applied to any file hosting service such as Onedrive, Google drive, Box, Dropbox...and share the link here
Hi Vijay - here is the data.
Original Data | ||
Contact name | Job Title | |
1. Sam Kennedy 2. John Kennedy | 1. Software Engineer 2. Manager | sam.kennedy@xxx.com john.kennedy@xxx.com |
This is my solution. You may have a try!
let
Source = Excel.CurrentWorkbook(),
Table2 = Source{[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Table2,{{"Contact name", type text}, {"Job Title", type text}}),
#"Filtered Rows" = Table.SelectRows(#"Changed Type", each [Contact name] <> null and [Contact name] <> ""),
Custom1 = Table.FromColumns(List.Transform(Table.ToColumns(#"Filtered Rows"), each List.Combine(List.Transform(_, each Text.Split(_, "#(lf)")))), {"Contact Name", "Job Title"})
in
Custom1
From
into
Best Regards,
Jing
If this post helps, please Accept it as Solution to help other members find it. Appreciate your Kudos!
Starting December 3, join live sessions with database experts and the Fabric product team to learn just how easy it is to get started.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early Bird pricing ends December 9th.
User | Count |
---|---|
24 | |
12 | |
11 | |
11 | |
8 |
User | Count |
---|---|
43 | |
25 | |
16 | |
15 | |
12 |