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
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
Top Kudoed Authors