You are on page 1of 2

WITH RULELASTRUN AS (

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

You might also like