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
Oddy
Frequent Visitor

Power Query - Dynamically Split a Table based on a column into multiple Child Tables

I have a table in a dataflow in Power Query - Called the Master Data

 

Oddy_0-1713343293903.png

Example Above

 

I want to be able to dynamically split this table based on the names of this fake data:

Oddy_1-1713343341995.png

Each name will get their own table dynamically created based on the Master Data;

For example:

Oddy_2-1713343432471.png



The reason that it needs to be dynamically made rather than manually made is simply because there are over 60 tables that will change over time, they'll increase and decrease and I want to store different peoples' information in a Data Warehouse for analysts to be able to just select who they want and move on - and I don't want them to be able to select the master data. 

 

Is this achievable? 



e/ Json snippet of the master data for those who want to give something a go:

let
  Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s3MTlXSUQpPLEnOANKGBgZKsTpwYef8tLTUVAXn0gIgxwgqF5SfnloE5Adk5OeBFBmaQsSDMxKL8vOQJYxQDAPboWCETYd3Zl5KDliLCUTGMTc1JzMRKOCbX1oMljADSsQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Product = _t, Spend = _t]),
  #"Changed column type" = Table.TransformColumnTypes(Source, {{"Name", type text}, {"Product", type text}, {"Spend", Int64.Type}})
in
  #"Changed column type"

 

1 REPLY 1
dufoq3
Community Champion
Community Champion

Hi @Oddy, power query can't create new query for you - it can just update existing query (for example it can create separate table for every name but only inside same query - see code below). But to be honest - why do you want to create new separate table for every name when you can just filter existing master table.

 

dufoq3_0-1713358265155.png

 

let
  Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8s3MTlXSUQpPLEnOANKGBgZKsTpwYef8tLTUVAXn0gIgxwgqF5SfnloE5Adk5OeBFBmaQsSDMxKL8vOQJYxQDAPboWCETYd3Zl5KDliLCUTGMTc1JzMRKOCbX1oMljADSsQCAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Name = _t, Product = _t, Spend = _t]),
    ChangedType = Table.TransformColumnTypes(Source,{{"Spend", type number}}),
    CreateSeparateTables = List.Transform(List.Distinct(ChangedType[Name]), (x)=> Table.SelectRows(ChangedType, each [Name] = x))
in
    CreateSeparateTables

 


Note: Check this link to learn how to use my query.
Check this link if you don't know how to provide sample data.

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.