Notes
![]() ![]() Notes - notes.io |
a.resource_name AS RESOURCE_NAME,
CASE WHEN a.primary_role_key = ppm_dwh.dwh_null_number_fct(d.role_key,0) THEN 1 ELSE 2 END ROLE_ORDER,
a.primary_role_key AS PRIMARY_ROLE_KEY,
a.primary_role AS PRIMARY_ROLE,
d.role_key AS ROLE_KEY,
d.role_name AS ROLE_NAME,
d.investment_id AS INVESTMENT_ID,
d.investment_name AS INVESTMENT_NAME,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_1,0)) AS AVAIL_1,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_2,0)) AS AVAIL_2,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_3,0)) AS AVAIL_3,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_4,0)) AS AVAIL_4,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_5,0)) AS AVAIL_5,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_6,0)) AS AVAIL_6,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_7,0)) AS AVAIL_7,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_8,0)) AS AVAIL_8,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_9,0)) AS AVAIL_9,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_10,0)) AS AVAIL_10,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_11,0)) AS AVAIL_11,
MAX(ppm_dwh.dwh_null_number_fct(a.avail_12,0)) AS AVAIL_12,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_1,0)) AS DEMAND_1,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_2,0)) AS DEMAND_2,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_3,0)) AS DEMAND_3,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_4,0)) AS DEMAND_4,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_5,0)) AS DEMAND_5,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_6,0)) AS DEMAND_6,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_7,0)) AS DEMAND_7,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_8,0)) AS DEMAND_8,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_9,0)) AS DEMAND_9,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_10,0)) AS DEMAND_10,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_11,0)) AS DEMAND_11,
MAX(ppm_dwh.dwh_null_number_fct(d.demand_12,0)) AS DEMAND_12,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_1,0)) AS ACTUAL_1,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_2,0)) AS ACTUAL_2,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_3,0)) AS ACTUAL_3,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_4,0)) AS ACTUAL_4,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_5,0)) AS ACTUAL_5,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_6,0)) AS ACTUAL_6,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_7,0)) AS ACTUAL_7,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_8,0)) AS ACTUAL_8,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_9,0)) AS ACTUAL_9,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_10,0)) AS ACTUAL_10,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_11,0)) AS ACTUAL_11,
MAX(ppm_dwh.dwh_null_number_fct(ac.actual_12,0)) AS ACTUAL_12
FROM (SELECT r.primary_role_key primary_role_key,
r.primary_role primary_role,
r.resource_key resource_key,
r.resource_name resource_name,
SUM(CASE WHEN c.period_start_date = p.date_1 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_1,
SUM(CASE WHEN c.period_start_date = p.date_2 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_2,
SUM(CASE WHEN c.period_start_date = p.date_3 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_3,
SUM(CASE WHEN c.period_start_date = p.date_4 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_4,
SUM(CASE WHEN c.period_start_date = p.date_5 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_5,
SUM(CASE WHEN c.period_start_date = p.date_6 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_6,
SUM(CASE WHEN c.period_start_date = p.date_7 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_7,
SUM(CASE WHEN c.period_start_date = p.date_8 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_8,
SUM(CASE WHEN c.period_start_date = p.date_9 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_9,
SUM(CASE WHEN c.period_start_date = p.date_10 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_10,
SUM(CASE WHEN c.period_start_date = p.date_11 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_11,
SUM(CASE WHEN c.period_start_date = p.date_12 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.avail_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.avail_hours/8 ELSE pf.avail_hours END ELSE 0 END) avail_12
FROM dwh_res_resource r
LEFT OUTER JOIN dwh_res_period_facts pf ON r.resource_key = pf.resource_key
INNER JOIN (SELECT MAX(CASE WHEN c.period_row = 1 THEN c.period_start_date ELSE NULL END) date_1,
MAX(CASE WHEN c.period_row = 2 THEN c.period_start_date ELSE NULL END) date_2,
MAX(CASE WHEN c.period_row = 3 THEN c.period_start_date ELSE NULL END) date_3,
MAX(CASE WHEN c.period_row = 4 THEN c.period_start_date ELSE NULL END) date_4,
MAX(CASE WHEN c.period_row = 5 THEN c.period_start_date ELSE NULL END) date_5,
MAX(CASE WHEN c.period_row = 6 THEN c.period_start_date ELSE NULL END) date_6,
MAX(CASE WHEN c.period_row = 7 THEN c.period_start_date ELSE NULL END) date_7,
MAX(CASE WHEN c.period_row = 8 THEN c.period_start_date ELSE NULL END) date_8,
MAX(CASE WHEN c.period_row = 9 THEN c.period_start_date ELSE NULL END) date_9,
MAX(CASE WHEN c.period_row = 10 THEN c.period_start_date ELSE NULL END) date_10,
MAX(CASE WHEN c.period_row = 11 THEN c.period_start_date ELSE NULL END) date_11,
MAX(CASE WHEN c.period_row = 12 THEN c.period_start_date ELSE NULL END) date_12
FROM (SELECT cln.period_name,
c.period_start_date,
ROW_NUMBER() OVER (PARTITION BY 1 ORDER BY c.period_start_date) period_row
FROM dwh_cmn_period c
INNER JOIN dwh_cmn_period_ln cln ON c.period_key = cln.period_key
AND cln.language_code = $P{ppmUserLanguage}
WHERE c.period_start_date BETWEEN CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH')
ELSE ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK') END
AND CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH'),'MONTH',11)
ELSE ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK'),'WEEK',12) END
AND c.period_type_key = $P{periodTypeWeekMonth}) c) p ON 1=1
INNER JOIN dwh_cmn_period c ON pf.period_key = c.period_key
AND c.period_type_key = $P{periodTypeWeekMonth}
WHERE 1=1
AND r.employment_type_key <> 0
AND r.resource_type_key <= 1
AND c.period_start_date BETWEEN CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH')
ELSE ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK') END
AND CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH'),'MONTH',11)
ELSE ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK'),'WEEK',12) END
AND (r.is_active = 1)
AND $X{IN, r.employment_type_key, employmentTypeKey_1}
AND $X{IN, r.resource_key, resourceKey_1}
AND $X{IN, r.resource_manager_key, resourceManagerKey_1}
AND $X{IN, r.booking_manager_key, bookingManagerKey_1}
AND $X{IN, r.primary_role_key, roleKey_1}
AND ($P{resourceOBSUnitKey_1} IS NULL
OR
r.resource_key IN (SELECT DISTINCT obsm.resource_key
FROM dwh_res_obs_mapping obsm
INNER JOIN dwh_cmn_obs_hierarchy obsh ON obsm.obs_unit_key = obsh.child_obs_unit_key
WHERE obsh.parent_obs_unit_key = $P{resourceOBSUnitKey_1}))
AND EXISTS (SELECT 1
FROM dwh_res_security_v
WHERE user_uid = $P{ppmUser}
AND resource_key = r.resource_key)
GROUP BY r.primary_role_key, r.primary_role, r.resource_key, r.resource_name) a
LEFT OUTER JOIN
(SELECT r.resource_key resource_key,
ppm_dwh.dwh_null_number_fct(t.role_key,r.primary_role_key) AS role_key,
ppm_dwh.dwh_null_varchar_fct(t.role_name,r.primary_role) AS role_name,
i.investment_id investment_id,
i.investment_name investment_name,
SUM(CASE WHEN c.period_start_date = p.date_1 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_1,
SUM(CASE WHEN c.period_start_date = p.date_2 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_2,
SUM(CASE WHEN c.period_start_date = p.date_3 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_3,
SUM(CASE WHEN c.period_start_date = p.date_4 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_4,
SUM(CASE WHEN c.period_start_date = p.date_5 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_5,
SUM(CASE WHEN c.period_start_date = p.date_6 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_6,
SUM(CASE WHEN c.period_start_date = p.date_7 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_7,
SUM(CASE WHEN c.period_start_date = p.date_8 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_8,
SUM(CASE WHEN c.period_start_date = p.date_9 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_9,
SUM(CASE WHEN c.period_start_date = p.date_10 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_10,
SUM(CASE WHEN c.period_start_date = p.date_11 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_11,
SUM(CASE WHEN c.period_start_date = p.date_12 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.alloc_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.alloc_hours/8 ELSE pf.alloc_hours END ELSE 0 END) demand_12
FROM dwh_inv_team t
INNER JOIN dwh_inv_investment i ON t.investment_key = i.investment_key
INNER JOIN dwh_res_resource r ON t.resource_key = r.resource_key
LEFT OUTER JOIN dwh_inv_team_period_facts pf ON t.team_key = pf.team_key
AND t.resource_key = pf.resource_key
AND t.investment_key = pf.investment_key
INNER JOIN (SELECT MAX(CASE WHEN c.period_row = 1 THEN c.period_start_date ELSE NULL END) date_1,
MAX(CASE WHEN c.period_row = 2 THEN c.period_start_date ELSE NULL END) date_2,
MAX(CASE WHEN c.period_row = 3 THEN c.period_start_date ELSE NULL END) date_3,
MAX(CASE WHEN c.period_row = 4 THEN c.period_start_date ELSE NULL END) date_4,
MAX(CASE WHEN c.period_row = 5 THEN c.period_start_date ELSE NULL END) date_5,
MAX(CASE WHEN c.period_row = 6 THEN c.period_start_date ELSE NULL END) date_6,
MAX(CASE WHEN c.period_row = 7 THEN c.period_start_date ELSE NULL END) date_7,
MAX(CASE WHEN c.period_row = 8 THEN c.period_start_date ELSE NULL END) date_8,
MAX(CASE WHEN c.period_row = 9 THEN c.period_start_date ELSE NULL END) date_9,
MAX(CASE WHEN c.period_row = 10 THEN c.period_start_date ELSE NULL END) date_10,
MAX(CASE WHEN c.period_row = 11 THEN c.period_start_date ELSE NULL END) date_11,
MAX(CASE WHEN c.period_row = 12 THEN c.period_start_date ELSE NULL END) date_12
FROM (SELECT cln.period_name,
c.period_start_date,
ROW_NUMBER() OVER (PARTITION BY 1 ORDER BY c.period_start_date) period_row
FROM dwh_cmn_period c
INNER JOIN dwh_cmn_period_ln cln ON c.period_key = cln.period_key
AND cln.language_code = $P{ppmUserLanguage}
WHERE c.period_start_date BETWEEN CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH')
ELSE ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK') END
AND CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH'),'MONTH',11)
ELSE ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK'),'WEEK',12) END
AND c.period_type_key = $P{periodTypeWeekMonth}) c) p ON 1=1
INNER JOIN dwh_cmn_period c ON pf.period_key = c.period_key
AND c.period_type_key = $P{periodTypeWeekMonth}
WHERE 1=1
AND r.employment_type_key <> 0
AND r.resource_type_key <= 1
AND i.is_template = 0
AND c.period_start_date BETWEEN CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH')
ELSE ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK') END
AND CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH'),'MONTH',11)
ELSE ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK'),'WEEK',12) END
AND (r.is_active = 1)
AND (i.is_active = 1)
AND $X{IN, r.employment_type_key, employmentTypeKey_1}
AND $X{IN, r.resource_key, resourceKey_1}
AND $X{IN, r.resource_manager_key, resourceManagerKey_1}
AND $X{IN, r.booking_manager_key, bookingManagerKey_1}
AND $X{IN, t.role_key, roleKey_1}
AND $X{IN, t.booking_status_key, bookingStatusKey_1}
AND $X{IN, i.investment_status_key, investmentStatusKey_1}
AND ($P{resourceOBSUnitKey_1} IS NULL
OR
r.resource_key IN (SELECT DISTINCT obsm.resource_key
FROM dwh_res_obs_mapping obsm
INNER JOIN dwh_cmn_obs_hierarchy obsh ON obsm.obs_unit_key = obsh.child_obs_unit_key
WHERE obsh.parent_obs_unit_key = $P{resourceOBSUnitKey_1}))
AND ($P{investmentOBSUnitKey_1} IS NULL
OR
i.investment_key IN (SELECT DISTINCT obsm.investment_key
FROM dwh_inv_obs_mapping obsm
INNER JOIN dwh_cmn_obs_hierarchy obsh ON obsm.obs_unit_key = obsh.child_obs_unit_key
WHERE obsh.parent_obs_unit_key = $P{investmentOBSUnitKey_1}))
AND EXISTS (SELECT 1
FROM dwh_res_security_v
WHERE user_uid = $P{ppmUser}
AND resource_key = r.resource_key)
GROUP BY r.resource_key, ppm_dwh.dwh_null_number_fct(t.role_key,r.primary_role_key), ppm_dwh.dwh_null_varchar_fct(t.role_name,r.primary_role), i.investment_id, i.investment_name) d ON a.resource_key = d.resource_key
LEFT OUTER JOIN
(SELECT r.resource_key resource_key,
SUM(CASE WHEN c.period_start_date = p.date_1 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_1,
SUM(CASE WHEN c.period_start_date = p.date_2 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_2,
SUM(CASE WHEN c.period_start_date = p.date_3 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_3,
SUM(CASE WHEN c.period_start_date = p.date_4 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_4,
SUM(CASE WHEN c.period_start_date = p.date_5 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_5,
SUM(CASE WHEN c.period_start_date = p.date_6 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_6,
SUM(CASE WHEN c.period_start_date = p.date_7 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_7,
SUM(CASE WHEN c.period_start_date = p.date_8 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_8,
SUM(CASE WHEN c.period_start_date = p.date_9 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_9,
SUM(CASE WHEN c.period_start_date = p.date_10 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_10,
SUM(CASE WHEN c.period_start_date = p.date_11 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_11,
SUM(CASE WHEN c.period_start_date = p.date_12 THEN CASE WHEN $P{unitType} = 'FTE' AND c.period_fte <> 0
THEN pf.actual_hours/c.period_fte WHEN $P{unitType} = 'D' THEN pf.actual_hours/8 ELSE pf.actual_hours END ELSE 0 END) actual_12
FROM dwh_inv_assignment a
INNER JOIN dwh_inv_team t ON a.team_key = t.team_key
AND a.resource_key = t.resource_key
AND a.investment_key = t.investment_key
INNER JOIN dwh_inv_investment i ON a.investment_key = i.investment_key
INNER JOIN dwh_res_resource r ON a.resource_key = r.resource_key
LEFT OUTER JOIN dwh_inv_assign_period_facts pf ON a.assignment_key = pf.assignment_key
AND a.resource_key = pf.resource_key
AND a.investment_key = pf.investment_key
INNER JOIN (SELECT MAX(CASE WHEN c.period_row = 1 THEN c.period_start_date ELSE NULL END) date_1,
MAX(CASE WHEN c.period_row = 2 THEN c.period_start_date ELSE NULL END) date_2,
MAX(CASE WHEN c.period_row = 3 THEN c.period_start_date ELSE NULL END) date_3,
MAX(CASE WHEN c.period_row = 4 THEN c.period_start_date ELSE NULL END) date_4,
MAX(CASE WHEN c.period_row = 5 THEN c.period_start_date ELSE NULL END) date_5,
MAX(CASE WHEN c.period_row = 6 THEN c.period_start_date ELSE NULL END) date_6,
MAX(CASE WHEN c.period_row = 7 THEN c.period_start_date ELSE NULL END) date_7,
MAX(CASE WHEN c.period_row = 8 THEN c.period_start_date ELSE NULL END) date_8,
MAX(CASE WHEN c.period_row = 9 THEN c.period_start_date ELSE NULL END) date_9,
MAX(CASE WHEN c.period_row = 10 THEN c.period_start_date ELSE NULL END) date_10,
MAX(CASE WHEN c.period_row = 11 THEN c.period_start_date ELSE NULL END) date_11,
MAX(CASE WHEN c.period_row = 12 THEN c.period_start_date ELSE NULL END) date_12
FROM (SELECT cln.period_name,
c.period_start_date,
ROW_NUMBER() OVER (PARTITION BY 1 ORDER BY c.period_start_date) period_row
FROM dwh_cmn_period c
INNER JOIN dwh_cmn_period_ln cln ON c.period_key = cln.period_key
AND cln.language_code = $P{ppmUserLanguage}
WHERE c.period_start_date BETWEEN CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH')
ELSE ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK') END
AND CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH'),'MONTH',11)
ELSE ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK'),'WEEK',12) END
AND c.period_type_key = $P{periodTypeWeekMonth}) c) p ON 1=1
INNER JOIN dwh_cmn_period c ON pf.period_key = c.period_key
AND c.period_type_key = $P{periodTypeWeekMonth}
WHERE 1=1
AND r.employment_type_key <> 0
AND r.resource_type_key <= 1
AND i.is_template = 0
AND c.period_start_date BETWEEN CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH')
ELSE ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK') END
AND CASE WHEN $P{periodTypeWeekMonth} = 'MONTHLY'
THEN ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'MONTH'),'MONTH',11)
ELSE ppm_dwh.dwh_cal_date_add_fct(ppm_dwh.dwh_cal_startdate_fct(ppm_dwh.dwh_cal_trunc_date_fct($P{startDate}),'WEEK'),'WEEK',12) END
AND (r.is_active = 1)
AND (i.is_active = 1)
AND $X{IN, r.employment_type_key, employmentTypeKey_1}
AND $X{IN, r.resource_key, resourceKey_1}
AND $X{IN, r.resource_manager_key, resourceManagerKey_1}
AND $X{IN, r.booking_manager_key, bookingManagerKey_1}
AND $X{IN, a.role_key, roleKey_1}
AND $X{IN, t.booking_status_key, bookingStatusKey_1}
AND $X{IN, i.investment_status_key, investmentStatusKey_1}
AND ($P{resourceOBSUnitKey_1} IS NULL
OR
r.resource_key IN (SELECT DISTINCT obsm.resource_key
FROM dwh_res_obs_mapping obsm
INNER JOIN dwh_cmn_obs_hierarchy obsh ON obsm.obs_unit_key = obsh.child_obs_unit_key
WHERE obsh.parent_obs_unit_key = $P{resourceOBSUnitKey_1}))
AND ($P{investmentOBSUnitKey_1} IS NULL
OR
i.investment_key IN (SELECT DISTINCT obsm.investment_key
FROM dwh_inv_obs_mapping obsm
INNER JOIN dwh_cmn_obs_hierarchy obsh ON obsm.obs_unit_key = obsh.child_obs_unit_key
WHERE obsh.parent_obs_unit_key = $P{investmentOBSUnitKey_1}))
AND EXISTS (SELECT 1
FROM dwh_res_security_v
WHERE user_uid = $P{ppmUser}
AND resource_key = r.resource_key)
GROUP BY r.resource_key) ac ON a.resource_key = ac.resource_key
WHERE 1=1
GROUP BY a.resource_key, a.resource_name, a.primary_role_key, a.primary_role, d.role_key, d.role_name, d.investment_id, d.investment_name
![]() |
Notes is a web-based application for online taking notes. You can take your notes and share with others people. If you like taking long notes, notes.io is designed for you. To date, over 8,000,000,000+ notes created and continuing...
With notes.io;
- * You can take a note from anywhere and any device with internet connection.
- * You can share the notes in social platforms (YouTube, Facebook, Twitter, instagram etc.).
- * You can quickly share your contents without website, blog and e-mail.
- * You don't need to create any Account to share a note. As you wish you can use quick, easy and best shortened notes with sms, websites, e-mail, or messaging services (WhatsApp, iMessage, Telegram, Signal).
- * Notes.io has fabulous infrastructure design for a short link and allows you to share the note as an easy and understandable link.
Fast: Notes.io is built for speed and performance. You can take a notes quickly and browse your archive.
Easy: Notes.io doesn’t require installation. Just write and share note!
Short: Notes.io’s url just 8 character. You’ll get shorten link of your note when you want to share. (Ex: notes.io/q )
Free: Notes.io works for 14 years and has been free since the day it was started.
You immediately create your first note and start sharing with the ones you wish. If you want to contact us, you can use the following communication channels;
Email: [email protected]
Twitter: http://twitter.com/notesio
Instagram: http://instagram.com/notes.io
Facebook: http://facebook.com/notesio
Regards;
Notes.io Team