PowerSchool: как запросить прошедшую регистрацию
Я знаю, что это в некоторой степени специализированный вопрос, поскольку лишь небольшой процент участников даже слышал о PowerSchool, но в этом трудно найти помощь. Учитывая дату начала и дату окончания, мне нужно выполнить запрос, который вернет идентификаторы студентов для всех студентов, которые были зачислены в округ в течение этого периода времени. Если бы я мог использовать это с "WITH AS", я мог бы добавить его к предложению "Где" запроса посещаемости, как показано ниже. Это то, что я получил до сих пор, но я не знаю, как проверить его точность:
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, которое в основном предназначено для ADM, поэтому я предполагаю, что если идентификатор студента существует в ps_adaadm_defaults_all с датой между двумя указанными датами, то этот студент был зачислен хотя бы в тот день, независимо от посещаемости, правильно? Любые пользователи PowerSchool, которые могут протянуть руку помощи?
Я получаю результаты по этому запросу, но когда я пытаюсь проверить точность с помощью сайта PowerSchool, результаты не совсем совпадают. Под сайтом я подразумеваю, что я вхожу в систему как администратор округа, устанавливаю срок 15-16 лет, для школы - желаемую школу и выбираю учеников, чьи фамилии начинаются с "А". Затем я начинаю сравнивать список, который он предоставляет, со студентами по результатам запроса, чьи фамилии начинаются с "А". Однако я замечаю, что есть некоторые имена, которые я получаю с помощью своего запроса, которые не отображаются на сайте, и я думаю, что это связано с тем, что их конечная дата предшествует текущему школьному году. Эти студенты, очевидно, были зачислены в то время, но их имена не указаны в результатах PowerSchool. Я думаю, потому что они больше не зарегистрированы? Есть ли способ для меня, чтобы проверить точность этого запроса? Я даже на правильном пути? Заранее спасибо.
3 ответа
Мне кажется, у вас есть два вопроса:
- Какой лучший запрос для возврата всех студентов, которые были зачислены в течение определенного периода времени?
- Каков наилучший способ убедиться, что мой запрос выбирает все записи, которые должны быть?
Я бы использовал представление ps_enrollment для вашего запроса. Он включает в себя идентификатор студента, идентификатор школы, даты начала и окончания, поэтому его можно использовать для поиска всех учащихся, которые были зачислены в определенный момент времени.
Студенты зачислены на весь указанный период времени
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')
)
В приведенном выше примере три условия внутри AND проверяют наличие заявок, которые начались до или после и закончились после или в первый день, затем вторую дату, и, наконец, проверяют любые регистрации, произошедшие между двумя датами.
Примечание: я использовал UNIQUE вместо GROUP BY. Я думаю, что это соответствует тому, что вы делаете немного больше.
Самый простой способ проверить эти цифры на стороне администратора - использовать Системные отчеты -> Членство и регистрация -> Сводка регистрации по дате. Это простой способ проверить количество зарегистрированных студентов в любой момент времени, а также даст вам список этих конкретных студентов. Включает неактивных студентов.
Вы можете дважды проверить, что он работает отлично, введя одну дату в своем запросе вместо использования диапазона дат и проверив эту дату по Сводке регистрации по дате. Когда я сделал это для нашего округа, мой запрос вытащил 7 дополнительных записей (из более чем 7000), но при расследовании все они были из-за плохих записей о повторной регистрации, поэтому, похоже, он работает правильно.
При поиске в PowerSchool с веб-сайта администратора он возвращает только активных учащихся независимо от того, какой термин вы выбрали. Другими словами, я не могу выбрать "2000-2001" из списка терминов и волшебным образом все отражает этот термин.
Я могу вспомнить пару вещей, которые могут повлиять на ваши поиски:
- поиск с использованием косой черты, чтобы включить неактивных студентов "/ фамилия"
- если вы ищете учеников HS - помните, что пожилые переводятся в специальную школу после окончания школы
Лучший способ проверить результаты запроса - использовать раздел ADA/ADM в разделе " Системные отчеты". Сократите свой запрос до одной даты, а затем запустите отчет ADA/ADM по дате за тот же день.
Только что наткнулся на это, и для всех, кто читает это, PowerSchool предлагает выбор «на момент».
Примеры:
*as_of=30.09.2020;enroll_status=0
*as_of=30.09.2020;трек=D