Skip to content

Commit 09bbac6

Browse files
authored
Merge pull request #204 from MITLibraries/IN-1200-remove-2019-data-cutoff
IN 1200 - Remove 2019 data cutoff
2 parents 009c1eb + b05271c commit 09bbac6

5 files changed

+19
-11
lines changed

hrqb/tasks/sql/employee_appointments.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ CHANGELOG
1111
- 2024-05-13 Query created and added
1212
- 2024-06-03 Limit rows to appointments that end on or before 2019-01-01
1313
- 2024-06-05 Do not filter on benefits types
14+
- 2025-02-05 Remove 2019-01-01 date cutoff entirely
1415
*/
1516

1617
select distinct
@@ -61,5 +62,4 @@ left join HR_POSITION p on p.HR_POSITION_KEY = a.HR_POSITION_KEY
6162
left join BENEFITS_ELIGIBILITY_CURRENT bec on
6263
bec.MIT_ID = a.MIT_ID
6364
and a.PERSONNEL_KEY = bec.PERSONNEL_KEY
64-
where a.APPT_END_DATE >= TO_DATE('2019-01-01', 'YYYY-MM-DD')
6565
order by a.MIT_ID, a.APPT_BEGIN_DATE, a.APPT_END_DATE

hrqb/tasks/sql/employee_leave.sql

+2-4
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Query for Employee Leaves.
44
CHANGELOG
55
- 2024-05-13 Query created and added
66
- 2024-07-23 Added HR_POSITION.POSITION ID to select
7+
- 2025-02-05 Remove 2019-01-01 date cutoff entirely
78
*/
89

910
select distinct
@@ -25,8 +26,5 @@ from HR_ABSENCE_DETAIL abse
2526
inner join HR_APPOINTMENT_DETAIL appt on abse.MIT_ID = appt.MIT_ID
2627
inner join HR_ABSENCE_TYPE at on at.HR_ABSENCE_TYPE_KEY = abse.HR_ABSENCE_TYPE_KEY
2728
left join HR_POSITION p on p.HR_POSITION_KEY = appt.HR_POSITION_KEY
28-
where (
29-
appt.APPT_END_DATE >= TO_DATE('2019-01-01', 'YYYY-MM-DD')
30-
and abse.ABSENCE_DATE between appt.APPT_BEGIN_DATE and appt.APPT_END_DATE
31-
)
29+
where abse.ABSENCE_DATE between appt.APPT_BEGIN_DATE and appt.APPT_END_DATE
3230
order by appt.MIT_ID, abse.ABSENCE_DATE

hrqb/tasks/sql/employee_leave_balances.sql

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Query for Employee Leave Balances.
44
CHANGELOG
55
- 2024-09-26 Query created and added
66
- 2024-09-26 Filter to employees with appointment end dates >= 2019
7+
- 2025-02-05 Remove 2019-01-01 date cutoff entirely
78
*/
89

910
select
@@ -24,5 +25,4 @@ and b.MIT_ID in (
2425
select
2526
a.MIT_ID
2627
from HR_APPOINTMENT_DETAIL a
27-
where a.APPT_END_DATE >= TO_DATE('2019-01-01', 'YYYY-MM-DD')
2828
)

hrqb/tasks/sql/employee_salary_history.sql

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ CHANGELOG
1010
- 2024-06-03 Date limit to appointments ending after 2019-01-01
1111
- 2024-07-24 Added appointment begin/end date to help match appointments
1212
- 2024-09-18 Omit any HR_PERSONNEL_ACTION_TYPE rows where type is "Salary Supplement"
13+
- 2025-02-05 Remove 2019-01-01 date cutoff entirely
1314
*/
1415

1516
select distinct
@@ -45,6 +46,5 @@ inner join HR_APPOINTMENT_DETAIL appt on appt.HR_APPT_KEY = a.HR_APPT_KEY
4546
left join HR_PERSONNEL_ACTION_TYPE at on at.HR_PERSONNEL_ACTION_TYPE_KEY = a.HR_PERSONNEL_ACTION_TYPE_KEY
4647
left join HR_JOB j on j.HR_JOB_KEY = a.HR_JOB_KEY
4748
left join HR_POSITION p on p.HR_POSITION_KEY = a.HR_POSITION_KEY
48-
where a.APPT_END_DATE >= TO_DATE('2019-01-01', 'YYYY-MM-DD')
49-
and at.HR_PERSONNEL_ACTION not in ('Salary Supplement')
49+
where at.HR_PERSONNEL_ACTION not in ('Salary Supplement')
5050
order by a.MIT_ID, a.APPT_TX_BEGIN_DATE, a.APPT_TX_END_DATE

hrqb/tasks/sql/employees.sql

+13-3
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,9 @@ CHANGELOG
1111
- 2024-10-08
1212
- reworked CTEs to provide details about last library appointment only
1313
- move > 2019 filtering to HR_PERSON_EMPLOYEE in ordered_lib_appt MIT_IDs
14+
- 2025-02-05 Remove 2019-01-01 date cutoff entirely
15+
- 2025-02-05 Add CTE 'last_appt_termination_txn' to ensure only the last termination
16+
reason is included to avoid duplicating employee rows
1417
*/
1518

1619
-- get all library appointments for employee, ordered
@@ -26,7 +29,6 @@ with ordered_lib_appt as (
2629
order by APPT_BEGIN_DATE desc, APPT_END_DATE desc
2730
) as appt_row_num
2831
from HR_APPOINTMENT_DETAIL
29-
where APPT_END_DATE >= TO_DATE('2019-01-01', 'YYYY-MM-DD')
3032
),
3133
-- select only the last / current appointment for employee
3234
last_lib_appt as (
@@ -40,19 +42,27 @@ appt_termination_txns as (
4042
ad.MIT_ID,
4143
ad.HR_POSITION_KEY,
4244
at.HR_PERSONNEL_ACTION,
43-
at.HR_ACTION_REASON as TERMINATION_REASON
45+
at.HR_ACTION_REASON as TERMINATION_REASON,
46+
row_number() over (
47+
partition by MIT_ID
48+
order by APPT_BEGIN_DATE desc, APPT_END_DATE desc
49+
) as termination_txn_row_num
4450
from HR_APPT_ACTION_DETAIL ad
4551
left join HR_PERSONNEL_ACTION_TYPE at on at.HR_PERSONNEL_ACTION_TYPE_KEY = ad.HR_PERSONNEL_ACTION_TYPE_KEY
4652
where at.HR_PERSONNEL_ACTION in ('Retirement','Termination')
4753
),
54+
last_appt_termination_txn as (
55+
select * from appt_termination_txns
56+
where termination_txn_row_num = 1
57+
),
4858
-- combine CTEs above to get last / current appointment end date and termination reason
4959
last_lib_appt_details as (
5060
select
5161
lla.MIT_ID,
5262
lla.APPT_END_DATE as LAST_LIB_APPT_END_DATE,
5363
att.TERMINATION_REASON
5464
from last_lib_appt lla
55-
left join appt_termination_txns att on (
65+
left join last_appt_termination_txn att on (
5666
att.MIT_ID = lla.MIT_ID
5767
and att.HR_POSITION_KEY = lla.HR_POSITION_KEY
5868
)

0 commit comments

Comments
 (0)