Don't miss your chance to take the Fabric Data Engineer (DP-600) exam for FREE! Find out how by watching the DP-600 session on-demand now through April 28th.
Learn moreJoin the FabCon + SQLCon recap series. Up next: Power BI, Real-Time Intelligence, IQ and AI, and Data Factory take center stage. All sessions are available on-demand after the live show. Register now
Hi There
I have a several tables in one form that I need to split via power query
What steps do I need to take?
Thanks for any help?
| [Table: 1] | ||||||
| SubmissionID | FormID | FormName | CreatedDate | SubmittedDate | UserID | UserName |
| [Table: 2] | ||||||
| SubmissionID | EntryID | Name | Value | |||
| [Table: 3] | ||||||
| SubmissionID | EntryID | Index | Group | RowType | Column | Value |
| [Table: 4] | ||||||
| SubmissionID | EntryID | Product | Field | Column | Value | |
Do you have several tables in several queries or all the tables are in one query?
Hi @Babycakes_00 ,
You can create a column in this table which you can use to filter for referenced tables. So your original table, lets call it 'SourceTable' will have a column added like this:
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45Wig5JTMpJtVIwjFXSUUJHsTrRSsGlSbmZxcWZ+XmeLkAxt/yiXDjDLzE3Fch0LkpNLElNcQESQB5YQwmCH1qcWgTWAWKAdYCMxWEbDmGYK42IdKVrXklRJZgFdWJYYk5pKlFWkecwY5Id5pmXkloBpN2L8ksLgHRQfnlIZQE4OPNzSnPz4I4mwnYTkm0PKMpPKU0uAcVjZmpOCqatIANiAQ==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Column1 = _t, Column2 = _t, Column3 = _t, Column4 = _t, Column5 = _t, Column6 = _t, Column7 = _t]),
repBlankNull = Table.ReplaceValue(Source,"",null,Replacer.ReplaceValue,{"Column1", "Column2", "Column3", "Column4", "Column5", "Column6", "Column7"}),
// Relevant steps from here ====>
addTableName = Table.AddColumn(repBlankNull, "TableName", each try if Text.Contains([Column1], "Table:") then [Column1] else null otherwise null),
fillDownTableName = Table.FillDown(addTableName,{"TableName"})
in
fillDownTableName
Which looks like this:
You can then disable load on this table, but reference it for the split-out tables, something like this:
let
Source = Table.SelectRows(SourceTable, each Text.Contains([TableName], "1"))
in
Source
Unfortunately, it's very difficult to do this any more dynamically as Power Query can not spawn new queries within itself.
Pete
Proud to be a Datanaut!
Check out the April 2026 Power BI update to learn about new features.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.
| User | Count |
|---|---|
| 3 | |
| 3 | |
| 2 | |
| 2 | |
| 2 |
| User | Count |
|---|---|
| 5 | |
| 4 | |
| 4 | |
| 4 | |
| 4 |