I am looking for a way to compare two array objects. Both the objects have email address and I want only those email address that are unique to the second one.
For example -
Array1 - [ test@abc.com, test1@abc.com, new@xyz.com]
Array2 - [ test@abc.com, test1@abc.com, test2@xyz.com]
What I want is -> test2@xyz.com.
Basically opposite of intersection operation.
If not with array, is it possible to get this using string?
Hi @Garima,
Do you want to compare two array objects and find the unique elements within the second array?
I have made a test on my side and please take a try with the following workaround:
["test@abc.com","test1@abc.com"," new@xyz.com"]
["test@abc.com","test1@abc.com","test2@xyz.com"]
@contains(variables('Array1'), item())
Within "If/no" branch of Condition, add a "Append to array variable" action, Name set to UniqueEmails variable, Value set to following formula:
item()
Image reference:
The flow works successfully as below:
More details about using expression in flow actions, please check the following article:
Use expression in flow actions
If you want to compare two strings (compare characters within two strings), I afraid that there is no direct way to achieve your needs in Microsoft Flow currently.
Best regards,
Kris
This is awesome! thank you.
Question: what if i wanted to find unique records based on a difference in a single field?
for example
if Array1 has a "Title" Field and an "Email" field
and Array 2 has a "Title" field and an "Email" field
I want to populate ArrayUniqueEmails only where the title doesn't exist?
Can this be done?
I would like to know this too
Hi, @v-xida-msft , this looks great ... however there's no option to edit the condition in advanced mode. How do we get there?
EDIT --
Figured it out, I'm an idiot, but others may be as dumb as me.
Eliot just so you know there are others as I have been struggling with this but your simple solution should work for me.
Thanks.
You can watch this video to resolve your issue.
Also request you to please subscribe this PowerAutomate channel
I actually found a better way for comparing two arrays without Apply to Each loop
equals(length(intersection(variables('Array 1'),variables('Array 2'))),length(variables('Array 1')))
Nicely done nitinkhubani
But then you only know if the lengths of the arrays are different. But you still need the values from Array2.
True MVP! This is the fastest way to compare two arrays and return the difference from one of them.
You can repeat the function and swap out the sources in the From and Contains parameters to return the difference for both.
I must have seen a dozen different solutions from Microsoft support staff that could not provide this elegant formula. THANK YOU!
Great, thanks for your reply!
I had to compare a property after parsing JSON and you're solution using "contains" helped me compare items between arrays.
The first Microsoft-sponsored Power Platform Conference is coming in September. 100+ speakers, 150+ sessions, and what's new and next for Power Platform.
Announcing a new way to share your feedback with the Power Automate Team.
Learn to digitize and optimize business processes and connect all your applications to share data in real time.
User | Count |
---|---|
43 | |
18 | |
16 | |
15 | |
13 |
User | Count |
---|---|
69 | |
37 | |
28 | |
21 | |
19 |