SuperAPI AI 工具集

hap-cli-data-query

数据与分析

查看项目

更新于 10-15 23:41

技能介绍

用途:用 hap 命令行只读查询 HAP 工作表中的业务数据,包括按条件筛选记录、排序分页、透视聚合统计,以及查询关联记录、记录变更日志和图表配置。

主要能力:record list 按条件查记录,record pivot 做分组维度加求和、计数、去重计数、最小、最大、平均等聚合;二者共用同一套 filter-json,支持多条件 AND/OR 嵌套分组。另有 record relations 查关联记录、record logs 查变更日志、record bottom-stats 取视图底部单行汇总、chart 命令组管理图表配置。

使用方式:先用 hap worksheet fields WORKSHEET_ID 查到字段的 controlId、名称和类型。筛选条件统一写成 {"logic":"and|or","items":[{"field","op","value"}]},可嵌套表达复杂与或;empty/not_empty 不需要 value。记录查询可用比较方式包括 eq、ne、in、not_in、contains、starts_with、ends_with、gt、gte、lt、lte、between、belongs 等。选项字段 value 用选项 key,关联字段用关联记录 rowid(配 in 或 eq),成员字段用 accountId,日期用 between 配 ["2025-01-01","2025-01-31"]。透视的维度 --rows-json / --columns-json 和值 --values-json 只认字段 ID 或别名,值必填,字段用 record_count 可数行数,日期 granularity 1=日、2=周、3=月。复杂 JSON 建议写进文件后 --filter-json "$(cat f.json)"。

适用场景:查某张表里满足条件的记录、按状态或日期筛选、按月份或分类统计合计、做透视汇总、追溯某条记录被谁何时修改。

限制:本 skill 只负责查询,写回数据需用 hap worksheet record update 等命令。pivot 支持的比较方式少于 record list,contains 一律不可用,in/not_in 仅限单选和地区,gt/lt/between 仅限数值和日期;pivot 对 gt/lt 要求裸值、between 要求两元素数组。子表需在子表工作表上按反向关联字段筛父记录 rowid,并显式加 --sorts-json 保证顺序稳定。服务端对不认识的比较方式可能静默丢弃条件并返回全表,因此非 hap 发出的筛选请求应核对返回条数。具体命令参数请以对应 --help 与 hap guide record filter 为准。