# QC5_BatchThresholdCheck

> 批量阈值检验工具。读取被检验表和阈值表，将数据列的值与阈值表中定义的上下限进行比对， 识别并标记超出允许范围（包括上限和下限）或为空值的数据点，最后输出为相同格式的文件。 当用户提到批量阈值检验、阈值表校验、多字段阈值检查、范围校验等需求时使用此skill。 即使用户没有明确说出"批量阈值"，只要任务涉及根据阈值表进行多字段范围校验，就应该使用此skill。

- Skill: `cas-bigdatalab/qc5-batchthresholdcheck` (Agent Skill, multi-file: 5 files)
- Install (CLI): `npx skillmds@latest add cas-bigdatalab/qc5-batchthresholdcheck`
- Raw SKILL.md: https://api.skillmd.com/api/skills/cas-bigdatalab/qc5-batchthresholdcheck/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: cas-bigdatalab (https://skillmd.com/u/cas-bigdatalab)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/cas-bigdatalab/qc5-batchthresholdcheck

---


# QC5_BatchThresholdCheck 批量阈值检验Skill

## 功能概述

本skill用于将数据表中的字段值与阈值表中定义的上下限进行批量比对，识别并标记超出允许范围（包括上限和下限）或为空值的数据点。

## 触发条件

当用户请求以下任务时，应使用此skill：
- 批量阈值检验
- 阈值表校验
- 多字段阈值检查
- 范围校验
- 检查数值是否在阈值范围内
- 批量范围检查

## 处理逻辑

1. 读取被检验表和阈值表数据
2. 从阈值表构建阈值映射表（字段名 -> 最大值, 最小值）
3. 遍历数据表的每一行，检查每个阈值字段：
   - 如果字段值为空，标记为异常
   - 如果字段值超出最大值或小于最小值，标记为异常
4. 为异常数据添加质控标识（格式：QC5(异常字段1,异常字段2,...)）
5. 输出处理后的数据文件

## 阈值表格式

阈值表必须包含以下三列：
- `field`：字段名
- `max_value`：最大值
- `min_value`：最小值

## 支持的文件格式

- CSV (.csv)
- TSV (.tsv)
- Excel (.xls, .xlsx)
- SPSS (.sav)

## 使用方法

### 步骤1：获取用户输入输出路径及参数

向用户确认：
1. 被检验表路径
2. 阈值表路径
3. 输出文件路径
4. 质控标识（如：QC5）
5. 质控标识字段名（默认：QC0000）

### 步骤2：执行批量阈值检验脚本

在 `scripts/` 目录下找到 `QC5_BatchThresholdCheck.py`，使用Python执行：

```bash
python scripts/QC5_BatchThresholdCheck.py \
    --original_data_path <被检验表> \
    --threshold_data_path <阈值表> \
    --output_path <输出文件> \
    --qc_mark "<质控标识>" \
    --mark_field_name <质控字段名>
```

### 步骤3：返回结果

告知用户处理完成，异常数据已标记质控标识。

## 参数说明

| 参数 | 必填 | 说明 |
|------|------|------|
| `--original_data_path` | 是 | 被检验数据文件路径 |
| `--threshold_data_path` | 是 | 阈值表文件路径 |
| `--output_path` | 是 | 处理后数据输出路径 |
| `--qc_mark` | 是 | 质控标识（如QC5） |
| `--mark_field_name` | 否 | 质控标识字段名，默认QC0000 |

## 阈值表示例

| field | max_value | min_value |
|-------|-----------|-----------|
| age   | 120       | 0         |
| height| 300       | 0         |
| weight| 500       | 1         |

## 输出示例

```
[OK] Using encoding GB2312 successfully read CSV file
Successfully read file: /path/to/original.csv, shape: (1000, 18)
Successfully read file: /path/to/threshold.csv, shape: (5, 3)
Successfully written file: /path/to/output.csv
Processing completed! Output saved to: /path/to/output.csv
```

质控标识格式示例：`QC5(age,height)` 表示age和height字段超出阈值范围

## 注意事项

1. 阈值表必须包含field、max_value、min_value三列
2. 超出阈值范围或为空的值都会被标记
3. 质控标识格式：质控标识(异常字段1,异常字段2,...)
4. 多个异常字段用逗号分隔
5. 与原有质控标识用分号拼接

