Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Get Fabric Certified for FREE during Fabric Data Days. Don't miss your chance! Learn more

Reply
jaryszek
Memorable Member
Memorable Member

Upsert Query in power query

Hi Guys,

 

i am looking for equivalent for upsert query like here:

https://www.access-programmers.co.uk/forums/threads/append-if-rows-do-not-exists-else-update-if-exis... 

 

Ok user has table here - TableInput:

IDAnimalColor
1DogGreen
2CatWhite

 

and in core model i have tableToCompare:

IDAnimalColor
1DogGreen
2CatBlack
3MouseRed

 

But what i want to get is:

 

IDAnimalColor
1DogGreen
2CatWhite
3MouseRed

 

so row with ID = 3 was inserted into InputTable because does not exists in tableToInput. 
And Cat which was updated in TableToInput by user to White i am keeping. So this row has been updated from black (TableToCompare) to white (TableInput). 

 

How to do this kind of operation in power query? (not power BI)

 

Please help

 

Best,
Jacek

1 ACCEPTED SOLUTION
HotChilli
Super User
Super User

Create one custom column with the logic to select the "right" Color.

Fix the  datatypes on the columns.  You don't need to return the ID and Animal if they don't change.

If it works, it works.

View solution in original post

5 REPLIES 5
HotChilli
Super User
Super User

Create one custom column with the logic to select the "right" Color.

Fix the  datatypes on the columns.  You don't need to return the ID and Animal if they don't change.

If it works, it works.

Thank you so much for tipping me,

 

Best,
Jacek

jaryszek
Memorable Member
Memorable Member

What i did as your suggestion is:

 

let
    Source = Excel.CurrentWorkbook(){[Name="TableToCompare"]}[Content],
    #"Merged Queries" = Table.NestedJoin(Source, {"ID"}, TableInput, {"ID"}, "TableInput", JoinKind.LeftOuter),
    #"Expanded TableInput" = Table.ExpandTableColumn(#"Merged Queries", "TableInput", {"ID", "Animal", "Color"}, {"TableInput.ID", "TableInput.Animal", "TableInput.Color"})
in
    #"Expanded TableInput"

 

and  what i got:

jaryszek_0-1640087642787.png

 

And now just create custom columns and check if they are the same? 
No better way? 

 

Best,
Jacek

 

jaryszek
Memorable Member
Memorable Member

thanks HotChilli. 

what you mean by column of color ? 

 

Best,
Jacek

 

HotChilli
Super User
Super User

you could start from tableToCompare and perform a merge (left outer) with TableInput on ID field.

You could then decide which column of color you prefer 

Helpful resources

Announcements
Fabric Data Days Carousel

Fabric Data Days

Advance your Data & AI career with 50 days of live learning, contests, hands-on challenges, study groups & certifications and more!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Kudoed Authors