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

July 7 - July 17 | Round 2 of the Power BI Dataviz World Championships. Don't miss your chance! Learn more

Reply
JB
Helper II
Helper II

Extract and Pivot Text String Column

Hello, how would I go about turning the table on the left into the table on the right? Is there a way to extract the values from a cell and turn them into new rows? 

Many thanks. 

JB_0-1679317396905.png

 

1 ACCEPTED SOLUTION
jennratten
Super User
Super User

Hello - yes, this can be done by splitting the fruits column into new rows, like this:

SCRIPT

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WciwoyEkt1lEISE0sglDJGanFSjpKxkqxOtFKTol5QAiUcM5Pzs8rLQEpycxLTQTrAqoyUYqNBQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Fruits = _t, Quantity = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Fruits", type text}, {"Quantity", Int64.Type}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Fruits", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Fruits"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Fruits", type text}})
in
    #"Changed Type1"

RESULT

jennratten_0-1679317858373.png

 

View solution in original post

3 REPLIES 3
jennratten
Super User
Super User

Hello - yes, this can be done by splitting the fruits column into new rows, like this:

SCRIPT

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WciwoyEkt1lEISE0sglDJGanFSjpKxkqxOtFKTol5QAiUcM5Pzs8rLQEpycxLTQTrAqoyUYqNBQA=", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Fruits = _t, Quantity = _t]),
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Fruits", type text}, {"Quantity", Int64.Type}}),
    #"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Changed Type", {{"Fruits", Splitter.SplitTextByDelimiter(", ", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Fruits"),
    #"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"Fruits", type text}})
in
    #"Changed Type1"

RESULT

jennratten_0-1679317858373.png

 

Perfect, thanks!

You're welcome!

Helpful resources

Announcements
FabCon and SQLCon Barcelona 2026

FabCon & SQLCon – Barcelona 2026

Join us in Barcelona for FabCon and SQLCon, the Fabric, Power BI, SQL, and AI community event. Save €200 with code FABCMTY200.

60 days of Data Days Carousel

Data Days 2026

Join Data Days 2026: 60 days of free live/on-demand sessions, challenges, study groups, and certification opportunities.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Top Solution Authors