How to find rules added and removed between rule deployments in SAS® Fraud Management


Run the following SQL query in the SOR/FCMCORE database to find rules added and removed between rule deployments in SAS Fraud Management:

     WITH build_versions AS (
         SELECT DISTINCT
                build_id,
                LAG(build_id) OVER (ORDER BY build_id) prev_build_id
         FROM FCMCORE.FCM_BUILD_PACKAGE
     )
     SELECT
         ov.prev_build_id AS previous_build,
         ov.build_id      AS current_build,
         o.rule_id,
         'ADDED'          AS change_type
     FROM build_versions ov
     JOIN FCMCORE.FCM_BUILD_PACKAGE o
         ON o.build_id = ov.build_id
     WHERE ov.prev_build_id IS NOT NULL
     AND NOT EXISTS (
         SELECT 1
         FROM FCMCORE.FCM_BUILD_PACKAGE p
         WHERE p.build_id = ov.prev_build_id
         AND p.rule_id = o.rule_id
     )
     
     UNION ALL
     
     SELECT
         ov.prev_build_id AS previous_build,
         ov.build_id      AS current_build,
         p.rule_id,
         'DELETED'        AS change_type
     FROM build_versions ov
     JOIN FCMCORE.FCM_BUILD_PACKAGE p
         ON p.build_id = ov.prev_build_id
     WHERE ov.prev_build_id IS NOT NULL
     AND NOT EXISTS (
         SELECT 1
         FROM FCMCORE.FCM_BUILD_PACKAGE c
         WHERE c.build_id = ov.build_id
         AND c.rule_id = p.rule_id
     )
     
     ORDER BY 2, 3;