步骤1:将客户的原始sql分解为提示词能理解的描述
客户SQL:select sum(distinct case when sign_date>=schedule_date and sign_date<current_date then evt_v_amt_smart end)<br>from open_ecs_cust_plcy_list_all <br>where schedule_date between date '2026-01-01' and CURRENT_DATE - interval '1' day<br>and z_com='泰康人寿'
SQL变形:select<br> sum(evt_v_amt_smart)<br>from<br> (<br> select<br> distinct 保单险种号,<br> evt_v_amt_smart<br> from<br> (<br> 最明细的数据<br> ) as a<br> ) as b
步骤2:配置知识,通过知识可以让duckdb按照上一步生成的SQL获取数据
提示词:### 转化新单价值统计说明<br>查询转化新单价值时,必须查询并使用以下字段。<br><br>#### 表结构说明<br><br>年月日:参观日期<br>转化率标识: 是否是新单转化,为1时是新单转化。<br>保单险种号:唯一标识一个新单价值<br>考核新单价值:新单价值。<br>(最明细的所有字段)<br><br>#### 表数据信息说明<br><br>当前的数据是一个参观人次的流水表,没有主键。<br>数据中同一个人,可能会在不同的日期在不同的场地进行参观,每次参观都有一条记录,参观后可能会签单,产生保单险种号,同一个保单险种号对于一个具体新单价值。<br>流水数据中每次的参观数据,都会记录同一个签单日期,同时对应多个保单险种号和新单价值。 <br><br>#### 转化新单价值统计口径说明<br>新单转化口径:转化率标识为1。<br>转化新单价值口径:是新单转化,基于保单险种号对`考核新单价值`去重后汇总。<br><br>#### 转化新单价值计算步骤<br><br>1. 把带条件的明细数据通过MQL查询出来:<br>- **必须**将表结构说明中的所有字段全部提取( "年月日", "转化率标识", "保单险种号", "考核新单价值", "子公司", "唯一编号", "角色编号", "原始编号")。<br>- "转化率标识"和"子公司"**必须**作为查询条件。<br>2. 通过duckdb 统计转化新单价值。<br>