3.3 Filter Tool & True/False Anchors
Key Takeaways
- The Filter tool partitions incoming records into two dedicated output anchors: T (True) for records meeting the condition and F (False) for records failing the condition.
- The Filter tool enforces complete record conservation: total input records always equal the sum of records exiting the True and False anchors (Total Input = T + F), ensuring zero data loss.
- Basic Filter mode provides a no-code interface for single-condition rules on a single column, whereas Custom Filter mode allows multi-condition boolean logic using AND, OR, NOT, and built-in functions.
- When an evaluated field contains a Null value in a comparison expression, the condition evaluates to False/Null, routing the record out the False (F) anchor unless explicitly handled with IsNull() or !IsNull().
- The False anchor does not merely contain records meeting the opposite condition; it also captures records with Null values and non-matching data types.
3.3 Filter Tool & True/False Anchors
Core Concept: The Filter tool bifurcates a data stream into two distinct output streams based on conditional criteria. Unlike database
WHEREclauses or spreadsheet filters that discard non-matching rows, Alteryx routes matching records to the T (True) anchor and non-matching records to the F (False) anchor. This dual-output architecture enables parallel processing, exception logging, and multi-tier data routing without losing a single record.
1. Filter Tool Architecture & Record Conservation
The Filter tool features one input anchor (Input) and two output anchors: T (True) and F (False).
┌─────────────────┐
│ Filter Tool │
[Input Stream] ────►│ Condition: ├───► [T Anchor] (Records Meeting Condition)
(100 Records) │ [Sales] > 500 ├───► [F Anchor] (Records Failing / Nulls)
└─────────────────┘
The Law of Record Conservation
Every single record entering the Filter tool must exit through either T or F:
No records are ever destroyed, duplicated, or lost inside a Filter tool. If an input stream containing 1,000 records outputs 650 records through the T anchor, exactly 350 records will exit through the F anchor.
2. Basic Filter Mode vs. Custom Filter Mode
The Filter tool configuration window offers two operating modes: Basic Filter and Custom Filter.
┌────────────────────────────────────────────────────────────────────────────────────────┐
│ Basic Filter Configuration Interface │
├────────────────────────────────────────────────────────────────────────────────────────┤
│ (•) Basic Filter ( ) Custom Filter │
│ │
│ 1. Select Field: [ Region ▼ ] │
│ 2. Select Operator: [ Equals ▼ ] │
│ 3. Enter Value: [ West ] │
└────────────────────────────────────────────────────────────────────────────────────────┘
Basic Filter Mode
Basic Filter mode provides a guided, no-code interface restricted to evaluating a single condition on a single field.
- String Operators:
Equals,Does not equal,Contains,Does not contain,Starts with,Ends with,Is Empty,Is Not Empty,Is Null,Is Not Null. - Numeric Operators:
=,!=,<,<=,>,>=,Is Null,Is Not Null. - Date Operators:
=,!=,<,<=,>,>=,Is Between,Today(),Current Month, or relative date offsets.
Custom Filter Mode
Custom Filter mode allows analysts to write complex, multi-field boolean expressions using the full Alteryx Formula syntax.
- When you switch from Basic Filter to Custom Filter, Alteryx automatically converts the basic rule into its formula equivalent (e.g.,
[Region] = "West"), providing an excellent bridge for learning expression syntax.
3. Custom Filter Expression Syntax & Logical Operators
Custom filters evaluate expressions to a boolean result (True or False). Records evaluating to True exit via T; records evaluating to False or Null exit via F.
Syntax Conventions
- Field Names: Must be enclosed in square brackets
[FieldName]. - String Literals: Must be enclosed in double quotes
"Text"or single quotes'Text'. - Numeric Literals: Entered as raw digits without quotes, commas, or currency symbols (e.g.,
1500or24.95). - Boolean Constants:
1orTrue,0orFalse.
Logical Operators and Precedence
| Operator | Syntax Options | Functionality | Example Expression |
|---|---|---|---|
| Logical AND | AND, && | Both conditions must be True | [Sales] > 1000 AND [Region] == "West" |
| Logical OR | OR, ` | ` | |
| Logical NOT | NOT, ! | Inverts boolean outcome | ![Is_Closed] or NOT IsNull([Email]) |
| Equality | ==, = | Tests exact equality | [Status] == "Active" |
| Inequality | != | Tests non-equality | [Category] != "Discontinued" |
Grouping with Parentheses
AND has higher precedence than OR. Use parentheses to explicitly enforce evaluation order:
([Region] == "West" OR [Region] == "South") AND [Total_Revenue] >= 5000 AND [Customer_Type] != "Internal"
Built-in Functions in Custom Filters
You can leverage string, date, and math functions directly inside the Filter tool:
- String Matching:
Contains([Product_Name], "Deluxe") - Case-Insensitive Match:
Uppercase([Department]) == "FINANCE" - Regular Expressions:
REGEX_Match([PostalCode], "^\\d{5}(-\\d{4})?$") - Date Calculations:
DateTimeDiff(DateTimeToday(), [Last_Purchase_Date], "days") <= 90
4. Null Value Handling in Filter Expressions (Critical Exam Concept!)
Handling Null values correctly is the single most tested nuance of the Filter tool.
How Nulls Route in Comparisons
Expression: [Discount] > 0.10 Expression: [Discount] <= 0.10
┌───────────────────────────┐ ┌───────────────────────────┐
│ Row 1: [Discount] = 0.25 │ │ Row 1: [Discount] = 0.25 │
│ ──► Evaluates: TRUE │ │ ──► Evaluates: FALSE │
│ ──► Exits: T Anchor │ │ ──► Exits: F Anchor │
├───────────────────────────┤ ├───────────────────────────┤
│ Row 2: [Discount] = 0.05 │ │ Row 2: [Discount] = 0.05 │
│ ──► Evaluates: FALSE │ │ ──► Evaluates: TRUE │
│ ──► Exits: F Anchor │ │ ──► Exits: T Anchor │
├───────────────────────────┤ ├───────────────────────────┤
│ Row 3: [Discount] = Null │ │ Row 3: [Discount] = Null │
│ ──► Evaluates: NULL │ │ ──► Evaluates: NULL │
│ ──► Exits: F Anchor │ │ ──► Exits: F Anchor │
└───────────────────────────┘ └───────────────────────────┘
The Null Evaluation Rule
In Alteryx, comparing any value to Null yields Null, which the Filter tool treats as not True. Consequently, all records with Null in evaluated fields exit via the False (F) anchor.
The Inverse Filter Trap
Notice what occurs in the diagram above:
- When testing
[Discount] > 0.10, Row 3 (Null) exits the False anchor. - When testing
[Discount] <= 0.10, Row 3 (Null) still exits the False anchor!
Exam Trap: The
F(False) output anchor does not contain only records meeting the mathematical opposite of your condition. It contains records that evaluate to False plus all records containing Null values. If you need Nulls to pass through theTanchor, you must explicitly declare:[Discount] > 0.10 OR IsNull([Discount]).
Empty Strings ("") vs. Null
Null: Represents the complete absence of a value (unallocated cell).- Empty String (
""): A valid string with a length of zero (Len([Field]) == 0). IsEmpty([StringField]): ReturnsTruefor both empty strings""andNullvalues.IsNull([StringField]): ReturnsTrueonly forNullvalues.
5. Practical Workflow Architectures Using Filter
┌─────────────────────────────────────────┐
│ Multi-Branch Routing & Exception Handling│
└─────────────────────────────────────────┘
│
▼
┌─────────────────┐
│ Filter 1 │
┌───────►│ [Score] >= 70 ├───────┐
│ └─────────────────┘ │
│ │ (F) │ (T)
│ ▼ ▼
┌─────────────────┐ ┌─────────────┐ ┌─────────────────┐
│ Raw Stream │ │ Needs Review│ │ Passed Standard │
│ (All Records) │ │ Exception │ │ (Downstream BI) │
└─────────────────┘ └─────────────┘ └─────────────────┘
- Data Validation & Exception Isolation: Route clean records through
Tto the main production pipeline, while sending dirty/invalid records throughFto an Output Data tool for compliance auditing. - Cascading Filters (Sequential Logic): Connect the
Toutput of Filter 1 to the input of Filter 2 to create hierarchical filtering chains (equivalent toCondition1 AND Condition2). - Parallel Segmentation: Route high-value customers through
Tand standard customers throughF, apply customized transformation logic to each branch independently, and recombine them downstream with a Union tool.
A Filter tool is configured with the Custom expression: [Customer_Rating] >= 4.0. If an incoming record has a [Customer_Rating] value of Null, through which output anchor will this record exit?
An input data stream containing 250 records enters a Filter tool. The Results window shows that 162 records exit through the True (T) anchor. How many records will exit through the False (F) anchor?
Which Custom Filter expression correctly filters for transactions that occurred in the 'South' or 'East' region with a Sales_Amount strictly greater than $10,000?
What is the primary operational distinction between Basic Filter mode and Custom Filter mode in the Filter tool?