@@ -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+
1744select
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