匯總和合並報告
聚合和合並報告
聚合是將詳細條目轉換為所需切口和周期的摘要。合並-將來自不同來源/法人/產品的集合合並為一個報告,並進行調整(貨幣,會計政策,消除)。下面是系統方法:從櫥窗設計到報告操作。
1)合並的任務和類型
運營/產品:DAU/WAU/MAU,轉換,國家/頻道/平臺收入。
金融(美分。和監管機構):P&L,Cash Flow,Balance Sheet,GGR/Net Gaming Revenue,稅收,法律實體報告。
風險/合規性:反氟化物、RG指標、SLA/可用性、數據/模型漂移。
戰略:按控股、品牌組合、地區分列的KPI摘要。
2)聚合圖層體系結構
數據層:「raw」 → 「staging」 → 「core」(事實/測量)→ 「marts」(報告下的聚合物)。
語義層:度量定義,日歷,貨幣,滾動規則。
谷物和時間-谷物:「event」,「user_day」,「txn」,「brand_country_day」在每周/每季度之前→進一步的滾動。
身份:穩定鍵(user/brand/legal_entity),對應表(映射))。
3)Rollaps和層次結構
維度層次結構:「遊戲→類別→提供商」,「頻道→廣告活動→創意」,「城市→地區→國家→集群」。
總和規則:加法(總和),半加法(snapshot-平均值/最後一個周期),非加法(系數/利息)。
重復數據消除:獨特的用戶和谷物事件;避免在源合並中重復計數。
4)多元貨幣,時區,日歷
時間:存儲「event_time_utc」和本地切片;節日日歷/奴隸日。
貨幣:按交易當日(或有保留期的平均匯率)的匯率存儲「原始」金額+'base_ccy'。
正常化:顯示顯式單位/貨幣/匯率日期。
sql
WITH fx AS (
SELECT date, from_ccy, to_ccy, rate
FROM dim_fx_rates
WHERE to_ccy = 'EUR'
),
tx AS (
SELECT t. txn_id, t. amount, t. ccy, t. brand, t. country, t. event_date
FROM fact_tx
)
SELECT brand, country, DATE_TRUNC('month', event_date) AS month,
SUM(amount COALESCE(fx. rate, 1)) AS revenue_eur
FROM tx
LEFT JOIN fx
ON fx. date = tx. event_date AND fx. from_ccy = tx. ccy
GROUP BY 1,2,3;
5)按來源/法律實體劃分的合並
帳戶計劃映射:單個CoA(帳戶圖表)+從本地計劃映射。
會計政策:IFRS/GAAP/稅收規則 →轉換層(例如,總收入/凈額,獎金/傭金認可)。
消除組內周轉:排除控股法人實體之間的交易。
合並方法:完整,股權(提案),股權會計法(equity method)。
少數股東:分配非控股股東(NCI)的股份。
sql
WITH interco AS (
SELECT a. txn_id
FROM fact_tx a
JOIN dim_counterparty b ON a. counterparty_id = b. id
WHERE a. legal_entity IN (SELECT id FROM dim_legal WHERE group_id = 1)
AND b. legal_entity IN (SELECT id FROM dim_legal WHERE group_id = 1)
)
SELECT
FROM agg_pl_month
WHERE txn_id NOT IN (SELECT txn_id FROM interco);
6)質量與匹配(reconciliation)
根據來源進行的核對:根據來源計算的金額=店面的金額(按匯率/時間計算的接受率)。
不變量:「DAU ≤ MAU」,日均值=月總和(對於加法度量)。
完整性控制:空值、重復值、新鮮度滯後。
差異報告:不一致清單和消除步驟。
7)性能和SLO
SLO新鮮度:操作單元-Lag ≤ 15分鐘;白天-直到當地時間06:00;每月-高達T+1/T+3。
優化:聚合,增量重新計算,分期付款(按日期/品牌/國家/地區),用於流行切片的緩存。
UI限制: 每個圖表≤ 12個類別;表格分區;lazy-load.
8)定義和版本管理
度量詞典:代碼,定義,公式,來源,單位,所有者,guardrails。
轉化:「METRIC_vN」;任何編輯→新版本+backfill和changelog。
語義層:一個BI/實驗/出貨的真理來源。
9)安全和準入
RLS/CLS:按角色(國家/品牌/法律實體)訪問,PII掩蓋。
審計:誰卸載了報告;出口管制(時間、令牌)。
最小化:產生聚合而不是原始PII數據。
10)類型聚合和可視化
產品:漏鬥(step-bars),隊列(heatmap),D7/D30保留,ARPU/ARPPU,GGR/Net。
財務:按等級劃分的P&L,瀑布(橋梁)因素,按地區劃分的收入結構,G&A動態。
操作/ML:SLA,latency p95/p99,PR- AUC/Recall@FPR≤x%,PSI-heatmap漂移。
11)綜合報告護照(模板)
代碼/版本: 「CONSOL_PNL_v3」
任命: 按品牌集團、多元貨幣→基本貨幣EUR進行管理P&L
覆蓋範圍: 該集團的所有法人實體;方法-全面整合;NCI-脫穎而出
來源/層: 'mart_fin_pnl_v3'(基於'fact_tx_v2','dim_legal','dim_fx_rates')
粒度: 月份(每天滾動)
消除: 「intercompany=true」-排除組內失誤
SLO: T+1 06:00 lock。可用性≥ 99。9%
對賬: 會計報告「BK_PNL_T+1」,差異≤ 0。3%
所有者: 金融分析,數據平臺
Guardrails: FX表不超過24小時;交易覆蓋率≥ 99。5%
12)經常出錯以及如何避免出錯
公式的安靜變化:始終通過版本和changelog。
雙重計費:來源/喬伊納斯-控制鑰匙和谷物。
臨時區域混合:集中日歷和UTC存儲。
不正確的百分比:聚合分子/分母而不是「平均均值」。
「原始」課程:FX的明確日期/來源,一致性四舍五入政策。
缺乏消除:公司間失誤扭曲報告。
不透明的新鮮度:始終顯示「N分鐘前更新」。
13)Pseudo-SQL: 增量月度聚合
sql
-- Recalculate only affected days/months
WITH changed_days AS (
SELECT DISTINCT DATE(event_time_utc) AS d
FROM fact_tx_delta -- new/modified per day
),
daily AS (
SELECT
DATE(event_time_utc) AS d,
brand, country,
SUM(net_revenue_eur) AS net_eur
FROM fact_tx
WHERE DATE(event_time_utc) IN (SELECT d FROM changed_days)
GROUP BY 1,2,3
)
MERGE INTO agg_month_brand_country m
USING (
SELECT DATE_TRUNC('month', d) AS month, brand, country, SUM(net_eur) AS net_eur
FROM daily
GROUP BY 1,2,3
) s
ON (m. month = s. month AND m. brand = s. brand AND m. country = s. country)
WHEN MATCHED THEN UPDATE SET m. net_eur = s. net_eur, m. updated_at = NOW()
WHEN NOT MATCHED THEN INSERT (month, brand, country, net_eur, updated_at)
VALUES (s. month, s. brand, s. country, s. net_eur, NOW());
14)流程和操作
1.設計:目標/受眾,度量,等級,貨幣/時區。
2.數據:來源合同,計劃,質量測試。
3.店面構造:語義對象,滾動規則,消除。
4.對賬:自動差異報告,修補字幕。
5.發行版:版本、文檔、用戶培訓。
6.監視:新鮮、完整、重復、響應時間、事件。
7.修訂:對定義、映射、外匯政策的季度驗證。
15)綜合報告發布前的支票清單
- 在語義層中記錄了度量和層次結構的定義
- 貨幣兌換和時區調整;顯示課程單位和日期
- 實現組內周轉/NCI消除(如果適用)
- 參照源不變式和匹配在公差中通過
- 包括增量重新計票和分期付款
- 新鮮/可用性SLO設置;更新狀態顯示
- 配置了RLS/CLS和PII掩碼;已啟用導出審核
- 版本/changelog和所有者列出;有事件運行手冊
底線
聚合和整合不僅是「GROUP BY」,而且是一個整體系統:一致的定義,正確的滾動,多重貨幣和日歷,消除和匹配,可觀察性和SLO。按照所描述的體系結構,您可以將異構數據轉換為用於產品、財務和風險管理的可靠存儲庫。