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

Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.

Reply
MaximeG
Frequent Visitor

Transform specific numbers into rows

Hello,

 

In order of making data viable for analysis, I have to transform data coming from a singular value to multiple rows.

For example:

 

Country - SampleSize - Vaccinated

{Belgium - 5 - 2 , 

France - 3 - 1}

This data should become as following:

 

Belgium - Vaccinated

Belgium - Vaccinated

Belgium - Not-vaccinated

Belgium - Not-vaccinated

Belgium - Not-vaccinated

France - Vaccinated

France - Not-vaccinated

France - Not-vaccinated

 

I have been trying to make a for-loop function with SampleSize as the 'i', but I can't wonder if there isn't a more efficient way of doing so.

 

Hope you can help me and thanks!

 

 

1 ACCEPTED SOLUTION
BA_Pete
Super User
Super User

Hi @MaximeG ,

 

In Power Query, go to New Source>Blank Query then in Advanced Editor paste my code over the default code. You can then follow the steps I took to complete this:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSkrNSc8szVXSUTIFYiOlWJ1opbSixLzkVCDXGIgNlWJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [country = _t, sample = _t, vaccinated = _t]),
    chgTypes = Table.TransformColumnTypes(Source,{{"country", type text}, {"sample", Int64.Type}, {"vaccinated", Int64.Type}}),
    addUnvaccinated = Table.AddColumn(chgTypes, "unvaccinated", each [sample] - [vaccinated]),
    unpivotOthCols = Table.UnpivotOtherColumns(addUnvaccinated, {"country", "sample"}, "Attribute", "Value"),
    addList = Table.AddColumn(unpivotOthCols, "list", each {1..[Value]}),
    expandList = Table.ExpandListColumn(addList, "list"),
    remOthCols = Table.SelectColumns(expandList,{"country", "Attribute"})
in
    remOthCols

 

SUMMARY:

1) Add column with number of unvaccinated.

2) Unpivot [vaccinated] and [unvaccinated] columns

3) Add column creating list between 1 and vax/unvax value.

4) Expand list to duplicate rows.

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




View solution in original post

2 REPLIES 2
MaximeG
Frequent Visitor

Thank you very much for your help Pete!

The solution was very understandable and works perfectly.

BA_Pete
Super User
Super User

Hi @MaximeG ,

 

In Power Query, go to New Source>Blank Query then in Advanced Editor paste my code over the default code. You can then follow the steps I took to complete this:

let
    Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WSkrNSc8szVXSUTIFYiOlWJ1opbSixLzkVCDXGIgNlWJjAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [country = _t, sample = _t, vaccinated = _t]),
    chgTypes = Table.TransformColumnTypes(Source,{{"country", type text}, {"sample", Int64.Type}, {"vaccinated", Int64.Type}}),
    addUnvaccinated = Table.AddColumn(chgTypes, "unvaccinated", each [sample] - [vaccinated]),
    unpivotOthCols = Table.UnpivotOtherColumns(addUnvaccinated, {"country", "sample"}, "Attribute", "Value"),
    addList = Table.AddColumn(unpivotOthCols, "list", each {1..[Value]}),
    expandList = Table.ExpandListColumn(addList, "list"),
    remOthCols = Table.SelectColumns(expandList,{"country", "Attribute"})
in
    remOthCols

 

SUMMARY:

1) Add column with number of unvaccinated.

2) Unpivot [vaccinated] and [unvaccinated] columns

3) Add column creating list between 1 and vax/unvax value.

4) Expand list to duplicate rows.

 

Pete



Now accepting Kudos! If my post helped you, why not give it a thumbs-up?

Proud to be a Datanaut!




Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors