我知道这是一个特殊的问题,因为只有一小部分成员听说过PowerSchool,但很难找到帮助。给定开始日期和结束日期,我需要运行一个查询,该查询将返回在此期间注册的所有学生的学生ID。如果我可以将它与'WITH AS‘一起使用,我可以将它添加到一个出勤查询'Where’子句中,如下所示。到目前为止,这就是我所得到的,但我不知道如何检查它的准确性:
SELECT * FROM Students
WHERE ID IN (
SELECT studentid FROM ps_adaadm_defaults_all
WHERE schoolid IN ('16', '28', '40')
AND calendardate >= '1-May-15'
AND calendardate <= '31-May-15'
GROUP BY studentid)
ORDER BY LastFirst;" ps_adaadm_defaults_all“是一个主要针对PowerSchool的PowerSchool视图,所以我在这里假设,如果在ps_adaadm_defaults_all中存在一个学生ID,在两个给定日期之间有一个日期,那么该学生至少在当天被注册,而不管出席情况如何,对吗?有没有PowerSchool用户可以伸出援手?
我通过这个查询获得结果,但是当我试图通过使用PowerSchool站点来验证准确性时,结果并不完全相同。我使用这个网站的意思是,我以地区管理员的身份登录,将学期设置为15-16年,将学校设置为理想的学校,并选择姓氏以'A‘开头的学生。然后,我开始将它提供的列表与查询结果中的学生进行比较,这些学生的姓氏以'A‘开头。不过,我注意到,我的查询中有一些名字没有显示在网站上,我认为这是因为它们的截止日期早于本学年。那些学生当时显然是被录取的,但他们的名字并没有出现在PowerSchool成绩中。我在想是因为他们不再注册了?我有什么办法来测试这个查询的准确性吗?我走上正轨了吗?提前谢谢。
发布于 2017-02-09 19:55:44
我觉得你有两个问题:
学生在指定的整个时间段内注册
SELECT UNIQUE pe.StudentID
FROM ps_enrollment pe
WHERE pe.schoolid IN ('16', '28', '40')
AND pe.EntryDate <= '05/01/2015'
AND pe.ExitDate >= '05/30/2015' 学生在指定时间内的任何时间注册
SELECT UNIQUE pe.StudentID
FROM ps_enrollment pe
WHERE pe.schoolid IN ('16', '28', '40')
AND (
(pe.EntryDate <= '05/01/2015' AND pe.ExitDate >= '05/01/2015')
OR (pe.EntryDate <= '05/30/2015' AND pe.ExitDate >= '05/30/2015')
OR (pe.EntryDate >= '05/01/2015' AND pe.ExitDate <= '05/30/2015')
)在上面的示例中,“和”检查注册中的三个条件,这些条件要么在第一个日期之前开始,要么在第一个日期之后结束,然后在第二个日期结束,最后检查两个日期之间发生的任何注册情况。
注意:我使用的是唯一的,而不是组。我觉得这更适合你的做法。
您可以通过在查询中输入单个日期,而不是使用日期范围,并通过根据日期检查注册摘要,再次检查它是否工作正常。当我为我们的地区这样做时,我的查询提取了7份额外的记录(超过7000份),但经过调查,所有这些都是由于不良的重新登记记录,所以它似乎是正确的工作。
发布于 2017-01-25 01:40:21
当你从管理网站上搜索PowerSchool时,它只返回活跃的学生,不管你选择了哪个学期。换句话说,我不能从术语列表中选择"2000-2001“,并且神奇地让所有的东西都能反映出这个词。
我可以想到一些可能影响你搜索的事情:
验证查询结果的更好方法是在System Reports下使用ADA/ADM部分的。将查询减少到一个日期,然后在同一天运行ADA/ADM by Date报告。
发布于 2022-07-01 14:00:17
刚刚看到这个,对于任何正在阅读这篇文章的人来说,PowerSchool已经想出了“作为”选择。
示例:
*as_of=09/30/2020;登记状态=0
*as_of=09/30/2020;track=D
https://stackoverflow.com/questions/40023475
复制相似问题