核心概念
交叉决策表是规则引擎中一种特殊类型的决策表,它通过行和列的交叉维度来定义规则,适用于需要同时考虑两个或多个独立条件维度(例如用户属性、产品类型、场景状态等)组合的场景。其核心思想是将不同维度的条件分别放在行和列上,通过交叉点的单元格直接定义结果,从而简化复杂条件的组合逻辑。
交叉决策表 vs 普通决策表
|----------|-----------------------|------------------------------|
| 对比维度 | 普通决策表 | 交叉决策表 |
| 结构 | 所有条件在同一行中组合(单维度条件) | 行和列分别代表不同维度的条件(多维度交叉) |
| 适用场景 | 单一维度的条件组合(如用户等级+订单金额) | 两个或多个独立维度的条件组合(如用户等级 × 产品类型) |
| 复杂度 | 规则数量随条件数量线性增长 | 规则数量随维度交叉组合数增长(可能更高效) |
| 可读性 | 适合简单条件组合 | 适合多维条件交叉,直观展示复杂逻辑 |
核心功能意义
- 直观表达多维逻辑:将多个独立维度的条件分离到行和列,避免普通决策表中冗长的条件组合,直接简化为交叉点。
- 减少规则冗余:例如,普通决策表中需要为每个用户等级和产品类别的组合单独写一条规则,而交叉表通过行和列自动覆盖所有组合。
- 便于动态扩展:新增维度只需扩展列,无需修改其他规则。
- 业务友好:类似 Excel 的二维表格形式,非技术人员也能快速理解并维护。
配置步骤
通过决策流设计器,可以轻松配置交叉决策表节点:
1. 拖入节点并连接
从左侧的组件列表中,将 "交叉决策表" 节点拖入右侧的画布中,并将其与决策流的开始节点或上游节点连接起来。

2. 进入配置界面
点击画布上的 "交叉决策表" 节点,右侧会显示其配置面板。
3. 配置变量
在配置面板的"变量设置"区域,您可以根据实际需求 添加变量,这些变量将作为行、列条件的判断依据或结果。

4. 新增行和列(横向与纵向)
在"交叉决策表配置"区域,点击 【+横向】 和 【+纵向】 按钮,即可分别增加一行或一列的配置。多点几次,就会多新增几行或几列。行和列分别代表两个不同维度的条件。

5. 编辑条件
点击行或列中的 【编辑条件】 区域,即可配置该行或列所对应的条件:
- 选择变量/节点/入参:选择要用作该维度判断依据的变量。
- 设置条件组 :添加具体的判断条件,例如:
test2 不为空、入参空、等于决策测试等。

6. 配置结果
在行与列交叉的单元格中,配置条件满足时的输出结果。结果可为以下三种类型:
- 固定值:输出一个手动输入的常量。
- 变量值:输出决策流中其他已定义的变量值。
- 节点值:输出决策流中某个节点的执行结果。
- **入参值:**输出自定义入参值。

总结
通过以上配置,您可以将复杂的多维业务逻辑清晰地组织为一个二维表格,高效地实现多条件组合的业务规则。其核心优势在于直观呈现多维逻辑、便于动态增删维度且易于非技术人员理解与维护。