0% found this document useful (0 votes)
2 views

Endo Compliance_Updated RA heatmap SQL

The document contains a SQL query that calculates average risk and control sums based on various attributes from a transaction dataset. It includes conditions for risk overrides and ratings to adjust the sums accordingly. The query aggregates results by business unit, country group, entity, monitoring year, and activity type.

Uploaded by

arjun gupta
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views

Endo Compliance_Updated RA heatmap SQL

The document contains a SQL query that calculates average risk and control sums based on various attributes from a transaction dataset. It includes conditions for risk overrides and ratings to adjust the sums accordingly. The query aggregates results by business unit, country group, entity, monitoring year, and activity type.

Uploaded by

arjun gupta
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 4

SELECT "Business Unit",

"Country Group",
"Entity",
"Monitoring Year",
"Activity Type",
Round(Avg(yy."Risk sum"), 1) AS "Risk Sum Final",
Round(Avg(yy."Control sum"),1) AS "Control Sum Final"
FROM (
SELECT "Business Unit",
"Country Group",
"Entity",
"Monitoring Year",
"Activity Type",
"Risk Override",
"Risk Rating",
CASE
WHEN "Risk Override" IS NULL
OR "Risk Override" = '' THEN "Risk_Attributes_Sum"

WHEN "Risk Override" = 'Yellow - Moderate'


AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 1 AND 38
THEN Round(((39 - Cast( xx."Risk Rating" AS NUMERIC))/2 +
Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
WHEN "Risk Override" = 'Green - Low'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 39 AND 53 THEN
Round(((38 - Cast( xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Risk_Attributes_Sum"
AS NUMERIC)), 1)
WHEN "Risk Override" = 'Orange - High'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 39 AND 53
THEN Round(((54 - Cast( xx."Risk Rating" AS NUMERIC))/2 +
Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 54 AND 75 THEN
Round(((53 - Cast( xx."Risk Rating" AS NUMERIC))/2 +
Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
END AS "Risk sum",
CASE
WHEN "Risk Override" IS NULL
OR "Risk Override" = '' THEN "Control_Attributes_Sum"
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 1 AND 38 THEN
Round(((39 - Cast( xx."Risk Rating" AS NUMERIC))/2 +
Cast( xx."Control_Attributes_Sum" AS NUMERIC)), 1)
WHEN "Risk Override" = 'Green - Low'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 39 AND 53 THEN Round(((38 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
WHEN "Risk Override" = 'Orange - High'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 39 AND 53 THEN Round(((54 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 54 AND 75 THEN Round(((53 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
END AS "Control sum"
FROM (
SELECT a.id
AS "Transaction_id",
d.cluster_name
AS "Business Unit",
e.country_group_name
AS "Country Group",
f.entity_name
AS "Entity",
TRANSACTION->>'YR'
AS "Monitoring Year",
TRANSACTION->>'RR'
AS "Risk Rating",
TRANSACTION->>'RO'
AS "Risk Override",
TRANSACTION->>'AT'

AS "Activity Type",
1* Cast(Split_part(TRANSACTION->>'SD', '-', 1) AS NUMERIC) + 1*
Cast(Split_part(TRANSACTION->>'VF', '-', 1) AS NUMERIC)
+3 * Cast(Split_part(TRANSACTION->>'EER', '-', 1) AS NUMERIC)
+2*Cast(Split_part(TRANSACTION->>'TPI', '-', 1) AS NUMERIC) +
1* Cast(Split_part(TRANSACTION->>'OR', '-', 1) AS NUMERIC) AS
"Risk_Attributes_Sum",

1*Cast(Split_part(TRANSACTION->>'PPT', '-', 1) AS NUMERIC) +


1*Cast(Split_part(TRANSACTION->>'ST', '-', 1) AS NUMERIC)+
1*Cast(Split_part(TRANSACTION->>'BLM', '-', 1) AS NUMERIC)+
2*Cast(Split_part(TRANSACTION->>'IS', '-', 1) AS NUMERIC) +
2*Cast(Split_part(TRANSACTION->>'MA', '-', 1) AS NUMERIC) AS
"Control_Attributes_Sum"
FROM "prestage".TRANSACTION a
INNER JOIN "prestage".datasource b
ON a.datasource_id = b.id
LEFT OUTER JOIN "prestage".cluster d
ON a.cluster_id = d.id
LEFT OUTER JOIN "prestage".country_group e
ON a.country_group_id = e.id
LEFT OUTER JOIN "prestage".entity f
ON a.entity_id = f.id
WHERE datasource_name ilike 'Risk_Assessment_Template%' AND TRANSACTION-
>>'YR' > '2024'
AND transaction_status!='0')xx)yy
GROUP BY "Activity Type",
yy."Business Unit",
yy."Country Group",
yy."Entity",
yy."Monitoring Year"

UNION ALL
SELECT "Business Unit",
"Country Group",
"Entity",
"Monitoring Year",
"Activity Type",
Round(Avg(yy."Risk sum"), 1) AS "Risk Sum Final",
Round(Avg(yy."Control sum"),1) AS "Control Sum Final"
FROM (
SELECT "Business Unit",
"Country Group",
"Entity",
"Monitoring Year",
"Activity Type",
"Risk Override",
"Risk Rating",
CASE
WHEN "Risk Override" IS NULL
OR "Risk Override" = '' THEN "Risk_Attributes_Sum"
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 10 AND 25 THEN Round(((26 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
WHEN "Risk Override" = 'Green - Low'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 26 AND 35 THEN Round(((25 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
WHEN "Risk Override" = 'Orange - High'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 26 AND 35 THEN Round(((36 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 36 AND 50 THEN Round(((35 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Risk_Attributes_Sum" AS NUMERIC)), 1)
END AS "Risk sum",
CASE
WHEN "Risk Override" IS NULL
OR "Risk Override" = '' THEN "Control_Attributes_Sum"
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 10 AND 25 THEN Round(((26 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
WHEN "Risk Override" = 'Green - Low'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 26 AND 35 THEN Round(((25 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
WHEN "Risk Override" = 'Orange - High'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 26 AND 35 THEN Round(((36 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
WHEN "Risk Override" = 'Yellow - Moderate'
AND Cast( "Risk Rating" AS NUMERIC) BETWEEN 36 AND 50 THEN Round(((35 - Cast(
xx."Risk Rating" AS NUMERIC))/2 + Cast( xx."Control_Attributes_Sum" AS NUMERIC)),
1)
END AS "Control sum"
FROM (
SELECT a.id
AS "Transaction_id",
d.cluster_name
AS "Business Unit",
e.country_group_name
AS "Country Group",
f.entity_name
AS "Entity",
TRANSACTION->>'YR'
AS "Monitoring Year",
TRANSACTION->>'RR'
AS "Risk Rating",
TRANSACTION->>'RO'
AS "Risk Override",
TRANSACTION->>'AT'
AS "Activity Type",
Cast(Split_part(TRANSACTION->>'SD', '-', 1) AS NUMERIC) +
Cast(Split_part(TRANSACTION->>'VF', '-', 1) AS NUMERIC)
+Cast(Split_part(TRANSACTION->>'EER', '-', 1) AS NUMERIC) +
Cast(Split_part(TRANSACTION->>'IS', '-', 1) AS NUMERIC)
+Cast(Split_part(TRANSACTION->>'OR', '-', 1) AS NUMERIC) AS "Risk_Attributes_Sum",
Cast(Split_part(TRANSACTION->>'PPT', '-', 1) AS NUMERIC) +
Cast(Split_part(TRANSACTION->>'ST', '-', 1) AS NUMERIC)
+Cast(Split_part(TRANSACTION->>'TPI', '-', 1) AS NUMERIC) +
Cast(Split_part(TRANSACTION->>'BLM', '-', 1) AS NUMERIC)
+Cast(Split_part(TRANSACTION->>'MA', '-', 1) AS NUMERIC) AS
"Control_Attributes_Sum"
FROM "prestage".TRANSACTION a
INNER JOIN "prestage".datasource b
ON a.datasource_id = b.id
LEFT OUTER JOIN "prestage".cluster d
ON a.cluster_id = d.id
LEFT OUTER JOIN "prestage".country_group e
ON a.country_group_id = e.id
LEFT OUTER JOIN "prestage".entity f
ON a.entity_id = f.id
WHERE datasource_name ilike 'Risk_Assessment_Template%' AND TRANSACTION-
>>'YR' <= '2024'
AND transaction_status!='0')xx)yy
GROUP BY "Activity Type",
yy."Business Unit",
yy."Country Group",
yy."Entity",
yy."Monitoring Year"

You might also like