Files
data-ge/demo/snippet.json
2025-10-29 00:38:57 +08:00

523 lines
19 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

[
{
"id": "snpt_daily_gmv_trend",
"title": "日GMV趋势",
"desc": "按日统计GMV与订单量趋势",
"type": "trend",
"applicability": {
"required_columns": [
"order_date",
"price",
"quantity"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": null,
"fk_join_available": false,
"notes": [
"GMV=SUM(price*quantity)",
"请避免选择地址等PII字段"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
}
],
"dialect_sql": {
"mysql": "SELECT DATE(order_date) AS dt, SUM(price*quantity) AS gmv, COUNT(*) AS orders\nFROM {{table}}\nWHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\nGROUP BY dt\nORDER BY dt;"
},
"business_caliber": "GMV口径price×quantity订单量记录条数粒度=日。",
"examples": [
"近30天GMV趋势",
"2025Q1每日GMV与订单数"
]
},
{
"id": "snpt_daily_gmv_ma7",
"title": "7日GMV均线",
"desc": "GMV按日与7日滑动平均",
"type": "trend",
"applicability": {
"required_columns": [
"order_date",
"price",
"quantity"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": null,
"fk_join_available": false,
"notes": [
"窗口=包含当日的过去7天",
"若日期有缺口,均线可能偏移"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
}
],
"dialect_sql": {
"mysql": "WITH d AS (\n SELECT DATE(order_date) AS dt, SUM(price*quantity) AS gmv\n FROM {{table}}\n WHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\n GROUP BY dt\n)\nSELECT dt,\n gmv,\n AVG(gmv) OVER (ORDER BY dt ROWS BETWEEN 6 PRECEDING AND CURRENT ROW) AS gmv_ma7\nFROM d\nORDER BY dt;"
},
"business_caliber": "GMV=price×quantity窗口=7天含当日按自然日排序计算。",
"examples": [
"本季度GMV与7日均线",
"促销期走势平滑对比"
]
},
{
"id": "snpt_yoy_daily_gmv",
"title": "GMV同比",
"desc": "对比去年同日GMV与同比%",
"type": "ratio",
"applicability": {
"required_columns": [
"order_date",
"price",
"quantity"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": null,
"fk_join_available": false,
"notes": [
"需要查询窗口覆盖到去年的对应日期",
"闰年按日期对齐处理"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
}
],
"dialect_sql": {
"mysql": "WITH cur AS (\n SELECT DATE(order_date) AS dt, SUM(price*quantity) AS gmv\n FROM {{table}}\n WHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\n GROUP BY dt\n),\nprev AS (\n SELECT DATE(DATE_SUB(order_date, INTERVAL 1 YEAR)) AS dt, SUM(price*quantity) AS gmv_last\n FROM {{table}}\n WHERE DATE(order_date) BETWEEN DATE_SUB({{start_date}}, INTERVAL 1 YEAR) AND DATE_SUB({{end_date}}, INTERVAL 1 YEAR)\n GROUP BY DATE(DATE_SUB(order_date, INTERVAL 1 YEAR))\n)\nSELECT c.dt,\n c.gmv,\n p.gmv_last,\n CASE WHEN p.gmv_last IS NULL OR p.gmv_last=0 THEN NULL ELSE (c.gmv - p.gmv_last)/p.gmv_last END AS yoy\nFROM cur c LEFT JOIN prev p ON c.dt = p.dt\nORDER BY c.dt;"
},
"business_caliber": "同比=当日GMV与去年同日GMV之差/去年同日GMVGMV=price×quantity。",
"examples": [
"最近90天GMV同比曲线",
"节假日同比表现"
]
},
{
"id": "snpt_topn_category_gmv",
"title": "类目GMV排行",
"desc": "按类目统计GMV并取TopN",
"type": "topn",
"applicability": {
"required_columns": [
"order_date",
"category",
"price",
"quantity"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": 6,
"fk_join_available": false,
"notes": [
"类目枚举较少建议TopN<=6用于展示",
"可追加订单量与件数"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
},
{
"name": "top_n",
"type": "int",
"default": 10
}
],
"dialect_sql": {
"mysql": "SELECT category,\n SUM(price*quantity) AS gmv,\n COUNT(*) AS orders,\n SUM(quantity) AS qty\nFROM {{table}}\nWHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\nGROUP BY category\nORDER BY gmv DESC\nLIMIT {{top_n}};"
},
"business_caliber": "GMV=price×quantity统计范围=指定日期内;粒度=类目。",
"examples": [
"上月类目Top5",
"本季度类目GMV结构"
]
},
{
"id": "snpt_share_channel",
"title": "渠道GMV占比",
"desc": "统计各渠道GMV及占比",
"type": "ratio",
"applicability": {
"required_columns": [
"order_date",
"channel",
"price",
"quantity"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": 4,
"fk_join_available": false,
"notes": [
"占比以总GMV为分母占比之和≈100%",
"适合饼图/堆叠柱"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
}
],
"dialect_sql": {
"mysql": "WITH base AS (\n SELECT channel, SUM(price*quantity) AS gmv\n FROM {{table}}\n WHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\n GROUP BY channel\n), total AS (\n SELECT SUM(gmv) AS tg FROM base\n)\nSELECT b.channel, b.gmv, b.gmv/t.tg AS gmv_share\nFROM base b CROSS JOIN total t\nORDER BY b.gmv DESC;"
},
"business_caliber": "渠道GMV占比=渠道GMV/全部渠道GMV时间范围由参数限定。",
"examples": [
"本月各渠道占比",
"Q1渠道结构对比"
]
},
{
"id": "snpt_topn_product_gmv",
"title": "商品GMV排行",
"desc": "按商品ID统计GMV并取TopN",
"type": "topn",
"applicability": {
"required_columns": [
"order_date",
"product_id",
"price",
"quantity"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": 1000,
"fk_join_available": true,
"notes": [
"product_id基数较高建议LIMIT<=50",
"可与商品维表联查名称等属性"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
},
{
"name": "top_n",
"type": "int",
"default": 20
}
],
"dialect_sql": {
"mysql": "SELECT product_id,\n SUM(price*quantity) AS gmv,\n SUM(quantity) AS qty,\n COUNT(*) AS orders\nFROM {{table}}\nWHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\nGROUP BY product_id\nORDER BY gmv DESC\nLIMIT {{top_n}};"
},
"business_caliber": "GMV=price×quantity粒度=商品ID。",
"examples": [
"上周热销商品Top20",
"年度销量Top10商品"
]
},
{
"id": "snpt_join_product_dim",
"title": "商品维表联查",
"desc": "以product_id关联商品维表或使用纯ID",
"type": "join",
"applicability": {
"required_columns": [
"product_id"
],
"time_column": null,
"constraints": {
"dim_cardinality_hint": 1000,
"fk_join_available": true,
"notes": [
"若无维表则保留纯ID版输出",
"谨慎选择PII字段勿输出地址类字段"
]
}
},
"variables": [
{
"name": "dim_product",
"type": "identifier"
},
{
"name": "select_cols",
"type": "string",
"default": "f.product_id, f.price, f.quantity"
}
],
"dialect_sql": {
"mysql": "-- 命名版\nSELECT {{select_cols}}\nFROM {{table}} f\nLEFT JOIN {{dim_product}} d ON f.product_id = d.product_id;\n\n-- 纯ID版\nSELECT product_id, price, quantity FROM {{table}};"
},
"business_caliber": "外键product_id→商品维表主键度量来源于事实表price与quantity。",
"examples": [
"联查商品名称后做TopN",
"仅用ID进行商品分析"
]
},
{
"id": "snpt_join_customer_dim",
"title": "客户维表联查",
"desc": "以customer_id关联客户维表或使用纯ID",
"type": "join",
"applicability": {
"required_columns": [
"customer_id"
],
"time_column": null,
"constraints": {
"dim_cardinality_hint": 2713,
"fk_join_available": true,
"notes": [
"如无维表可直接按customer_id聚合",
"避免输出shipping_address/billing_address等PII"
]
}
},
"variables": [
{
"name": "dim_customer",
"type": "identifier"
},
{
"name": "select_cols",
"type": "string",
"default": "c.customer_name, f.customer_id, SUM(f.price*f.quantity) AS gmv"
}
],
"dialect_sql": {
"mysql": "-- 命名版\nSELECT {{select_cols}}\nFROM {{table}} f\nLEFT JOIN {{dim_customer}} c ON f.customer_id = c.customer_id\nGROUP BY c.customer_name, f.customer_id;\n\n-- 纯ID版\nSELECT customer_id, SUM(price*quantity) AS gmv\nFROM {{table}}\nGROUP BY customer_id;"
},
"business_caliber": "外键customer_id→客户维表主键GMV=price×quantity。",
"examples": [
"客户分群GMV",
"重点客户消费额排行"
]
},
{
"id": "snpt_quality_dup_order",
"title": "主键重复检查",
"desc": "检查order_id唯一性并抽样输出",
"type": "quality",
"applicability": {
"required_columns": [
"order_id"
],
"time_column": null,
"constraints": {
"dim_cardinality_hint": 10000,
"fk_join_available": false,
"notes": [
"画像显示order_id应唯一若结果非空为异常"
]
}
},
"variables": [
{
"name": "limit_sample",
"type": "int",
"default": 50
}
],
"dialect_sql": {
"mysql": "WITH d AS (\n SELECT order_id, COUNT(*) AS cnt\n FROM {{table}}\n GROUP BY order_id\n HAVING COUNT(*)>1\n)\nSELECT * FROM d LIMIT {{limit_sample}};"
},
"business_caliber": "主键口径order_id全表唯一用于数据质量预警与排查。",
"examples": [
"是否存在重复订单?",
"查看重复订单样本"
]
},
{
"id": "snpt_quality_price_outlier",
"title": "价格异常检测",
"desc": "基于当日均值±3σ识别异常价",
"type": "quality",
"applicability": {
"required_columns": [
"order_date",
"price"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": null,
"fk_join_available": false,
"notes": [
"仅质量预警,不直接代表业务错误",
"当天样本过少时波动较大"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
},
{
"name": "limit_sample",
"type": "int",
"default": 100
}
],
"dialect_sql": {
"mysql": "WITH stats AS (\n SELECT DATE(order_date) AS dt, AVG(price) AS mu, STDDEV_POP(price) AS sigma\n FROM {{table}}\n WHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\n GROUP BY dt\n)\nSELECT f.*\nFROM {{table}} f\nJOIN stats s ON DATE(f.order_date)=s.dt\nWHERE (f.price > s.mu + 3*s.sigma OR f.price < s.mu - 3*s.sigma)\nLIMIT {{limit_sample}};"
},
"business_caliber": "异常定义价格超出当日均值±3×标准差总体标准差。",
"examples": [
"近30天价格异常样本",
"促销期异常价监控"
]
},
{
"id": "snpt_sample_recent_orders",
"title": "近期明细抽样",
"desc": "抽样查看近期订单核心字段",
"type": "sample",
"applicability": {
"required_columns": [
"order_date",
"order_id",
"customer_id",
"product_id",
"category",
"price",
"quantity",
"channel",
"payment_method",
"delivery_status"
],
"time_column": "order_date",
"constraints": {
"dim_cardinality_hint": null,
"fk_join_available": true,
"notes": [
"为保护隐私不展示shipping_address与billing_address",
"仅用于人工核验"
]
}
},
"variables": [
{
"name": "start_date",
"type": "date"
},
{
"name": "end_date",
"type": "date"
},
{
"name": "limit_rows",
"type": "int",
"default": 100
}
],
"dialect_sql": {
"mysql": "SELECT DATE(order_date) AS dt,\n order_id, customer_id, product_id, category,\n price, quantity, channel, payment_method, delivery_status\nFROM {{table}}\nWHERE DATE(order_date) BETWEEN {{start_date}} AND {{end_date}}\nORDER BY dt DESC\nLIMIT {{limit_rows}};"
},
"business_caliber": "明细抽样用于数据核验不输出PII地址信息。",
"examples": [
"抽样查看上周订单",
"核对节假日订单明细"
]
},
{
"id": "snpt_filter_paid_delivered",
"title": "支付已送达筛选",
"desc": "过滤支付方式为信用卡且配送状态为已送达",
"type": "sample",
"applicability": {
"required_columns": [
"payment_method",
"delivery_status"
],
"time_column": null,
"constraints": {
"dim_cardinality_hint": 5,
"fk_join_available": false,
"notes": [
"此片段为WHERE条件模板可拼接到任意查询",
"delivery_status枚举包含Delivered/Pending/Returned/Shipped"
]
}
},
"variables": [],
"dialect_sql": {
"mysql": "WHERE payment_method = 'Credit Card' AND delivery_status = 'Delivered'"
},
"business_caliber": "口径:支付渠道=信用卡;物流状态=已送达Delivered。可与时间或维度条件叠加。",
"examples": [
"筛选信用卡已送达订单",
"在TopN商品中仅看已送达信用卡订单"
]
},
{
"id": "snpt_filter_device_channel",
"title": "设备渠道筛选",
"desc": "按设备类型与渠道过滤分析范围",
"type": "sample",
"applicability": {
"required_columns": [
"device_type",
"channel"
],
"time_column": null,
"constraints": {
"dim_cardinality_hint": 7,
"fk_join_available": false,
"notes": [
"device_type枚举Desktop/Mobile/Tablet",
"channel枚举Email/Organic/Paid Search/Social"
]
}
},
"variables": [],
"dialect_sql": {
"mysql": "WHERE device_type IN ('Mobile','Desktop') AND channel IN ('Paid Search','Social')"
},
"business_caliber": "限制分析在指定设备与渠道可直接作为WHERE子句片段复用。",
"examples": [
"仅看移动端付费渠道GMV",
"桌面+社媒渠道订单明细"
]
}
]