我正在与Ellucian Banner合作,我很难计算 GPA。(横幅是学术机构使用的 ERP。)
GPA 可以在 Banner 中内置的许多视图中找到,包括 AS_STUDENT_DATA。但是,这些视图非常缓慢,我们有一些报告运行了多次,只需要 GPA。我正在尝试提取 GPA,但我得到的值并不完全符合视图中的值。
请注意,我可以使用网络上的许多来源之一来计算 GPA,但是我的值与 Banner views 中的值不完全匹配。(换句话说,我不是在问如何计算一个简单且有据可查的一般 GPA,而是问在 Banner 中这是如何完成的。)
我有这个,它给出了接近但并非全部正确的值:
SELECT PIDM,
round(sum(TOTAL_POINTS)/sum(TOTAL_CREDITS), 2) AS GPA,
round(TOTAL_POINTS, 2) AS TOTAL_POINTS, TOTAL_CREDITS, LEVL_CODE
FROM (
SELECT
SFRSTCR.SFRSTCR_PIDM AS PIDM,
sum(SHRGRDE.SHRGRDE_QUALITY_POINTS * SFRSTCR.SFRSTCR_CREDIT_HR) AS TOTAL_POINTS,
sum(SFRSTCR.SFRSTCR_CREDIT_HR) AS TOTAL_CREDITS,
SHRGRDE_LEVL_CODE AS LEVL_CODE
FROM
INNER JOIN SHRGRDE ON SFRSTCR.SFRSTCR_GRDE_CODE = SHRGRDE.SHRGRDE_CODE AND SHRGRDE.SHRGRDE_GPA_IND = 'Y'
WHERE SHRGRDE_GPA_IND = 'Y'
AND SFRSTCR.SFRSTCR_RSTS_CODE IN ('RE', 'RW', 'RR')
GROUP BY SFRSTCR.SFRSTCR_PIDM, SHRGRDE_LEVL_CODE -- , SFRSTCR.SFRSTCR_CRN, SFRSTCR_TERM_CODE
) GT
WHERE GT.TOTAL_CREDITS > 0 -- Prevent x/0 errors
GROUP BY PIDM, TOTAL_POINTS, TOTAL_CREDITS, LEVL_CODE
有没有人解决过这个问题?知道班纳是怎么做到的吗?