https://www.gumloop.com/pipeline?workbook_id=8yLqwmX45GctiPELtvrVee&run_id=PR9CPQN3jFXh7tGp6Qty6K
The issue from what I can tell seems to be that the Sheet node brings in additional blank/empty cell data by default (Would probably be easier to filter the data in the node itself?) and all the flattening and filtering doesn’t appear to work, at least with the instructions given.
Yes, I can manually restrict the number of cells it brings in, but the number of cells it’s going to bring in is going to change.
I’m trying to do a basic calculation on this example data: There are 88 values, ignore the 3 of them that equal “6”, and out of the other 85, what % are below “1.99”? (there are 20, so the % is 23.53%) and I can’t get a correct answer and have used up two thirds of my credits trying.
Gummie was certainly helpful, as I’m starting out on AI agents and asking a lot of learner questions, a really great addition, but it also halloucinated one solution that didn’t exist. Also, I’m wondering if it really does take 5 nodes to get a column of info out and analyzed or if not the way I’ve stumbled on from gummie.
Anyways, Here’s Gummie:
Gummie
Looking at the logs from your current run, I can see exactly what’s happening. The Google Sheets Reader node is reading 100 rows from your sheet, and the Extract Data node is processing all of them (you can see 100 “Extracted Item” entries in the logs).
To verify this:
-
In your Google Sheets Reader node, check if there are empty rows being included
-
You can add a parameter for “Number of Rows” if you want to limit it to exactly 88 rows
-
Or use the Filter node after the Extract Data to remove any empty or invalid values
This should give you the exact 88 numbers you’re expecting to analyze.
Add these nodes to the canvas directly:
Google Sheets Reader
Extract Data
Filter
You
how do i use filter node to remove any empty or invalid values
Gummie
To use the Filter node to remove empty or invalid values, configure it like this:
-
Set “condition_type” to “Is not empty”
-
Enable “output_blank_value” if you want to keep the flow moving even when values are filtered out
Place the Filter node right after your Extract Data node, before the Flatten List of Lists. This will ensure only valid numeric values continue through your flow.
If you still see unexpected values, you might need to chain another Filter node with different conditions to catch other invalid cases. Let me know if you need help with additional filtering conditions.
You
if i put filter node beofre the flatten list of lists it gives me a type error
Gummie
Ah yes, that’s because the Extract Data node outputs a List of List of text
but the Filter node expects text
. Here’s how to fix the order:
-
Keep Flatten List of Lists first (it converts
List of List of text
toList of text
) -
Then add the Filter node (it can now process the
List of text
) -
Then continue to Join List Items
So the flow should be:
Extract Data → Flatten List of Lists → Filter → Join List Items → Ask AI → Google Docs Writer
This order will maintain correct type matching while removing empty values.
You
why is my filter node asking for a filter by?
Gummie
The Filter node is asking for a “condition_type” because it needs to know what criteria to use for filtering. For your case:
-
Set “condition_type” to “Is not empty”
-
Leave “condition_value” empty
-
Set “output_blank_value” to false
This tells the node to only pass through values that have content, removing any empty or null values. You don’t need to specify a “filter by” value since you’re just checking for empty values.
If you’re seeing a different parameter, let me know exactly what the Filter node is asking for and I can help adjust the settings.
You
no it says there is an issue with the input of the filter node
Gummie
Ah, I see the issue. The Filter node requires two inputs:
-
filter_by
: The value to check against the condition -
input1
: The actual content you want to filter
In your case, since you want to filter the same values you’re checking, connect the output from Flatten List of Lists to BOTH inputs of the Filter node:
-
Connect
list
output tofilter_by
-
Connect
list
output toinput1
This way, each value will be checked against itself for the “Is not empty” condition. This should resolve the input error you’re seeing.
You
running flow still shows 100 numbers even though there are only 88, even after adding filter to filter out empty values.
Gummie
Looking at your flow logs, I can see that the Google Sheets Reader node is reading all 100 rows from your sheet. Let’s verify the data and fix this:
- First, check your Google Sheet:
-
Are there actually empty rows at the end of your sheet?
-
Does the “cost” column have any blank cells?
- In the Google Sheets Reader node:
-
Add “Number of Rows” parameter to limit to exactly 88 rows, or
-
Set a specific “Row Range” to only read the rows with data
- Alternatively, you could modify the Ask AI prompt to be more explicit:
given these exact numeric values, with no rounding, provide:
1. The total count of numbers
2. The exact count of numbers that equal 6
3. Among numbers not equal to 6, calculate the exact percentage that are less than 1.99
4. List the exact values (no rounding) that are less than 1.99 in ascending order
Let me know which approach you’d prefer to try first.
You
there are empty rows but i don’t want to have to specify the number of row as that will change
Gummie
In that case, let’s modify the Filter node to be more specific about what constitutes a valid value. Instead of just “Is not empty”, we can use:
-
Set “condition_type” to “[Text] Contains”
-
Set “condition_value” to “.”
This will only pass through values that contain a decimal point, which should catch all your valid numeric values (since they’re all decimals) and filter out empty rows or non-numeric values.
If you still see issues, we could also try “[Number] Is greater than” or “[Number] Is less than” conditions to ensure we’re only getting numeric values. Let me know if you want to try either of these alternatives.
You
some of my values don’t have a decimal point though
Gummie
Ah right, sorry - you have whole numbers like 6! Let’s use a different filter condition that will catch all valid numbers:
In the Filter node:
-
Set “condition_type” to “[Number] Is a number”
-
No need for a “condition_value”
This will keep all numeric values (both decimals and whole numbers) and filter out empty rows or non-numeric values. This should give you exactly 88 numbers when the AI counts them.
You
I don’t see “[Number] Is a number” in the filter node
Gummie
You’re right, I apologize. Looking at the actual options in the Filter node, let’s try this instead:
-
Set “condition_type” to “[Text] Does not contain”
-
Set “condition_value” to “null”
Or alternatively:
-
Set “condition_type” to “[Text] Contains”
-
Set “condition_value” to “-” (this would match any negative number) OR “0” OR “1” OR “6” (matching any digit that appears in your valid numbers)
Let me know if you want to try a different condition - I can see from the node parameters that the available condition types are:
-
Is empty
-
Is not empty
-
[Number] Is greater than
-
[Number] Is less than
-
[Number] Is equal to
-
[Boolean] Is true
-
[Boolean] Is false
-
[Text] Contains
-
[Text] Does not contain
-
[Text] Is in
-
[Text] Is not in
-
[Text] Starts with
-
[Text] Does not start with
-
[Text] Ends with
-
[Text] Does not end with
You
what are the operators available in the condition_value field
Gummie
In the Filter node’s “condition_value” field, you can use these operators:
-
AND - use “AND” between conditions
-
OR - use “OR” between conditions
-
NOT - use “NOT” before a condition
-
Parentheses () for grouping
For your case, since you want to match any valid number, you could try:
"-" OR "0" OR "1" OR "6"
This would match any value containing these digits. You can expand this pattern to include other digits that appear in your valid numbers.
Let me know if you want to try a different combination of operators or conditions!