SELECT
a.mt,
a.mid_type,
success_users,
refunded_success_users,
rejected_users,
failed_users,
total_unique_users,
success_merchants,
refunded_success_merchants,
rejected_merchants,
failed_merchants,
total_unique_merchants,
success_txns,
refunded_success_txns,
rejected_txns,
failed_txns,
success_gmv,
refunded_success_gmv,
rejected_gmv,
failed_gmv,
fraud_merchants,
refunded_fraud_merchants,
fraud_txns,
refunded_fraud_txns,
fraud_gmv,
refunded_fraud_gmv,
CAST((fraud_gmv / success_gmv) * 10000 AS DECIMAL(18, 2)) AS gross_fts,
CAST(
(
(fraud_gmv - refunded_fraud_gmv) / (success_gmv - refunded_success_gmv)
) * 10000 AS DECIMAL(18, 2)
) AS net_fts,
cb_merchants,
cb_txns,
cb_gmv,
CAST((cb_gmv / success_gmv) * 10000 AS DECIMAL(18, 2)) AS cts,
accepted_cb_merchants,
accepted_cb_txns,
accepted_cb_gmv,
defended_cb_merchants,
defended_cb_txns,
defended_cb_gmv,
open_cb_merchants,
open_cb_txns,
open_cb_gmv,
rec_pend_cb_merchants,
rec_pend_cb_txns,
rec_pend_cb_gmv
FROM
(
SELECT
mt,
mid_type,
COUNT(DISTINCT users) AS total_unique_users,
COUNT(DISTINCT paytmmerchantid) AS total_unique_merchants
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
users,
paytmmerchantid
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS x
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT users) AS success_users,
COUNT(DISTINCT paytmmerchantid) AS success_merchants,
COUNT(transactionid) AS success_txns,
SUM(txn_amount) AS success_gmv,
COUNT(DISTINCT cb_mid) AS cb_merchants,
COUNT(cb_txnid) AS cb_txns,
SUM(cb_amount) AS cb_gmv,
COUNT(DISTINCT fraud_mid) AS fraud_merchants,
COUNT(fraud_txnid) AS fraud_txns,
SUM(fraud_amount) AS fraud_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
users,
paytmmerchantid,
transactionid,
txn_amount,
cb_mid,
cb_txnid,
cb_amount,
fraud_mid,
fraud_txnid,
fraud_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'SUCCESS'
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS a ON x.mt = a.mt
AND x.mid_type = a.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT users) AS failed_users,
COUNT(DISTINCT paytmmerchantid) AS failed_merchants,
COUNT(transactionid) AS failed_txns,
SUM(txn_amount) AS failed_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
users,
paytmmerchantid,
transactionid,
txn_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'CLOSED'
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS b ON a.mt = b.mt
AND a.mid_type = b.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT users) AS rejected_users,
COUNT(DISTINCT paytmmerchantid) AS rejected_merchants,
COUNT(transactionid) AS rejected_txns,
SUM(txn_amount) AS rejected_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
users,
paytmmerchantid,
transactionid,
txn_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'BLOCK'
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS c ON a.mt = c.mt
AND a.mid_type = c.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT users) AS refunded_success_users,
COUNT(DISTINCT paytmmerchantid) AS refunded_success_merchants,
COUNT(transactionid) AS refunded_success_txns,
SUM(txn_amount) AS refunded_success_gmv,
COUNT(DISTINCT fraud_mid) AS refunded_fraud_merchants,
COUNT(fraud_txnid) AS refunded_fraud_txns,
SUM(fraud_amount) AS refunded_fraud_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
users,
paytmmerchantid,
transactionid,
txn_amount,
fraud_mid,
fraud_txnid,
fraud_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'SUCCESS'
AND refund_amount > 0
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS d ON a.mt = d.mt
AND a.mid_type = d.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT cb_mid) AS accepted_cb_merchants,
COUNT(cb_txnid) AS accepted_cb_txns,
SUM(cb_amount) AS accepted_cb_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
cb_mid,
cb_txnid,
cb_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'SUCCESS'
AND final_cb_status = 'ACCEPTED'
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS f ON a.mt = f.mt
AND a.mid_type = f.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT cb_mid) AS defended_cb_merchants,
COUNT(cb_txnid) AS defended_cb_txns,
SUM(cb_amount) AS defended_cb_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
cb_mid,
cb_txnid,
cb_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'SUCCESS'
AND final_cb_status = 'DEFENDED'
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS g ON a.mt = g.mt
AND a.mid_type = g.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT cb_mid) AS open_cb_merchants,
COUNT(cb_txnid) AS open_cb_txns,
SUM(cb_amount) AS open_cb_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
cb_mid,
cb_txnid,
cb_amount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'SUCCESS'
AND final_cb_status = 'OPEN'
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS h ON a.mt = h.mt
AND a.mid_type = h.mid_type
LEFT JOIN (
SELECT
mt,
mid_type,
COUNT(DISTINCT cb_mid) AS rec_pend_cb_merchants,
COUNT(cb_txnid) AS rec_pend_cb_txns,
SUM(cb_amount - cb_RecoveredAmount) AS rec_pend_cb_gmv
FROM
(
SELECT
DISTINCT IF(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1),
'LMTD',
IF(
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
),
'MTD',
'NA'
)
) AS mt,
mid_type,
cb_mid,
cb_txnid,
cb_amount,
cb_RecoveredAmount
FROM
team_kingkong.rohit_edc_qr_users_wCB_wFraud_Dec
WHERE
actionrecommended = 'PASS'
AND txn_status = 'SUCCESS'
AND final_cb_status = 'ACCEPTED'
AND (
cb_RecoveredAmount IS NULL
OR cb_RecoveredAmount < cb_amount
)
AND (
(
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', ADD_MONTHS(CURRENT_DATE, -1)))
AND ADD_MONTHS(CURRENT_DATE - INTERVAL '1' DAY, -1)
)
OR (
dateinserted BETWEEN DATE(DATE_TRUNC('MONTH', CURRENT_DATE))
AND DATE(CURRENT_DATE - INTERVAL '1' DAY)
)
)
)
GROUP BY
1,
2
) AS i ON a.mt = i.mt
AND a.mid_type = i.mid_type
Preview:
downloadDownload PNG
downloadDownload JPEG
downloadDownload SVG
Tip: You can change the style, width & colours of the snippet with the inspect tool before clicking Download!
Click to optimize width for Twitter