數據質素校驗規則提示詞(完整性、唯一性、一致性、及時性、合理性檢查 + SQL 校驗與 dbt tests 寫法)
報表數字經常出錯才被業務發現(重複訂單、金額為負、昨天的數據沒同步、兩張表對不上),想在數據進入報表之前自動攔住問題時用:給出表結構和業務規則,AI 按質素維度設計校驗規則,寫成 SQL 或 dbt tests,並設定失敗時阻斷還是告警。
通用大模型 對話模型通用
你是一名數據工程師,負責數據倉庫的數據質素保障。請為下面的表設計數據質素校驗。 - 表名與用途:[表名與用途](例:dwd_orders 訂單明細,供所有銷售報表使用) - 表結構(字段、類型、含義): [表結構] - 業務規則:[業務規則](例:已支付訂單必須有支付時間;實付金額不大於應付金額) - 數據更新方式與時間:[更新方式](例:每天凌晨 3 點增量同步前一天數據) - 校驗工具:[校驗工具](例:dbt、定時運行的 SQL、調度平台自帶的質素檢查) 請按以下維度設計規則,並為每條規則給出:規則描述 | 校驗 SQL 或測試配置 | 失敗時的級別(阻斷下游 / 告警 / 只記錄)| 理由。 1. 完整性:主鍵與關鍵字段不能為空;與上游源表的行數對比(允許的差異範圍)。 2. 唯一性:主鍵唯一;業務上應唯一的組合(例如同一訂單號只有一行)。 3. 有效性:枚舉字段只能是允許的值;金額、數量的取值範圍;日期不能在未來或早於業務開始日期。 4. 一致性:跨字段規則(狀態與時間字段的對應、金額之間的關係);跨表規則(外鍵在維度表中存在、彙總表與明細表合計一致)。 5. 及時性:數據最新時間是否在預期之內(例如每天 4 點前必須有昨天的數據)。 6. 波動合理性:今日行數或金額與過去 N 天同期相比的異常波動(閾值要考慮星期規律與大促)。 然後說明: - 級別的劃分原則:會導致報表錯誤的問題阻斷下游,輕微問題告警; - 失敗後的處理流程與通知對象; - 規則的維護:新增字段或口徑變更時如何同步更新規則。 如果使用 dbt,給出模型的 yml 配置(內置測試與自定義測試);否則給出可以直接調度運行的 SQL,每條 SQL 返回違規的行數或樣例。
高亮處換成你自己的內容:[表名與用途]、[表結構]、[業務規則]、[更新方式]、[校驗工具]
ChatGPT Plus 充值
已被複製 0 次
使用說明
怎麼填變量:[業務規則] 是最有價值的部分,通用規則(非空、唯一)誰都能想到,真正能攔住問題的往往是業務規則,例如「退款金額不能大於實付金額」「已發貨訂單必須有物流單號」。[更新方式] 決定及時性規則怎麼寫。
常見坑:
- 所有規則失敗都只發告警,數據有問題的報表照樣產出,業務看到錯誤的數字。會導致報表錯誤的問題要阻斷下游任務。
- 規則太多太嚴,每天都有一堆告警,最後大家都不看了。按影響程度分級,寧缺毋濫。
- 只檢查本表,不檢查與上游的行數對比,數據同步丟了一半也發現不了。
追問技巧:追問「把這些規則的執行結果做成一個數據質素看板,展示每張表每天的通過率」,或「上游源系統經常改字段,怎麼儘早發現」。
示例輸出
示例,僅供參考(dbt 配置節選)
yaml
models:
- name: dwd_orders
columns:
- name: order_id
data_tests:
- not_null
- unique
- name: status
data_tests:
- accepted_values:
values: ['PENDING', 'PAID', 'CANCELLED', 'REFUNDED']
- name: user_id
data_tests:
- relationships:
to: ref('dim_users')
field: user_id
sql
-- 自定義規則:已支付訂單必須有支付時間,且實付不大於應付(返回違規行,結果不為空即失敗)
SELECT order_id, status, paid_at, paid_amount, payable_amount
FROM {{ ref('dwd_orders') }}
WHERE (status = 'PAID' AND paid_at IS NULL)
OR paid_amount > payable_amount
| 規則 | 級別 | 理由 |
|---|---|---|
| order_id 唯一 | 阻斷 | 重複會導致所有銷售額被放大 |
| 昨日數據行數比過去 4 周同日均值低 50% 以上 | 告警 | 可能是同步失敗,也可能是真實下降,需要人工確認 |
說明:較新版本的 dbt 中測試的配置鍵為 data_tests,舊版本為 tests,以你所用版本的文檔為準。
同款作品
用這條提示詞做出來的作品;原作者會因此獲得積分
還沒有同款,來做第一個。


0 條評論
還沒有評論,來搶沙發~