Forum Discussion
Merging Rows in Power Query
- Jul 24, 2021
SumairChughtai Perhaps like in the attached file. I assumed that the raw looks like in the blue table. The Power Query output is in the green table, using only standard UI commands.
When you say:
Need to learn how to merge a row in data table when a record is broken into two rows
I don't see that in your sample file
(looking at Transaction number and Reference fields/columns),
so in what context does the above statement refer to?
cheers
I would like to merge them as in the attached excel file.
The red font indicates what the data is in its original form.
The yellow highlighted is how I want the data to end up as one complete record.
Thank you for your interest in the problem.
Regards,
Sumair
- LorenzoJul 24, 2021Silver Contributor
The kind of issue that definitively requires > 1 example... Put together something (attached) with what you provided + added a couple of extra broken records
NB: When a [Transaction Number] is broken as 2 records (what you gave us with: when a record is broken into two rows)
- The 2 records must be consecutive in the Source Table/file (otherwise I don't see how you're going to resolve this...)
- The 2nd partial record is "added" to the 1st available location in the previous record- SumairChughtaiJul 24, 2021Copper Contributor"The 2 records must be consecutive in the Source Table/file (otherwise I don't see how you're going to resolve this...)"
Yes. These are two consecutive records in the master data file that I'm working on.
"The 2nd partial record is "added" to the 1st available location in the previous record"
Kindly educate me on how to achieve that in Power Query- LorenzoJul 24, 2021Silver Contributor
Riny_van_Eekelen used the following table structure as input/Source:
and I used a different one:
At the end we get what you expect BUT the approaches (while similar) are necessarily different
So could you please clarify 2 things:
- What's the exact structure of your input/Source table? Riny's one? Mine or something else?
Could you post a picture (a few rows only) of you actual input/Source table to clarify things- What do you exactly have in mind when you say "Kindly educate me on how to achieve that in Power Query"?
Thanks
- SumairChughtaiJul 24, 2021Copper Contributor
Lorenzo That is exactly how I like the data to be. Kindly share how you were able to get to this form in Power Query.
Thank You!
- Yea_SoJul 24, 2021Bronze Contributor
So you're basically saying the report looks like this:
am I understanding it correctly?
- SumairChughtaiJul 24, 2021Copper Contributor
Yea_So Thank you for your suggestion. But this is not how I would like the data to be.
The solution that Riny and L.z have come up with is what I'm after.
Perhaps I wasn't able to define the problem correctly.
Thank you for your input.
- Yea_SoJul 24, 2021Bronze Contributor
I have not made any suggestions yet, I am still trying to clarify what the source data structure/geography with you so to clarify:
1. The above image is what your source data looks like "Consistently"
The expected answer from you is either a yes consistently or no it is inconsistent.
If the answer is the former and not the later, then the approach would be a
Option 1
1. loop function in PQ evaluating each row, where the Transaction number can be had for the 2nd row for all row/records in the second row,
2. Do a Table.SelectRows() on the main table to create 2 tables.
first Table.SelectRows() will be the table for the first row.
second TableSelectRows() will the the table for the 2nd row
3. Do a merge query using the Transaction number to match all rows for the table on the right and table on the left
4. Remove the excess columns then rename the columns for the second table.
References:
PQ For Loops: https://www.data-insights.de/part-3-for-next-loop-using-list-accumulate-in-m-for-power-query/
Example for PQ evaluating rows Using IF, AND, OR and TableSelectRows()
https://www.youtube.com/watch?v=twgcfuJx1sU
Option 2
1. Would be to put formulas on the 2nd row referencing the Transaction Number on the first row on the source table,
2. Do a PQ on the source table the source table
3. Create a reference copy of the PQ on the source table
4. Filter out the 2nd row on the PQ to the source table
5. Filter out the 1st row on the reference table of the PQ to the source table
6. Do a merge query on PQ of source table and the reference table.
Option 3 Data Model:
1. Would be to put formulas on the 2nd row referencing the Transaction Number on the first row on the source table,
2. Do a PQ on the source table the source table
3. Create a reference copy of the PQ on the source table
4. Filter out the 2nd row on the PQ to the source table
5. Filter out the 1st row on the reference table of the PQ to the source table
6. Add to the data model
7. Create Relationships
8. Add columns to table 2 using the DAX RELATED() FUNCTION
9. Create a Power Pivot
cheers