RFI 15
Mon May 08 2023 20:16:03 GMT+0000 (Coordinated Universal Time)
Saved by @shubhangi_burle
%jdbc(hive) set tez.queue.name=phonepe_verified; set hive.execution.engine=tez; -- rule 15 SELECT A.receiveruser -- , A.active_days_previous , A.amount_total_previous , A.txn_cnt_previous , A.sender_vpa_cnt_previous , B.active_days_current , B.amount_total_current , B.txn_cnt_current , B.sender_vpa_cnt_current , (A.amount_total_previous-B.amount_total_current)/B.amount_total_current as percent_dip_in_amount FROM (SELECT receiveruser , count(distinct CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 33+30) AND DATE_SUB('2023-05-02', 33) THEN updated_date ELSE NULL END) as active_days_previous , sum(CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 33+30) AND DATE_SUB('2023-05-02', 33) THEN totaltransactionamount ELSE 0 END) as amount_total_previous , count(distinct CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 33+30) AND DATE_SUB('2023-05-02', 33) THEN transaction_id ELSE NULL END) as txn_cnt_previous , count(distinct CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 33+30) AND DATE_SUB('2023-05-02', 33) THEN senderuserid ELSE NULL END) as sender_vpa_cnt_previous , count(distinct CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 32) AND DATE_SUB('2023-05-02', 2) THEN updated_date ELSE NULL END) as active_days_current , sum(CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 32) AND DATE_SUB('2023-05-02', 2) THEN totaltransactionamount ELSE 0 END) as amount_total_current , count(distinct CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 32) AND DATE_SUB('2023-05-02', 2) THEN transaction_id ELSE NULL END) as txn_cnt_current , count(distinct CASE WHEN updated_date BETWEEN DATE_SUB('2023-05-02', 32) AND DATE_SUB('2023-05-02', 2) THEN senderuserid ELSE NULL END) as sender_vpa_cnt_current from fraud.transaction_details_v3 where updated_date between '2023-03-01' and '2023-03-31' and receivertype = 'MERCHANT' and (receiversubtype In ('P2P_MERCHANT','P2M_LIMITED') or origination_mode in ('B2B_PG')) and backend_errorcode = 'SUCCESS' and mcc not in ('5944', '5541') group by receiveruser Having txn_cnt_previous > 100 AND ((A.sender_vpa_cnt_previous - B.sender_vpa_cnt_current) > 500))A INNER JOIN (select merchant_id, count(distinct store_id) as store_cnt from fraud.offline_merchant_profile_v2 group by merchant_id having store_cnt <= 2)C ON B.receiveruser = C.merchant_id where and (A.amount_total_previous-B.amount_total_current) > 2000000 and ((A.amount_total_previous-B.amount_total_current)/B.amount_total_current) > 0.8
Comments