-- MONTHLY BREACHES & CASHBACK & FRAUD %GE
SELECT substr(cast(txn_date as varchar(30)), 1, 7) as year_month
, COUNT(transactionid) AS breach_cnt
, SUM(txn_amount) as breach_amt
, COUNT(DISTINCT small_vpa) as breach_card_cnt
, SUM(CAST(cashback_amount AS DOUBLE)) AS cashback_amount
, SUM(CAST(fraud_amount AS DOUBLE)) AS fraud_amount
FROM
(SELECT DISTINCT A.txn_date, A.transactionid, A.txn_amount, A.small_vpa
, B.amount AS cashback_amount
, C.fraud_amount as fraud_amount
FROM
(SELECT * FROM team_kingkong.offus_CCUPI_vpa_mid_daily_limit_breaches)A
LEFT JOIN
(select * from
(select a.*, ROW_NUMBER() OVER (PARTITION BY txn_id ORDER BY cb_level desc) as row_num from
(select distinct txn_id, amount, cb_level
from charge_team_data.cb_data_analytics_snapshot_v3
where dl_last_updated >= date '2000-01-01')a)a
where row_num = 1)B
on B.txn_id = A.transactionid
LEFT JOIN
(select * from
(select distinct pg_txn_id as txn_id, txn_amount as fraud_amount,
substr(txn_date,1,10) as txn_date, mid,
min(source_reporting_date) as reporting_date
from cdp_risk_transform.fraud_master_snapshot_v3
where source_table <> 'freshdesk.cst_case_snapshot'
and txn_status = 'SUCCESS'
and dl_last_updated >= date '2025-01-01'
group by 1,2,3,4) i
left join
(SELECT distinct acq_id, CAST(refund_amount AS DOUBLE) / 100 AS fraud_refund
FROM pgaws_datalake_prod.acq_refund_snapshot_v3
WHERE dl_last_updated >= date'2025-01-01' AND refund_status = 'SUCCESS') j
ON i.txn_id = j.acq_id)C
ON A.transactionid = C.txn_id)
GROUP BY 1 ORDER BY 1;
Comments