Find rows not equal between two tables

Hi guys it’s me again! How can i find the way to compare two tables, and identify the rows that not equals in both tables?
for example:
table#1 i have 1511 rows
table# 2 i have 1596 rows

I know there is 1511 that match between both tables but there are 85 rows that i can’t identify.

If i use the combine table step, i don’t see option to pick NOT EQUAL or i miss undertand something.

Can you guys help me please? thanks.

Hi @omar_giancarlo, welcome back!

Finding non-matching rows existing at any point between a Table 1 column and a Table 2 column takes the transform step Find overlap:




Within the step Find overlap settings, change the default selection of match to do not match for keeping not equal rows between Table 1 Column 1 and Table 2 Column 1.







Finding non-matching rows between two tables’ columns along the same row line takes these three transform steps:

(Steps Combine Tables, Insert if/else column, and Filter rows.)

First, you’ll use a column between the two tables that they have in common and join them based on this. (If they don’t share a column with matching values, you can use the step Insert column to add in a column with row values of ‘1’ in each table after their import steps and join them with this Combine tables step this way.)



Then, you’ll insert a column that fills in rows conditionally. In my example pictures, you’d create the condition Table 1 Column 1 column is not equal to {Table 2 column 1} with the new row value being not equal. This way anytime Table 1’s column rows don’t match Table 2’s column rows, a value will be filled into the new column.



After that, you’d finish with a Filter rows step to select the new column of conditional rows (in this case Not Matching Rows) and keep rows if they is equal to the value not equal. Similarly, you can view only matching rows by selecting to keep rows if they is not equal to that value.



1 Like

Hi Adeline, Thank you for respond… Using the transform step find overlap, for some reason i have non sense result, and the other solution that you gave me i don’t know but i didn’t understand you sorry…
I tried an alternative solution
I’m working with woocommerce where i have two tables table 1 with 1511 items and table 2 with 1596 items.
The table 1 match exactly 1511 items with table 2, using the sku in both tables but i have 85 item do not match.
the found it solution was change a property of product, in this case status property, I knew that i have 1511 items that match between both tables, so i changed the status of 1511 items to private after that update the flow, I apply remove rows transform step by certain rules in this case private in the status columns. and finally identified what rows wasn’t update. 85 items. Maybe sound a little confuse but worked for me. Any way thank you for your help. I was thinking about the find overlaps transform step maybe it is a cache problem that’s why didn’t worked for me. I’m just talking. Thanks.

Hey @omar_giancarlo - Glad to hear you found a solution that works with your data! Yes, there are a few different ways to identify non-overlapping rows across two tables.

If the step Find overlap settings are set to find values in Column 1 that do not match Column 2 exactly, then it should locate not equal rows between two tables’ columns. Other settings options like do not match between columns approximately or case-sensitively can find partial matches. This may’ve caused those mentioned results, though it is hard to say without seeing the data sets.



It is interesting that the Find overlap step didn’t produce the expected results for you. If you want us to take a look at your specific data, email us at help@parabola.io and we’d be happy to help you dive in further if you’re curious. Otherwise, sounds like you’ve built a great solution for your use case.

Hi Adeline,
I’ve posted a similar issue in a separate post. but essentially I am trying to do the same thing and not getting the ‘do not match’ results. Do you know if there is a bug?

Thanks

Hi Adeline! After I found the solution that work for me I deleted both tables, so the data doesn’t exist any more, but it will be great to know why find overlap step didn’t work. I going to create again both tables and see what happen, just for curious. I will let you know when i finish. Thanks Adeline.

Yeah, same thing. It doesn’t work in the way the (poor) documentation says it should.

Hi @omar_giancarlo, @Tim_M and @NigelG! Our engineering team is looking into this and will have an update soon. I’ll be sure to provide news on this thread once they finish. We appreciate your understanding and patience with this!

Our team is also working on education materials (written steps’ documentation) so we’ll have an improved learning experience for you too.

1 Like

Hi Adeline! I created both tables again to compare rows do not match in both tables. Still doesn’t work the find overlap step. This is the url of the flow

https://parabola.io/app/flow/MD2pOKG9ed/builder?toggle=true

I must to have 1515 match rows and the find overlap step say 824 rows that match nore even close.
Thanks!

Hey all! I’m trying to reproduce this issue and cannot. With my rule set to do not match, I am able to get the results from one table that do not have matches in the other.

Can you post a link to your flow here, or email it to me at brian@parabola.io, of a flow that has a Find Overlap set up in such a way that it is not finding the appropriate number of non-matches?

If this is a bug, I’d love to repro it so that we can find a fix!

3 Likes

Hi Brian… This is link of the flow https://parabola.io/app/flow/MD2pOKG9ed/builder?toggle=true
Can you please check the find overlap step, it supposed that i have 2 rows do not match and 1515 rows that match both tables.

Hi Brian,
You can also check out mine https://parabola.io/app/flow/E39QYg69Kp/builder?toggle=true
Essentially I seem to get a higher number than what I am expecting after compaing ‘do not match’.

Thanks

@omar_giancarlo - yours is functioning fine - you just don’t have any claves that are not matched by a SKU - I added a Combine tables step, and some filters to illustrate that. I also filtered out your blanks since those just add to confusion, and left some steps to show you that the table with claves has many duplicates.

2 Likes

@Tim_M I added a combine tables step and a filter to show you why you are only getting the number of matches shown - but all looks correct to me. Some of your EAN values just do not have matches.

1 Like

great thank you so much. I’ll take a look.

1 Like

Hi Brian! You are right. the find overlap step working fine. I was wrong in the steps before. Thank you.!

1 Like