Forum Discussion
Overwrite columns
- 9 years ago
In that case you need to merge your table (with comments) and the information from Sharepoint in a query which sends it output back to your table (which serves both as input and as output).
In order to do that, you need to have a key column (or a set of key columns) you can use to merge both tables.
So your query structure is like:
get table from Sharepoint
merge with Excel table and expand (only your comment column so the comment will be added to the table from Sharepoint)
And the output of this query is written to the Excel table.
Edit: example of a working query how it looks like in the end.
It requires some steps to set it up, as illustrated in the video that I linked in a previous post.
The name of the query is ExcelTable, so the output is used as input with the next refresh.let Source = SharepointTable, TableWithComments = Excel.CurrentWorkbook(){[Name="ExcelTable"]}[Content], #"Merged Queries" = Table.NestedJoin(Source,{"Header 1"},TableWithComments,{"Header 1"},"NewColumn",JoinKind.LeftOuter), #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"Comments"}, {"Comments"}) in #"Expanded NewColumn"
You can see the column "custom2" overwrites column "custom"
That's quite logical, as the table is output from Power Query, so if you adjust the table, than all your manual modifications will be lost once the query is refreshed.
You can prevent that to adjust the Source of your query to be that same table (instead of the original source), meaning that the input for the query will be the same table as the output.
However, you can't add further columns to the table, as these will be added each time the query is refreshed, resulting in an error as the column already exist.
Maybe you can explain further what you actually want to achieve, what is your scenario? It is already strange that your original table originates from Power Query. Typically you would have an Excel table (or an external source) as input for Power Query.
I can understand if you have an external data source with updates you want to add to your table with manual added comments, but that would be additional rows (as illustrated in the video I linked previously) and not additional columns.
- Recoba889 years agoHelper III
The data I load to PowerQuery comes from Sharepoint table.
I load it to excel worksheet and want to add a custom column with some function (It is to complicated to do it in power query editor and I prefer to do it in excell).
I want that my custom column will not be deleted when I press refresh power query (even though people my add more columns in Sharepoint that will reflects in Powerquery )
:(
- MarcelBeug9 years agoCommunity Champion
In that case you need to merge your table (with comments) and the information from Sharepoint in a query which sends it output back to your table (which serves both as input and as output).
In order to do that, you need to have a key column (or a set of key columns) you can use to merge both tables.
So your query structure is like:
get table from Sharepoint
merge with Excel table and expand (only your comment column so the comment will be added to the table from Sharepoint)
And the output of this query is written to the Excel table.
Edit: example of a working query how it looks like in the end.
It requires some steps to set it up, as illustrated in the video that I linked in a previous post.
The name of the query is ExcelTable, so the output is used as input with the next refresh.let Source = SharepointTable, TableWithComments = Excel.CurrentWorkbook(){[Name="ExcelTable"]}[Content], #"Merged Queries" = Table.NestedJoin(Source,{"Header 1"},TableWithComments,{"Header 1"},"NewColumn",JoinKind.LeftOuter), #"Expanded NewColumn" = Table.ExpandTableColumn(#"Merged Queries", "NewColumn", {"Comments"}, {"Comments"}) in #"Expanded NewColumn"- Recoba889 years agoHelper III
Thank You!