Jan 21 2021 01:26 PM - edited Jan 21 2021 01:49 PM
I transform and load a CSV file into an excel sheet using Power Query:
Column1 | Column2.1 | Column2.2 |
01.01.2021 | A | BC |
01.02.2021 | M | NO |
01.03.2021 | X | YZ |
Customer wants to maintain next column of this table ("My Col") manually:
Column1 | Column2.1 | Column2.2 | My col |
01.01.2021 | A | BC | A is first |
01.02.2021 | M | NO | M is second |
01.03.2021 | X | YZ | X is last |
So far so good. The problem is that the next day, the CSV file can come in different order of records. And after Data-Update all, the table is updated in the this new order, but the manual column remains in the original order. Then we have data mismatch:
Column1 | Column2.1 | Column2.2 | My col |
01.02.2021 | M | NO | A is first |
01.03.2021 | X | YZ | M is second |
01.01.2021 | A | BC | X is last |
What is the correct process of combining power query table columns with manually maintained columns?
Thank You!
Jan 22 2021 01:18 AM
Solution@Zdenek_Moravec Not too long ago, similar questions came up on this forum. Both were responded to by
Thought the technique to do this would come in handy but didn't think it was very straight-forward. So, I created some kind of tutorial for myself, writing the process down step-by-step. And it includes a working, tough very simple, example. See attached.
Jan 22 2021 02:24 PM - edited Jan 22 2021 02:25 PM
@Riny_van_Eekelen , I modified a bit, hope self-explainable
let
Source = Excel.CurrentWorkbook(){[Name="Source"]}[Content],
Source3 = Excel.CurrentWorkbook(){[Name="Source3"]}[Content],
SourceColumns = Table.ColumnNames(Source),
SourceColumns3 = Table.ColumnNames(Source3),
FirstTime = List.ContainsAll(SourceColumns, SourceColumns3),
Return = if FirstTime then Source else
Table.Join(
Source, SourceColumns,
Source3, SourceColumns
)
in
Return
Another table in your file.
Jan 22 2021 09:28 PM
@Sergei Baklan Nice!!
Jan 24 2021 11:51 PM
Hello @Riny_van_Eekelen and @Sergei Baklan
Your solutions are already an Excel University, but it is understandable and it really works ;)
Thank You very much!
Zdenek Moravec
Cesky Krumlov, Czech Republic
Jan 25 2021 12:32 AM
@Zdenek_Moravec , glad to help
Mar 04 2022 12:00 PM
I am a bit of novice but am able to follow. In your example, both sources are existing tables. Is it possible to replicate this if the original source is a file in a folder?
Mar 04 2022 01:13 PM
@TdotnotbotThis relates to a rather old post and I believe it relates to connecting to one source and then adding information to it manually, and keep it synchronised with the original source data. It doesn't really matter where the original file sits. What exactly are you looking at?
May 02 2022 12:00 PM
Below is a sample of the code following what I believe to be step-for-step as per instructions. When files are added and refreshed to the source folder, the manually updated rows remain in the same position in the workbook. Thank you for any help you might offer. This is driving me insane.
May 02 2022 09:04 PM
@Tdotnotbot Difficult to diagnose without having a close look at the file. First, make sure that the added column is in fact part of the table you connect to in Source2. If it's just "hanging" on to the right-hand side without being part of the table it will certainly not work.
The only other thing that comes to mind is that "SequenceNumber" in both tables are not aligned/unique. Are you sure that, for instance, an item with SequenceNumber 1 in Source2 is in fact the same item with that number in the table resulting from the #"Remove duplicates" step?
Rather than working on big tables from combined files from a folder, can you get the technique to work on a single file? Easier to debug that way.
Jun 09 2023 08:24 AM
@Sergei Baklan I didn't understand the use of the third table and how does it integrates with the rest of the solution...
Jun 09 2023 11:04 AM
Please ignore. That was attempt to use Table.Join() instead of Table.NestedJoin(). But the former not always returns correct result.
Jul 11 2023 02:58 AM - edited Jul 11 2023 02:59 AM
@Zdenek_Moravec @Sergei Baklan
In case if there is new data being added and same time we have to implement this method as well, Would it work?
Jul 11 2023 07:41 AM
Not sure I understood what do you mean exactly. If you add columns to the table returned by Power Query and your date have unique ID (or you may create it) - yest, it works.
Jan 05 2024 01:56 PM
Hi @Riny_van_Eekelen, I am running into what I'm sure is a dumb mistake but I can't figure where I'm going wrong - I'm attempting this process but keep ending up with 3 tables instead of two when trying to follow your steps
1. "Create First Table (Source)" - Table 1
2. "Query it and load to...name (Source_2)" - Table 2
3. "Query table (Source_2), now including Notes" - Table 3
It seems that following the process I should only be ending up with two tables Source and Source_2, but again I keep ending up with 3 - Any help would be appreciated, thanks!
Jan 05 2024 10:39 PM
@acemats Difficult to help without seeing what you are doing. Can you share a link (Onedrive or similar) to you file?
Jan 22 2021 01:18 AM
Solution@Zdenek_Moravec Not too long ago, similar questions came up on this forum. Both were responded to by
Thought the technique to do this would come in handy but didn't think it was very straight-forward. So, I created some kind of tutorial for myself, writing the process down step-by-step. And it includes a working, tough very simple, example. See attached.