Skip to content

Commit 6a3020a

Browse files
authored
add row number to dedp financial assistance reporting table (#2230)
* add row number to dedp fin assist table
1 parent c00f2db commit 6a3020a

2 files changed

Lines changed: 34 additions & 23 deletions

File tree

src/ol_dbt/models/reporting/_reporting__models.yml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1356,3 +1356,6 @@ models:
13561356
description: timestamp, when the course run ends
13571357
- name: income_less_than_10000
13581358
description: boolean, indicating if the user's income is less than $10,000
1359+
- name: user_latest_row_desc
1360+
description: integer, row number indicating the latest row for each user based
1361+
on application and course run dates

src/ol_dbt/models/reporting/dedp_financial_assistance.sql

Lines changed: 31 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -14,27 +14,35 @@ with fp as (
1414
select * from {{ ref('int__mitxonline__course_runs') }}
1515
)
1616

17+
, final_report as (
18+
select
19+
distinct
20+
users.user_email
21+
, users.user_full_name
22+
, users.user_id
23+
, cast(fp.flexiblepriceapplication_income_usd as decimal(38,2)) as flexiblepriceapplication_income_usd
24+
, fp.flexiblepriceapplication_original_currency
25+
, cast(fp.flexiblepriceapplication_original_income as decimal(38,2)) as flexiblepriceapplication_original_income
26+
, fp.flexiblepriceapplication_status
27+
, fp.flexiblepriceapplication_exchange_rate_timestamp
28+
, fp.flexiblepriceapplication_created_on
29+
, fp.flexiblepriceapplication_updated_on
30+
, course_enrollments.courserunenrollment_is_active
31+
, course_enrollments.mitxonline_program_id
32+
, runs.courserun_start_on
33+
, runs.courserun_end_on
34+
, try_cast(fp.flexiblepriceapplication_income_usd as decimal(38, 2)) < 10000 as income_less_than_10000
35+
from fp
36+
inner join users
37+
on fp.user_id = users.user_id
38+
inner join course_enrollments
39+
on course_enrollments.user_id = fp.user_id
40+
inner join runs
41+
on course_enrollments.courserun_readable_id = runs.courserun_readable_id
42+
)
43+
1744
select
18-
distinct
19-
users.user_email
20-
, users.user_full_name
21-
, users.user_id
22-
, cast(fp.flexiblepriceapplication_income_usd as decimal(38,2)) as flexiblepriceapplication_income_usd
23-
, fp.flexiblepriceapplication_original_currency
24-
, cast(fp.flexiblepriceapplication_original_income as decimal(38,2)) as flexiblepriceapplication_original_income
25-
, fp.flexiblepriceapplication_status
26-
, fp.flexiblepriceapplication_exchange_rate_timestamp
27-
, fp.flexiblepriceapplication_created_on
28-
, fp.flexiblepriceapplication_updated_on
29-
, course_enrollments.courserunenrollment_is_active
30-
, course_enrollments.mitxonline_program_id
31-
, runs.courserun_start_on
32-
, runs.courserun_end_on
33-
, try_cast(fp.flexiblepriceapplication_income_usd as decimal(38, 2)) < 10000 as income_less_than_10000
34-
from fp
35-
inner join users
36-
on fp.user_id = users.user_id
37-
inner join course_enrollments
38-
on course_enrollments.user_id = fp.user_id
39-
inner join runs
40-
on course_enrollments.courserun_readable_id = runs.courserun_readable_id
45+
final_report.*
46+
, row_number() over (partition by final_report.user_email order by final_report.flexiblepriceapplication_created_on desc
47+
, final_report.flexiblepriceapplication_updated_on desc, final_report.courserun_start_on desc) as user_latest_row_desc
48+
from final_report

0 commit comments

Comments
 (0)