This SQL query joins several tables to retrieve metadata about business rules, including the last run time, business unit, system name, dimension, data owner, rule name, description, data source, quality score, and total records. It uses window functions, common table expressions, outer joins, and handles null values to consolidate the metadata for reporting purposes.
This SQL query joins several tables to retrieve metadata about business rules, including the last run time, business unit, system name, dimension, data owner, rule name, description, data source, quality score, and total records. It uses window functions, common table expressions, outer joins, and handles null values to consolidate the metadata for reporting purposes.
This SQL query joins several tables to retrieve metadata about business rules, including the last run time, business unit, system name, dimension, data owner, rule name, description, data source, quality score, and total records. It uses window functions, common table expressions, outer joins, and handles null values to consolidate the metadata for reporting purposes.
SELECT tb1.RULERID, tb1.STARTTIME, tb1.PERCENTPASSED AS QUALITYSCORE,
tb1.TOTALRECORDS FROM ( SELECT *, ROW_NUMBER() OVER(PARTITION BY RULERID ORDER BY STARTTIME DESC) RowNum FROM IAVIEWS.IARULEEXECUTIONHISTORY ) tb1 WHERE tb1.RowNum = 1 ) , IGCTerms AS ( SELECT col.RID colRID, col.PROJECTRID, term_dim.RID TermRID FROM IAVIEWS.IAREGISTEREDCOLUMN col INNER JOIN CMVIEWS.PDRDATABASECOLUMN dbcol ON col.DATAFIELDRID = dbcol.RID INNER JOIN IGVIEWS.IGASSIGNEDOBJECTSOFATERM classification ON classification.CLASSIFIEDOBJECTRID = dbcol.RID INNER JOIN IGVIEWS.IGBUSINESSTERM term_dim ON term_dim.RID = classification.BUSINESSTERMRID ) , BUTree AS ( SELECT DISTINCT t2.TERMRID, ct2.NAME SubBU, ct3.NAME BU FROM IGVIEWS.IGTERMREFERENCEDBYCATEGORY t2 INNER JOIN IGVIEWS.IGBUSINESSCATEGORY ct2 ON t2.CATEGORYRID = ct2.RID LEFT JOIN IGVIEWS.IGBUSINESSCATEGORY ct3 ON ct2.SUPERCATEGORYRID = ct3.RID ) , tblSys AS ( SELECT DISTINCT comval.VALUE, term.RID termRID FROM CMVIEWS.COMMONCUSTOMATTRIBUTESTRINGVAL comval INNER JOIN CMVIEWS.COMMONOBJECT como ON comval.OBJECTRID = como.RID INNER JOIN IGVIEWS.IGBUSINESSTERM term ON como.RID = term.RID INNER JOIN CMVIEWS.COMMONCUSTOMATTRIBUTE custattr ON comval.OFCUSTOMATTRIBUTERID = custattr.RID WHERE custattr.NAME = 'CN Core System Name' ) , tblDimensions AS ( SELECT comval.VALUE, custattr.NAME, term.RID termRID FROM CMVIEWS.COMMONCUSTOMATTRIBUTE custattr LEFT JOIN CMVIEWS.COMMONCUSTOMATTRIBUTESTRINGVAL comval ON custattr.RID = comval.OFCUSTOMATTRIBUTERID LEFT JOIN CMVIEWS.COMMONOBJECT como ON comval.OBJECTRID = como.RID LEFT JOIN IGVIEWS.IGBUSINESSTERM term ON como.RID = term.RID WHERE custattr.NAME = 'CN Dimension (Parent Level)' AND comval.SEQUENCE = 1 ) , tblDataOwner AS ( SELECT DISTINCT term.RID termRID,nvl(t1.VALUE,'') VALUE FROM IGVIEWS.IGBUSINESSTERM term LEFT JOIN ( SELECT comval.VALUE, custattr.NAME, como.RID FROM CMVIEWS.COMMONCUSTOMATTRIBUTE custattr LEFT JOIN CMVIEWS.COMMONCUSTOMATTRIBUTESTRINGVAL comval ON custattr.RID = comval.OFCUSTOMATTRIBUTERID LEFT JOIN CMVIEWS.COMMONOBJECT como ON comval.OBJECTRID = como.RID WHERE custattr.NAME = 'CN Data Owner' ) t1 ON term.RID = t1.RID ) SELECT DISTINCT TIMEZONE(RuleLastRun.STARTTIME , 'Etc/UTC', 'Asia/Jakarta') LastRun , NVL(bu.BU, bu1.BU) BU, NVL(bu.SubBU, bu1.SubBU) SubBU , NVL(tblSys.VALUE, tblSys1.VALUE) AS SystemName , NVL(tblDimensions.VALUE, tblDimensions1.VALUE) AS DIMENSION , NVL(tblDataOwner.VALUE, tblDataOwner1.VALUE) AS DATAOWNER , term.NAME Term , rul.NAME Rule , rul.SHORTDESCRIPTION , col.DATABASE DATASOURCE , RuleLastRun.QUALITYSCORE , RuleLastRun.TOTALRECORDS FROM IAVIEWS.IAPROJECT term INNER JOIN IAVIEWS.IARULE rul ON term.RID = rul.PROJECTRID INNER JOIN IAVIEWS.IARULEBINDING bind ON rul.RID = bind.RULERID INNER JOIN IAVIEWS.IAREGISTEREDCOLUMN col ON bind.TARGETRID = col.RID INNER JOIN RULELASTRUN RuleLastRun ON rul.RID = RuleLastRun.RULERID LEFT JOIN IGCTerms igTerm ON col.RID = igTerm.colRID LEFT JOIN BUTree bu ON igTerm.TERMRID = bu.TERMRID LEFT JOIN tblSys ON igTerm.TERMRID = tblSys.termRID LEFT JOIN tblDimensions ON igTerm.TERMRID = tblDimensions.termRID LEFT JOIN tblDataOwner ON igTerm.TERMRID = tblDataOwner.termRID /**/ INNER JOIN IGVIEWS.IGBUSINESSTERM term_name ON REPLACE(term.NAME,'_',' ') = term_name.NAME LEFT JOIN BUTree bu1 ON term_name.RID = bu1.TERMRID LEFT JOIN tblSys tblSys1 ON term_name.RID = tblSys1.termRID LEFT JOIN tblDimensions tblDimensions1 ON term_name.RID = tblDimensions1.termRID LEFT JOIN tblDataOwner tblDataOwner1 ON term_name.RID = tblDataOwner1.termRID /**/ WHERE 1=1 ORDER BY term.NAME