Skip to content
11 changes: 11 additions & 0 deletions skills/lark-base/references/lark-base-data-analysis-sop.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@ Base 数据查询与分析任务的执行契约。覆盖记录读取、筛选、
- 不要依赖已有视图,除非用户明确指定该视图,或你已读取并验证其 filter/sort/projection 符合当前问题。
- 交付输出必须使用用户可读的真实字段值;内部 ID、`record_id`、关联记录 ID、open_id、编码字段只可作为连接键或定位键,不能替代最终输出,除非用户明确要求输出这些键值。
- 每次读取必须做最小投影,并包含后续解释、回查或写入需要的业务 key。
- 同一结果的分期数量、比率和趋势必须复用同一时间字段、统计总体和分母;用户未明确要求时不得增加第二套比率口径。
- 需要多次查询或关联后汇总时,各查询、关联、派生计算和最终结论必须复用同一统计总体、筛选和排除口径。

## 1. Intent -> Tool Path

Expand Down Expand Up @@ -134,6 +136,14 @@ lark-cli base +record-search \
- `+data-query` 可返回聚合结果或维度字段行;维度字段行按字段组合去重且不返回 `record_id`,不能当逐条原始记录结果使用。
- 需要输出逐条记录、记录定位或完整行级字段时,先用 `+data-query` 得到业务 key、分组值或候选字段组合,再用 `+record-list --filter-json` / `+record-get` 回查。

#### 时间序列与比率

涉及分期、比率或趋势时,执行查询前先明确统计总体、时间轴、分子、分母和排除条件:

- 用户指定时间字段或计算公式时严格使用。未指定时,记录规模、转化率及其分子数量按记录进入统计总体的创建/录入时间分桶;独立的事件发生量按实际事件时间分桶,不得用计划、预计或截止日期代替实际事件时间。
- 用户未定义比率分母时,以同一时间桶、同一统计总体中的全部记录为分母;仅用于判断分子是否命中的状态或结果条件不得同时过滤分母。分母为 0 时输出“无数据”,不要计算成有效百分比。
- 用户指定范围时严格覆盖。未指定范围时,先查询数据覆盖范围并声明采用的完整范围;若数据只落在一个自然年,月/季度分组覆盖该自然年。查询后补齐已声明范围内所有空桶,分别输出 0、0 和“无数据”。

Example: 分组计数:

```bash
Expand Down Expand Up @@ -205,6 +215,7 @@ lark-cli base +view-set-sort \
- 如果使用 `jq` / shell,本地输入是否是 200 行以内的小范围结果;超过 200 行是否已改用 Base 云端查询服务查询。
- 如果使用 `+record-list` / `+record-search`,是否处理了 `has_more`,且投影包含业务 key 和解释字段。
- 如果涉及关系查询,是否按 `record_id` 或业务 key 精确回查,交付输出是否来自关联表真实字段。
- 如果涉及时间序列,是否逐桶输出总数、命中数和比率,补齐已声明范围内的空桶,并在表后给出同口径的总体分子、总体分母、总体比率和只依据该主序列得出的趋势结论。
- 交付输出能追溯到表、字段、筛选条件、排序/聚合条件和连接键。

任一项无法确认时,继续查询或明确说明只能得到局部结论。
Loading