热门角色不仅是灵感来源,更是你的效率助手。通过精挑细选的角色提示词,你可以快速生成高质量内容、提升创作灵感,并找到最契合你需求的解决方案。让创作更轻松,让价值更直接!
我们根据不同用户需求,持续更新角色库,让你总能找到合适的灵感入口。
从指定系统开始描述表的数据血缘关系,适合技术场景。
以下为从电商交易系统到数仓表 sales_orders 的数据血缘关系描述。内容覆盖源系统、采集、落地、规范化、汇总建模、字段级血缘、更新策略与数据质量控制,采用订单级事实表粒度(每条记录对应一个订单)。
一、范围与粒度
二、上游源系统(OLTP)
三、数据采集层(CDC/Streaming)
四、原始落地层(Bronze/Raw)
五、规范化层(Silver/Curated)
六、汇总层(Gold/Model)sales_orders 构建
七、字段级血缘映射(核心字段)
八、构建示例(SQL 片段)
订单级聚合(Gold): with items as ( select order_id, sum(unit_price * quantity) as gross_items_amount, sum(coalesce(item_discount, 0)) as item_discount_amount from silver.order_items group by order_id ), discounts as ( select order_id, sum(discount_amount) as order_discount_amount from silver.order_discounts group by order_id ), payments as ( select order_id, sum(coalesce(captured_amount, 0)) as payment_captured_amount, sum(coalesce(refunded_amount, 0)) as refund_amount from silver.payments group by order_id ), shipments as ( select order_id, max(shipping_status) as fulfillment_status, -- 统一枚举映射前进行排序逻辑 max(coalesce(shipping_fee_override, 0)) as shipping_fee_override from silver.shipments group by order_id ), fx as ( select currency_code, effective_date, rate_to_usd from dim_fx_rates ) insert into dw.gold.sales_orders select o.id as order_id, o.order_no, dc.customer_sk, ds.store_sk, dch.channel_sk, o.currency as currency_code, convert_to_utc(o.created_at) as order_created_at_utc, convert_to_utc(o.updated_at) as order_updated_at_utc, i.gross_items_amount, i.item_discount_amount, coalesce(d.order_discount_amount, 0) as order_discount_amount, coalesce(t.tax_amount, o.tax_summary_total, 0) as tax_amount, coalesce(s.shipping_fee_override, o.shipping_fee, 0) as shipping_fee, coalesce(p.refund_amount, 0) as refund_amount, -- 计算净额 (i.gross_items_amount
注:normalize_order_status、map_fulfillment_status、convert_to_utc 为标准化 UDF/宏;实际实现需与企业枚举规范一致。
九、更新与幂等策略
十、数据质量与审计
十一、血缘与元数据管理
十二、存储与性能设计
通过以上流程,sales_orders 的每个字段均可追溯到具体上游来源表及变换逻辑,形成从电商交易系统(OLTP)到数仓 gold 层的完整数据血缘。该血缘支持审计、质量控制、重算与可回溯性,并能满足订单级分析与下游报表/数据产品的需求。
以下描述从主数据管理(MDM)系统到数据仓库维度表 dim_cust 的端到端数据血缘关系,覆盖数据摄取、转换、存储与供数流程,并给出关键转换规则与实现示例。
范围与目标
血缘分层与流程
列级血缘与转换规则(示例)
SCD2 合并逻辑示例(SQL 通用伪代码) 注意:不同仓库的 MERGE 语法略有差异,以下为通用思路。
-- 变更检测视图:仅保留当前有效的 MDM 记录,并计算 hash_diff WITH src AS ( SELECT c.customer_id AS mdm_customer_id, norm_name(c.name) AS customer_name, map_type(c.type_code) AS customer_type, a.country_code AS country_code, a.address_line_1, a.address_line_2, ct.email AS primary_email, ct.phone AS primary_phone, c.status AS mdm_status, c.effective_start_ts AS src_effective_start_ts, c.effective_end_ts AS src_effective_end_ts, c.source_system AS src_system, c.source_row_id AS src_row_id, sha2(concat_ws('||', norm_name(c.name), map_type(c.type_code), a.country_code, coalesce(a.address_line_1,''), coalesce(a.address_line_2,''), coalesce(ct.email,''), coalesce(ct.phone,'') ), 256) AS hash_diff, current_timestamp() AS load_dt FROM stg_customer c LEFT JOIN stg_customer_address a ON a.customer_id = c.customer_id AND a.is_primary = true LEFT JOIN stg_customer_contacts ct ON ct.customer_id = c.customer_id AND ct.is_primary = true AND ct.contact_status = 'ACTIVE' WHERE (c.effective_end_ts IS NULL OR c.effective_end_ts > current_date()) ) -- 关闭发生变化的旧版本 UPDATE dim_cust AS d SET effective_end_dt = current_date(), current_flag = 0, update_dt = current_timestamp(), end_reason = CASE WHEN src.mdm_status <> 'ACTIVE' THEN 'INACTIVE' ELSE 'CHANGED' END FROM src WHERE d.mdm_customer_id = src.mdm_customer_id AND d.current_flag = 1 AND d.hash_diff <> src.hash_diff;
-- 插入新版本(新客户或属性变更后版本) INSERT INTO dim_cust ( cust_sk, mdm_customer_id, customer_name, customer_type, country_code, address_line_1, address_line_2, primary_email, primary_phone, is_active, effective_start_dt, effective_end_dt, current_flag, src_system, src_row_id, hash_diff, load_dt, update_dt ) SELECT gen_surrogate_key(), -- 仓库侧生成 s.mdm_customer_id, s.customer_name, s.customer_type, s.country_code, s.address_line_1, s.address_line_2, s.primary_email, s.primary_phone, CASE WHEN s.mdm_status = 'ACTIVE' THEN 1 ELSE 0 END, current_date(), NULL, 1, s.src_system, s.src_row_id, s.hash_diff, s.load_dt, s.load_dt FROM src s LEFT JOIN dim_cust d ON d.mdm_customer_id = s.mdm_customer_id AND d.current_flag = 1 WHERE d.mdm_customer_id IS NULL -- 新客户 OR d.hash_diff <> s.hash_diff; -- 发生属性变更
删除/停用处理
数据质量与治理要点
元数据与血缘登记(OpenLineage 作业级示例,简化版) { "eventType": "COMPLETE", "job": { "namespace": "dwh.customer", "name": "build_dim_cust_scd2" }, "run": { "runId": "a1b2c3d4-e5f6-7890-1234-abcdef987654" }, "inputs": [ { "namespace": "lake.raw", "name": "raw_mdm_customer" }, { "namespace": "lake.raw", "name": "raw_mdm_address" }, { "namespace": "lake.raw", "name": "raw_mdm_contact" } ], "outputs": [ { "namespace": "warehouse.gold", "name": "dim_cust" } ], "producer": "airflow://dags/build_dim_cust", "schemaVersion": "1-0-0" }
调度与依赖
总结
以下内容基于标准数仓分层范式(DIM/DWD/DWS/DM),给出 bi_kpi 表从数据仓库内部各层开始的“实体级”和“列级”数据血缘描述。由于未提供您环境中的实际表结构与口径,以下为可落地的参考设计与描述模板。请将其中的库表名、口径规则与粒度字段替换为您的实际定义。
一、范围与粒度
二、实体级血缘(从数仓各层到 bi_kpi) DM 层
DWS 层
DWD 层(示例,不展开上游 ODS/RAW)
三、列级血缘(示例口径映射) 下述为常见 KPI 的列级血缘示例,请替换为您的实际口径。
bi_kpi.biz_date
bi_kpi.gmv
bi_kpi.net_revenue(净收入/实收)
bi_kpi.refund_amount
bi_kpi.paying_users(支付用户数)
bi_kpi.active_users_7d(7 日活)
bi_kpi.new_users(新增用户)
bi_kpi.visitors(到站 UV)
bi_kpi.conversion_rate(转化率)
可选派生指标
四、关键转换与口径控制
五、作业依赖与调度(DAG 概览)
六、示例 SQL(简化)
七、数据质量与血缘验证
八、交付建议
以上血缘描述覆盖了 bi_kpi 从数仓内部各层的主要上游表与关键转换规则。将示例库表名与口径替换为您的实际定义后,即可形成可执行的数据血缘说明与实现方案。需要我基于您现有表结构生成精确到列、到 SQL 的血缘文档时,请提供实际的表清单与字段字典。
帮助数据团队与业务方快速看懂“一张表从哪里来、经历了什么、最终被谁使用”的来龙去脉,以清晰、标准化的血缘说明提升排障效率、支撑审计与合规、减少跨部门沟通成本,并将复杂流程转化为可直接用于文档、评审材料和工单的内容;支持按需指定起始系统与目标表、切换输出语言与结构,降低新人上手难度,沉淀团队知识资产,促使更多用户愿意试用并升级,从而在治理、分析和交付场景中持续获益。
用它一键梳理指定表的上下游与字段关系,快速评估改造影响,补齐血缘文档,指导任务重构与发布。
统一血缘口径与文档格式,支撑合规审计、权限审批与变更评审,沉淀可追溯的数据资产说明。
清楚看到指标来源与加工路径,定位报表异常根因,协调修复方案,减少跨团队沟通往返。
将模板生成的提示词复制粘贴到您常用的 Chat 应用(如 ChatGPT、Claude 等),即可直接对话使用,无需额外开发。适合个人快速体验和轻量使用场景。
把提示词模板转化为 API,您的程序可任意修改模板参数,通过接口直接调用,轻松实现自动化与批量处理。适合开发者集成与业务系统嵌入。
在 MCP client 中配置对应的 server 地址,让您的 AI 应用自动调用提示词模板。适合高级用户和团队协作,让提示词在不同 AI 工具间无缝衔接。
免费获取高级提示词-优惠即将到期