You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PeopleSoft ELM 9.2首次通过率自定义查询构建需求

嘿,针对你在PeopleSoft ELM 9.2里要构建首次通过率查询的需求,我整理了实操性的思路和代码片段,帮你搞定自定义查询的问题:

核心需求拆解

先把你的需求拆成两个可落地的方向:

  • 首次通过率:统计学员首次尝试就通过课程的占比(公式:首次通过人数/总首次尝试人数)
  • 全量尝试轨迹:跟踪每个学员每门课程的所有尝试记录,包括尝试次数、得分、结果,用来分析“通过前尝试了几次”这类细节
关键数据表参考(ELM 9.2)

自定义查询得依赖ELM的核心业务表,我列几个必用的:

  • PS_ELM_ENROLLMENT:学员-课程的报名关联表,是连接学员和尝试记录的基础
  • PS_ELM_ATTEMPT:每一次课程尝试的核心记录,包含尝试状态(通过/未通过)、时间,是统计尝试次数的核心表
  • PS_ELM_ATTEMPT_SCOR:SCORM 1.2传递的分数存储表,和尝试表通过ATTEMPT_ID关联,能拿到每次尝试的具体得分
  • PS_ELM_COMPLETION:课程最终完成状态表,用来区分“最终通过”和“单次尝试通过”
构建查询的实操步骤

1. 计算首次通过率

要先筛选出每个学员每门课程的第一次尝试,再统计其中通过的占比。用窗口函数就能轻松实现:

WITH FirstAttempts AS (
    SELECT 
        e.EMPLID,
        e.CRSE_ID,
        a.ATTEMPT_STATUS,
        -- 给每个学员的每门课程按尝试时间排序,标记首次尝试
        ROW_NUMBER() OVER (PARTITION BY e.EMPLID, e.CRSE_ID ORDER BY a.ATTEMPT_DTTM ASC) AS AttemptSeq
    FROM PS_ELM_ENROLLMENT e
    JOIN PS_ELM_ATTEMPT a ON e.ENROLLMENT_ID = a.ENROLLMENT_ID
)
SELECT 
    COUNT(CASE WHEN ATTEMPT_STATUS = 'P' THEN 1 END) AS 首次通过人数,
    COUNT(*) AS 总首次尝试人数,
    ROUND(COUNT(CASE WHEN ATTEMPT_STATUS = 'P' THEN 1 END)/COUNT(*)*100,2) AS 首次通过率(%)
FROM FirstAttempts
WHERE AttemptSeq = 1;

2. 获取全量尝试轨迹(含尝试次数)

如果要跟踪每个学员每门课程的所有尝试,包括“第几次尝试才通过”,可以给每一次尝试标记序号:

SELECT 
    e.EMPLID AS 学员ID,
    e.CRSE_ID AS 课程ID,
    a.ATTEMPT_ID AS 尝试ID,
    a.ATTEMPT_STATUS AS 尝试状态,
    s.SCORE_VALUE AS 尝试得分,
    a.ATTEMPT_DTTM AS 尝试时间,
    -- 标记该学员该课程的第N次尝试
    ROW_NUMBER() OVER (PARTITION BY e.EMPLID, e.CRSE_ID ORDER BY a.ATTEMPT_DTTM ASC) AS 尝试次数
FROM PS_ELM_ENROLLMENT e
JOIN PS_ELM_ATTEMPT a ON e.ENROLLMENT_ID = a.ENROLLMENT_ID
-- 关联SCORM分数,左连接避免丢失无分数的尝试记录
LEFT JOIN PS_ELM_ATTEMPT_SCOR s ON a.ATTEMPT_ID = s.ATTEMPT_ID
ORDER BY e.EMPLID, e.CRSE_ID, 尝试次数;

这个查询会输出完整的尝试轨迹,你可以筛选特定学员或课程,分析他们的尝试次数分布。

SCORM分数关联注意事项

因为你的系统用SCORM 1.2,要注意PS_ELM_ATTEMPT_SCOR里的SCORE_TYPE字段值为SCORM,这才是SCORM模块传递的有效分数。如果需要验证原始交互数据,可以关联PS_ELM_SCORM_DATA表,但一般ATTEMPT_SCOR已经足够满足统计需求。

额外小提示
  • 如果要按课程、部门或时间段统计,只要在查询里添加对应的过滤条件即可(比如WHERE CRSE_ID = 'XXX'或ATTEMPT_DTTM BETWEEN '2024-01-01' AND '2024-06-30')
  • 注意不同环境的PeopleSoft表前缀可能略有差异,确认你的环境表名和上述一致

内容的提问来源于stack exchange,提问作者Josh White

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:36:06