# 筛选条件与运算符

无论在 Mampu AI 的哪个地方创建条件，你看到的都是同一种三段式的行：**字段**、**运算符**和**值**。字段是你要查看的内容（联系人的电话、会话的状态、某个标签），运算符是判断方式，值是用来比较的内容。"Status **Equal to** Open" 和 "Phone **Starts with** +60" 都是条件。

你会在五个地方创建条件：

* **Conversations → Filter**，以及由筛选保存而成的 **Folders**。
* **Contacts → Filter**，以及由筛选保存而成的 **Segments**。
* **Settings → Automation**，规则的条件部分。
* 创建 blasting 时的 **Audience** 步骤，选择 **Filter contacts** 之后。
* **Settings → Message Sequences**，步骤上的条件。

列表中的每个运算符名称下方都有一行含义说明，你在选择时就能确认它的作用。本页把它们全部收集在一起，并附上示例。

## 文本字段

姓名、邮箱地址、电话号码、消息文本和文本属性提供这些运算符。

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| **Equal to** | 只匹配这个确切的值 | Email **Equal to** `ali@example.com` |
| **Not equal to** | 匹配除这个值以外的任何内容 | Name **Not equal to** `Test` |
| **Contains** | 文本出现在字段的任何位置即匹配 | Message **Contains** `invoice` |
| **Does not contain** | 文本在字段中完全没有出现才匹配 | Name **Does not contain** `test` |
| **Starts with** | 字段以这段文本开头即匹配 | Phone **Starts with** `+60` |

## 单选字段

状态、收件箱、负责人、团队、优先级、国家和列表属性的取值是固定的，所以运算符更简单。

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| **Equal to** | 只匹配这个确切的值 | Status **Equal to** Open |
| **Not equal to** | 匹配除这个值以外的任何内容 | Inbox **Not equal to** Sales |
| **Is present** | 字段有任何值时匹配 | Assignee **Is present**（有人负责这个会话） |
| **Is not present** | 字段为空时匹配 | Assignee **Is not present**（还没有人负责） |

## 标签

一条记录可以同时带有多个标签，所以标签条件判断的是"是否包含"，而不是"是否相等"。

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| **Has any of** | 记录上至少有一个所选标签即匹配 | Labels **Has any of** VIP, Reseller |
| **Has none of** | 记录上没有任何所选标签才匹配 | Labels **Has none of** Spam |
| **Is present** | 记录至少有一个标签时匹配 | — |
| **Is not present** | 记录完全没有标签时匹配 | — |

## 数字

数字属性在单选字段的基础上多了两种比较。

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| **Is greater than** | 匹配大于这个值的数字 | Order total **Is greater than** 500 |
| **Is less than** | 匹配小于这个值的数字 | Seats **Is less than** 3 |

## 日期

**Created at**、**Last activity** 和日期属性使用同样的两种比较，只是按时间来理解。

| 运算符 | 含义 | 示例 |
| --- | --- | --- |
| **Is greater than** | 匹配你所选日期之后的日期 | Created at **Is greater than** 9 月 1 日 |
| **Is less than** | 匹配你所选日期之前的日期 | Last activity **Is less than** 9 月 1 日 |
| **Is x days before** | 匹配距今超过这么多天的日期 | Last activity **Is x days before** 7（已经安静超过一周） |
| **Is present** / **Is not present** | 日期已设置，或为空 | Birthday **Is present** |

Message sequence 的条件还有几个专属的日期运算符，因为判断发生在消息即将发送时，而不是你编写条件时：

| 运算符 | 含义 |
| --- | --- |
| **Is in the future** | 匹配今天之后的日期，在消息到期发送时判断 |
| **Is in the past** | 匹配今天之前的日期，在消息到期发送时判断 |
| **Is before** / **Is after** | 针对当前日期：今天早于、或晚于你所选日期时匹配 |

## 监测变化的自动化事件

在 **Attribute changed** 上运行的规则使用描述变化本身的运算符，而不是存储的值。

| 运算符 | 含义 |
| --- | --- |
| **Label added** | 这个标签被加到会话上时触发 |
| **Label removed** | 这个标签从会话上移除时触发 |
| **Changed to** | 字段变为这个值时触发 |

## Blasting 受众

选择 **Filter contacts** 作为受众时，你还可以按人们已经收到过的内容来筛选。

| 运算符 | 含义 |
| --- | --- |
| **has received any of** | 收到过所选 blasting、WhatsApp 模板或 message sequence 中至少一项的联系人 |
| **has not received any of** | 所选项目一项都没收到过的联系人 |

## 用 AND 和 OR 组合条件

每一行条件的末尾都有一个连接到下一行的连接词。

* **AND** 表示每个条件都必须满足。
* **OR** 表示任意一个条件满足即可。

"Status **Equal to** Open **AND** Labels **Has any of** VIP" 找出打开中的 VIP 会话。"Labels **Has any of** VIP **OR** Priority **Equal to** Urgent" 找出 VIP 或紧急、或两者皆是的会话。

## 实例

* **沉默的客户。** 在 **Contacts → Filter** 中：Last activity **Is x days before** 7，**AND** Labels **Has any of** Hot lead。保存为细分，用作 blasting 受众。
* **此刻无人负责、正在等待的会话。** 在 **Conversations → Filter** 中：Status **Equal to** Open，**AND** Assignee **Is not present**。保存为文件夹，给团队负责人使用。
* **把账单问题转给对应团队。** 在 **Settings → Automation** 中，针对 **Message created**：Message **Contains** `invoice` → 分配给 Billing 团队。

## 相关文章

* [搜索、筛选与细分](/contacts/searching-filtering-and-segments)
* [会话文件夹说明](/conversations/conversation-folders-explained)
* [标签、属性与自动化](/settings/labels-attributes-and-automation)
* [创建和安排 blasting](/campaigns/creating-and-scheduling-a-campaign)
* [Message Sequences](/campaigns/message-sequences)

---
Source: https://help.mampuai.com/zh/settings/filter-conditions-and-operators
