--- name: app-data-analysis description: 查询 LessChaos App 中的业务记录,计算指标、比较分组、排查异常和进行跨 App 对账。用户要求找记录、统计、趋势、排名或数据分析时使用;搭建表字段、修改记录和生成页面分别由其他 App 技能处理。 --- # App 数据分析 把业务问题转为有明确范围、口径和数据依据的查询,交付结论与可追溯的记录。只读分析不修改业务数据。 下文 `app_*` 是插件中的工具用途名;先从当前工具目录找到实际 Tool 并装载定义,参数以该定义为准。工具身份由宿主生成。 ## 1. 定位来源与字段 已有 App Reference 就从其 `appId`、Table、View 或选中记录开始;没有身份时用 `app_list` 查可见目录,再用 `app_definition` 读取目标定义。重名且无法从上下文区分时才询问用户。 为每个来源记下 App、Table、字段稳定 ID、类型、cardinality、选项 ID 和 `definitionVersion`。数值同时核对单位及币种,日期核对业务含义和是否含时间。字段名用于解释,ID 用于请求。 多个 App 都在本次 Run 固定的 Organization 内分别读取。引用只定位来源;来源被拒绝时保留拒绝事实,不把其数据视为零。 完成条件:问题涉及的实体和必要字段均已映射,未取得的来源单独列出。 ## 2. 确定口径并选择查询 先确定一行代表什么、时间范围、筛选条件、统计单位和比较基准。上下文能确定的直接采用并随结果说明;会明显改变结论的歧义才提问,例如订单金额与实际回款、含税与未税、自然月与滚动 30 天。 | 业务目标 | 工具和处理方式 | | ---------------------- | ---------------------------------------------- | | 找记录、明细、排序结果 | `app_query`,只投影需要的字段 | | 核对某条记录 | `app_read_record`,显式指定字段 | | 总额、均值、按一列分组 | `app_aggregate`,优先在服务端计算 | | 多维分组、跨 App 对账 | 各来源先筛选与聚合,再在已完整取得的数据上组合 | 筛选、分页、聚合和跨 App 对账的参数示例见 [查询与对账模式](references/query-patterns.md);执行这些任务前读取对应段落。聚合只支持单层分组,不猜 SQL、JOIN 或未暴露的工具参数。 跨 App 组合先明确匹配键及一对一/一对多关系。名称相似不能证明关联;缺少稳定业务键时先报告缺口。先在各自粒度聚合再组合,避免一对多展开重复计算金额。 完成条件:每个指标都能指出来源、粒度、过滤规则和计算方式。 ## 3. 读取并检验证据 查询返回 `rows`、`basis`、实际字段投影和可选 `nextCursor`。完整列表续用原查询及原样游标,直到无下一页;Top N 明确标注 N,样本结果保留样本范围。记录每个来源的定义版本和数据集序列,不假设多个 App 共享快照。 只用实际返回的字段计算。区分 Null、零、空集、不可见和读取失败;计算字段有 queued、failed 或 Error 时说明结果尚未齐备。精确十进制按十进制运算处理,金额先按币种分开,最后一步才取展示精度。 总计、明细与分组核对时使用相同口径。数据在分页期间变化或不同查询依据不一致时,将结果标为各次读取所见,必要时重读受影响范围;结束分页不等于取得一致快照。 完成条件:分析所需范围已完整取得,或覆盖率、缺失来源及其对结论的影响已明确。 ## 4. 交付结论 先回答用户的问题,再给支持它的指标或异常记录。通常只需结论、关键明细、口径与实际限制;结果使用 Tool 返回的 `resource` 链接定位 App 或记录。 对账分别列匹配、仅左侧、仅右侧、键重复和不可读取项。写入建议作为建议交付;用户要求实际修改时使用 `app-record-editor` 的读改写流程。 ## 失败恢复 | 观测 | 下一步 | | -------------------------- | ---------------------------------------------------- | | 字段或定义变化 | 重读该来源定义,重建字段映射及受影响查询 | | 字段类型不支持筛选或统计 | 根据当前类型改选可支持的操作;不能把拒绝解释为无数据 | | 游标失效 | 从该查询第一页重新取得,丢弃已失效分页链的汇总 | | 来源被拒绝或当前组织不可用 | 说明缺少哪个来源、哪些结论因此不能成立 | | 输出过大 | 减少字段及每页条数,继续分页;总计改用服务端聚合 | 任务完成以问题得到有证据的回答为准;只查出第一批记录或给出查询计划均未完成分析。