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

Power BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.

Reply
martysk
Helper I
Helper I

Split column into two columns

Hello all,

martysk_1-1693469091719.png

 

Im trying to split the data in a column "Value" into two collumns:

1. Value - will contains numbers only

2. Type - will contains all the text (Solid, Liquid, etc) in line with the corresponding Attribute

 

Table which I want to achieve should look like this:

martysk_2-1693469298258.png

 

Ive tried Split column option, but cant make it work.

It works when using Column from example, but when I add new items (attribute and value), it wont recognize and assign wrong value to Attribute - so no GO option for me.

 

Any idea is appreciated.

Thanks

 
1 ACCEPTED SOLUTION
mlsx4
Memorable Member
Memorable Member

Hi @martysk 

 

  1. Trim Attribute column (just to avoid extra "space" characters)
  2. Create a conditional column: if attribute = "Excalibur" then return "Solid" and so on...
  3. Remove first 4 rows

View solution in original post

8 REPLIES 8
slorin
Super User
Super User

Hi,

 

let
Source = Your_Source,
Custom1 = List.RemoveFirstN(Table.ColumnNames(Source),5),
Custom2 = List.RemoveFirstN(Record.ToList(Source{0}),5),
Data = Table.AddColumn(Source, "Data", each Table.FromColumns({ Custom1 , Custom2, List.RemoveFirstN(Record.ToList(_),5)})),
Custom3 = Table.RemoveColumns(Data,Custom1)
in
Custom3

then Expand

Stéphane

 

 

JoeBarry
Solution Sage
Solution Sage

Hi @martysk 

 

Please provide a screenshot of the table before you unpivoted.

 

thanks

Joe

martysk_0-1693485309950.png

@JoeBarry This is how data looks like before unpivoted (screenshot from excel)

 

mlsx4
Memorable Member
Memorable Member

Hi @martysk 

 

  1. Trim Attribute column (just to avoid extra "space" characters)
  2. Create a conditional column: if attribute = "Excalibur" then return "Solid" and so on...
  3. Remove first 4 rows

Thanks @mlsx4,

I understand the point of making the conditional columns, but in the future I will have more new attributes  + values added and I want system to automatically recognize and link it with new value

mlsx4
Memorable Member
Memorable Member

And the point of create a duplication of the table after unpivot, filter (null values) for just keeping this: 

mlsx4_4-1693485788945.png

As a master table, and then combine values on the original one (having previously filtered out the null values)

martysk
Helper I
Helper I

Thanks @wdx223_Daniel 

Ive tried to add custom column with the command u have provided, but it doesnt aligned right attributes with right values (ie: Excalibur is linked with Liquid, but should be Solid)

 

see picture below

 

martysk_0-1693474574165.png

 

wdx223_Daniel
Super User
Super User

NewStep=Table.AddColumn(Table.Skip(#"Unpiovted Other Columns",4),"Type",Function.ScalarVector(Value.Type(each _) as any,(t)=>let a=#"Unpiovted Other Columns"[Value] in List.Repeat(List.FirstN(a,4),List.Count(a)/4-1)))

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

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

Top Solution Authors