Tenant no. of CC used trend

PHOTO EMBED

Thu Dec 29 2022 13:14:01 GMT+0000 (Coordinated Universal Time)

Saved by @shubhangi_burle

%jdbc(hive)
set tez.queue.name=default;
set hive.execution.engine=tez;

-- AML RENT: MULTIPLE CARDS USED FOR RENT PAYMENT : MONTHLY
with base as
    (SELECT DISTINCT A.landlord
    , IF(B.phone_number IS NOT NULL, B.phone_number, NULL) AS landlord_phoneno
    , IF(C.reciver_vpa IS NOT NULL, C.reciver_vpa, NULL) AS landlord_vpa
    , IF(B.user_id IS NOT NULL, B.user_id, C.user_id) as landlord_user_id
    , A.sender
    , A.txn_id, A.amt --, A.CC
    , A.month, A.day, A.timee
    , D.cardId
    -- , A.eventdata_senderglobalcardid, A.eventdata_receiverbankifsc, A.eventdata_receiverbankaccountsha, A.eventdata_receivermaskaccountid
    -- , CONCAT(A.eventdata_sendermaskaccountid, " - ", eventdata_senderbankid) AS uniqueCardId
    FROM
        (select distinct eventdata_merchantcontext_contactid as landlord
        , eventdata_transactionid AS txn_id
        ,eventdata_sender as sender
        ,eventdata_senderphone
        ,eventdata_totaltransactionamount/100 as amt
        -- ,eventdata_senderglobalcardid as CC
        ,month, day, `time` as timee
        -- , eventdata_senderglobalcardid, eventdata_receiverbankifsc, eventdata_receiverbankaccountsha
        , eventdata_sendermaskaccountid, eventdata_senderbankid
        from foxtrot_stream.payment_backend_transact
        where 0 = 0
        and year = 2022 and month = 11 ------------------- CHANGE THIS IF REQUIRED
        and eventtype = 'PAYMENT'
        and eventdata_status = 'COMPLETED'
        and eventdata_receiveruser = 'PHONEPERENTPAYMENT'
        and eventdata_sendertype = 'INTERNAL_USER'
        AND eventdata_workflowtype = 'CONSUMER_TO_MERCHANT'
        AND eventdata_receiversubtype = 'ONLINE_MERCHANT'
        AND eventdata_receivertypeinrequest = 'MERCHANT'
        AND eventdata_receivertype = 'MERCHANT'
        AND ((LENGTH(eventdata_merchantcontext_contactid) = 10) 
            OR (eventdata_merchantcontext_contactid LIKE '%@ybl') OR (eventdata_merchantcontext_contactid LIKE '%@ibl') OR (eventdata_merchantcontext_contactid LIKE '%@axl')))A
    LEFT JOIN
        (SELECT DISTINCT user_ext_id AS user_id, phone_number
        FROM users.users
        WHERE blacklisted = 0)B
    ON A.landlord = B.phone_number
    LEFT JOIN
        (SELECT DISTINCT receiveruser as user_id, reciver_vpa
        FROM fraud.transaction_details_v3
        WHERE year(updated_date) = 2022 AND Month(updated_date) = 11 ------------------- CHANGE THIS IF REQUIRED
        AND errorcode = 'SUCCESS' and pay_transaction_status = 'COMPLETED'
        AND ((reciver_vpa LIKE '%@ybl') OR (reciver_vpa LIKE '%@ibl') OR (reciver_vpa LIKE '%@axl')))C
    ON A.landlord = C.reciver_vpa
    INNER JOIN
        (SELECT DISTINCT transaction_id AS txn_id, CONCAT(masked_card_number, " - " , bank_id) AS cardId
        FROM payment.transaction_payer_sources
        WHERE year = 2022 AND month = 11 AND masked_card_number IS NOT NULL)D
    ON A.txn_id = D.txn_id)

SELECT CCused, COUNT(DISTINCT sender) as users FROM 
    (SELECT sender, COUNT(DISTINCT cardId) as CCused --, SUM(amt) as totRentPaid
    FROM base
    WHERE landlord_user_id IS NOT NULL
    GROUP BY sender)X
GROUP BY CCused
content_copyCOPY