COMPLEX ARRAY FILTERING ISSUE - How To Compare Multiple Arrays Together In a Filter?:



How can I setup each filter route, seen in photo 1 above to evaluate and compare arrays together? In the second photo, using the existing customer route filtering example, I need to look at 1 array in the first condition box which is my Search Quickbooks Customers" array ( 64. Array[ ]" ) & compare that condition box with the two arrays in the condition box below ( 67. Array[ ] 72. Array[ ] ), those two arrays are my individual contacts in a single list in Clickup, and the other array in that condition box is my businesses contacts list in Clickup, so they have to be two separate aggregations.

So there are a few questions, how do I string arrays together properly and how can I compare entire arrays together, I can’t input a specific position of the arrays because I need things to be kept dynamic. Basically I need to evaluate if a customer exists in my project management app & my Quickbooks, then just update their information, otherwise, create a new customer.

As your need is to evaluate if a given customer exists or not in your app, you need to look up in your customer array (that you can obtain as a customer array at the begining of the process)) if your given customer exists in that array or not.

I prepare this example scenario where:
1.- I set up a customer’s array (in your scenario you should get from your project managment before processing one by one customer).
2.- I set up a customer to process it (let’s see if insert or update it).
3.- I decide if the customer is in the customer’s array with the help of the filters.

The formula I think you need is in the filters after router.

I hope this help you.

1 Like

Provoking Pro User Feedback On Complex Problem Solved:

Important note on filtering

Firstly and importantly, when it comes to filtering, it’s important to note the order of the filtering choices. If you were to switch the values in the condition boxes seen in the image below to be reversed, e.g. task name in the second condition box instead of the first, the filtering result will act entirely differently, this is very important to note.

My exact issue and how I solved it

Thanks to the amazing help of Domingo, who graciously helped me out with this problem, I have now solved it. The solution he has provided above, I believe works well with the scenario I poorly explained or incorrectly explained at the top (the beginning of this thread), I left out some important information. The solution above did not work for my exact scenario, however that’s only because I forgot to include some important pieces of info in my original post on this thread. The specific and exact problem is stated below and it was very tricky to solve. I hope this helps other users.

In my example we have a task for a clients project inside of a project management app (Clickup) and we’d like to have inside of the task name more then just the clients name, e.g. the task name would look something like this “ #### Project – JOHN DOE “, instead of “JOHN DOE”.
I need to search through the aggreagation module of my quickbooks customers for JOHN DOE, then I need to compare that to see if that name is found anywhere within any Clickup task name title, e.g. “ #### Project JOHN DOE “. In the image below in the second condition box, (102. DisplayName), that value is from an iterator. If I were to replace that value instead of being from the iterator and choose the entire array of the quickbooks aggregator module, I would not find what I’m looking for and the filter would not work because if you’re selecting an entire array, then if my sentence reads “### - Project JOHN DOE” the filter will not find the “JOHN DOE” (case sensitive or not) text from that sentence and be able to determine if there is a duplicate, which is my entire end goal. My assumption is that’s because you’d be asking the filter to look for a value (case sensitive or not) within an entire array. When you use the iterator instead of searching through an entire array, the iterator goes in my understanding one by one down the lines of an array, because it goes down one by one, it can grab the one name and determine if there is a duplicate value if I choose in the condition operator to say “Contains case insensensitive” which because of the contains term, the filter would allow me to find JOHN DOE within a sentence, e.g. : #### Project – JOHN DOE “.

Summary, I wanted to detail everything above for anyone this might help and I would also really appreciate if this provoked a discussion from some pro users who know much more about this then I do. The crux of what I was trying to do at first which failed, was take two arrays and if the one array my quickbooks customers had the name “JOHN DOE” in it and the other array my Clickup tasks array had the “JOHN DOE” name in it but was inside of a sentence, e.g. “ #### Project – JOHN DOE ”, I wanted to know that JOHN DOE was found in my quickbooks customers and in my Clickup project tasks. When I chose an array from the quickbooks aggregation in the second condition box seen in the image below, even when I tried manually mapping to items, the result was incorrect or empty depending on what I tried. The only way I got this to work was to iterate the quickbooks customers and use the iterator value to then do what I need in my example above.

If you need more context then what I’ve provided below, I’ll gladly summarize and reply because I think this was too hard for me to learn as a basic user. Sorry for any poor punctuation or grammar, in a rush atm… Cheers.