Вне написания UniBasic-программы для анализа данных вы можете использовать запись VOC типа «I или V» для вызова совместно с запросом LIST. Как то так.
ОТКАЗ ОТ ОТВЕТСТВЕННОСТИ: Не делайте записи и не удаляйте записи в вашей базе данных UniData, если вы не знакомы с UniData. Нет кнопки «Отменить».
Не вводите цитируемый текст. Это просто для того, чтобы подчеркнуть, что происходит.
AE VOC TEST "TEST or any name that isn't in use"
I "For Insert"
I "I Type entry"
DCOUNT(TERM,@VM); EXTRACT(@RECORD,3,@,0)
PRESS Enter
FI
На данный момент у вас есть виртуальная запись VOC, которую вы можете вызвать как условие для вашего запроса "LIST". Вот так.
LIST STUDENT TERM PROGRAM DATE WHEN DATE = TEST
Это вернет последнюю многозначную запись для атрибута TERM для каждого учащегося. Это предполагает, что TERM является многозначным, а STUDENT является однозначным атрибутом. Как это работает, так это то, что он подсчитывает метки значений, а затем возвращает запись и связанные атрибуты на основе счетчика.
Файл должен быть настроен с комбинацией однозначных / многозначных значений, чтобы функция DCOUNT могла рассчитывать для одного однозначного атрибута. В этом случае У СТУДЕНТА может быть много СРОКОВ, причем каждый СРОК имеет свою собственную дату. Теперь это не логичная сортировка, это не ранжирование дат по календарю, а по порядку их появления в файле.
01-01-18
05-01-17
01-01-09 <-- Date Returned
--- Первый ответ ---
Если вы используете Uniquery:
СПИСОК ПОЛЬЗОВАТЬСЯ ВСЕМИ BY.DSND @ID SAMPLE 1
, который отсортирует файл по значению, а затем просто выберет 1 запись.