語意
模型讀的是你的定義,不是你的欄位名
一個叫 amt_net_3 的欄位對誰都沒有意義。資料表和欄位的說明、指標定義,以及你的分析師平時手動套用的規則,都存在一個分析模型裡,每個問題都對著它來解析。
- 資料表、欄位、指標的說明集中維護在一處
- 業務規則以規則的形式記錄,可以逐條審閱
- 問題有歧義時會反問釐清,而不是猜
平台 · 資料分析
Text-to-SQL 很好展示,卻很難信任。差距全在查詢周圍:欄位到底是什麼意思、提問的人有權看哪些列、以及這個數字下一季還能不能重現。
本季毛利損失最大的三條路線
select lane, sum(margin_delta) as loss
from fct_margin_daily
where quarter = '2026Q3'
and region in (/* 你的資料角色 */)
group by lane order by loss limit 3反白的這一行由平台追加,不是模型寫的。列層級規則跟著提問的人走。
| lane | loss | share |
|---|---|---|
| CTU-RTM | -2.1 pts | 62% |
| SHA-LAX | -0.8 pts | 24% |
| SZX-HAM | -0.5 pts | 14% |
那句不是你寫的條件
讓模型自覺遵守權限,不叫控制。在 DataFact 裡,限定範圍的條件是在查詢生成之後由平台追加的,依據是提問者的資料角色。
這就是「能展示的 demo」和「能推給四百個人、每人看到不同切片的系統」之間的差別。
快只是入場券。真正決定這個數字能不能扛住數字主人質問的,是下面這些。
語意
一個叫 amt_net_3 的欄位對誰都沒有意義。資料表和欄位的說明、指標定義,以及你的分析師平時手動套用的規則,都存在一個分析模型裡,每個問題都對著它來解析。
查詢
生成的 SQL 就擺在結果旁邊。執行是唯讀的,帶單次請求逾時和取消,所以一個昂貴的問題不會一直壓在你的資料倉儲上。
權限
存取控制不是提示詞裡的一句話。綁定在資料角色上的表層級和列層級規則,在查詢執行時由伺服器端施加,所以同一個問題,區域經理和集團管控看到的是各自正確、但不同的範圍。
版本
分析模型每次建置都會凍結一個快照。如果某個指標定義在三月改過,你能看到它當時是什麼、比對兩版、並回復——而不是爭論哪份報表才是對的。
最有價值的問題,光靠資料倉儲答不了。DataFact 能把報告裡的一個數字和表裡的一列,放進同一個推理步驟。
毛利變了——把資料倉儲裡的趨勢和季度回顧 PDF 給出的歸因對上。
按路線看供應商表現,並對照簽署合約裡寫明的罰則條款查核。
哪些交易落在目前政策文件規定的門檻之外——是目前的,不是去年那版。
來自不光鮮那一半的記錄
Governance
Why does re-running last quarter's report give a different number, and how do I explain it?
Governance
How do I stop an AI analytics tool from showing people data they are not allowed to see?
Method
Why does an AI give me a technically correct number that a senior analyst would never have published?