WLF_CM_PERSONS_COUNT_V
Details
-
Schema: FUSION
-
Object owner: WLF
-
Object type: VIEW
Columns
Name |
---|
MANAGER_ID ORG_COUNT DIRECTS_COUNT CHANGE_DATE EFFECTIVE_START_DATE EFFECTIVE_END_DATE |
Query
SQL_Statement |
---|
WITH EFFECTIVE_CHANGE_DATES AS (SELECT DISTINCT MANAGER_ID, EFFECTIVE_START_DATE AS CHANGE_DATE FROM PER_MANAGER_HRCHY_DN UNION ALL SELECT DISTINCT MANAGER_ID, EFFECTIVE_END_DATE AS CHANGE_DATE FROM PER_MANAGER_HRCHY_DN ) SELECT HRCHY.MANAGER_ID, COUNT(DISTINCT HRCHY.PERSON_ID) AS ORG_COUNT, SUM((CASE WHEN (HRCHY.MANAGER_LEVEL = 1 AND HRCHY.MANAGER_ID = CHANGE_DATES.MANAGER_ID) THEN 1 ELSE 0 END)) AS DIRECTS_COUNT, CHANGE_DATES.CHANGE_DATE, CHANGE_DATES.CHANGE_DATE AS EFFECTIVE_START_DATE, (SELECT MIN(CH.CHANGE_DATE)-1 FROM EFFECTIVE_CHANGE_DATES CH WHERE CHANGE_DATES.CHANGE_DATE < CH.CHANGE_DATE AND HRCHY.MANAGER_ID = CH.MANAGER_ID) AS EFFECTIVE_END_DATE FROM PER_MANAGER_HRCHY_DN HRCHY, EFFECTIVE_CHANGE_DATES CHANGE_DATES WHERE HRCHY.MANAGER_ID = CHANGE_DATES.MANAGER_ID AND TRUNC(CHANGE_DATES.CHANGE_DATE) BETWEEN HRCHY.EFFECTIVE_START_DATE AND HRCHY.EFFECTIVE_END_DATE GROUP BY HRCHY.MANAGER_ID, CHANGE_DATES.CHANGE_DATE ORDER BY CHANGE_DATES.CHANGE_DATE |