Skip to content

AI 问数与数据预警

报表中心提供两项智能能力:用自然语言生成 SQL(NL2SQL)降低数据集编写门槛,以及对数据集聚合值做阈值监控并自动通知(数据预警)。

AI 问数(NL2SQL)

数据集编辑页(SQL 类型)点「AI 问数」,用自然语言描述你想查的数据,系统调用配置的 AI 服务商生成一条只读 SQL,自动填入 SQL 编辑框,确认/微调后即可试跑保存。

使用步骤

  1. 数据集选 SQL 类数据源,点「AI 问数」。
  2. 输入需求,如「按部门统计本月订单金额,从高到低」。
  3. 点「生成 SQL」,结果写入 SQL 框。
  4. 点「试跑预览」验证,必要时手动调整。

安全与边界

  • 生成的语句强制为只读 SELECT/WITH,服务端二次校验拦截任何写操作(INSERT/UPDATE/DELETE/DROP…)与多语句。
  • 提供给 AI 的库表上下文已剔除敏感表与敏感列(用户密码、令牌、密钥、各类凭据配置等),降低敏感数据暴露面。
  • 依赖系统已配置默认 AI 服务商(见 AI 能力 / AI 服务商配置);未配置时会提示。

AI 仅用于「生成 SQL 草稿」,最终执行仍走数据集的只读取数通道,可放心使用。

数据预警

数据预警对某数据集的聚合值按阈值监控,触发时通过邮件 / 站内信通知。在「报表中心 → 数据预警」(/report/alerts)管理。

新建预警规则

字段说明
名称规则名称
来源类型数据集(对数据集做聚合)或指标(直接监控指标中心已定义的语义指标,复用统一口径)
数据集 / 指标被监控的数据集或指标
聚合方式sum / avg / max / min / count / first(来源为数据集时)
监控字段聚合的列(来源为数据集时);count 不需要选择字段,其它聚合只允许选择可数值化字段
运算符> < =
阈值触发比较的数值
评估 Cron定时评估表达式(留空=仅手动),提供可视化 Cron 构建器
时区IANA 时区(默认 Asia/Shanghai),Cron 按该时区解释
错过策略服务停机错过评估点后的处理:跳过(skip)或补跑一次(fire_once)
分组维度可选;按该字段分组聚合,任一组命中阈值即触发(如「任一部门人数 > 100」),通知列出命中组明细(最多 10 条)
通知通道邮件 / 站内信 / Webhook(可多选)。Webhook 按机器人地址域名自动适配报文:企业微信(qyapi.weixin.qq.com)与钉钉(oapi.dingtalk.com)发 markdown 卡片,其余地址发通用 JSON
收件人邮箱(逗号分隔);站内信推给创建者;Webhook 需填机器人地址
静默期(分钟)持续触发时,距上次通知不足该时长不重复通知,防刷屏;0=每次触发都通知(默认 60)
恢复通知开启后,从触发恢复正常时发送一条恢复通知

例:监控「未支付订单数」数据集,count > 100 时告警。

评估与通知

  • 定时评估:配置 Cron 后,调度器按 nextRunAt 巡检到期规则,自动取数 → 聚合 → 比较,触发即通知。
  • 手动评估:列表点「评估」提交任务中心异步任务 report-alert-evaluate 立即跑一次,返回实际值与是否触发。
  • 通知风暴防护:新触发(未触发 → 触发)立即通知;持续触发期间按「静默期」限频;触发 → 恢复时按需发送恢复通知。
  • 列表展示最近触发状态、最近实际值与评估时间;创建/编辑时监控字段候选会随聚合方式过滤,避免把文本列用于 sum/avg/min/max。

投递历史与确认

每次通知都会落库为投递记录(见取数运行时与可靠投递):

  • 列表的「最近投递」列显示上次投递状态:成功 / 部分成功 / 失败 / 进行中,失败附错误信息;
  • 点开投递历史可查看每次投递的各通道明细与耗时;
  • 失败的投递可确认(acknowledge)标记已处理;投递失败不进入静默窗口,重试采用指数退避。

约束

预警是无用户上下文的全局评估,因此绑定的数据集不能使用 ${__userId} 等数据权限变量、不能配置行级权限规则、也不能含必填参数(保存时拦截),否则会因缺少上下文导致越权、漏报或误报。请为预警准备「对所有人一致」的数据集。

会话式、探索式的自然语言问数(多轮对话、保存结果为数据集/仪表盘、用量审计)见智能问数 ChatBI

权限

操作权限码
AI 问数report:dataset:create
预警查看 / 评估report:alert:list
预警新增report:alert:create
预警编辑report:alert:update
预警删除report:alert:delete

Built with VitePress for local documentation preview.