Unibasic / Unidata запрос - PullRequest
       22

Unibasic / Unidata запрос

0 голосов
/ 25 апреля 2018

Как мы можем выбрать самую последнюю запись для запросов unidata.Есть ли какая-либо функция или команда, которую мы можем использовать?

У меня есть данные как

Срок учебной программы Term_Start_date

1, 2018Fall, ABC, 08/01/2018

1, 2018Spring, MATH, 01/01/2018

1, 2017Fall, HIST, 08/01 / 2017

2, 2017Fall, ENG, 08/01 / 2017

2, 2017Summer, MATH, 05/01/2017

Я хочу, чтобы результат был таким - последняя дата начала семестра должна отображаться для каждого учащегося.

Программа семестраTerm_Start_date

1, 2018Fall, ABC, 08/01/2018

2, 2017Fall, ENG, 08/01/2017


Я использовал BY.Образец DSND 1, но он получает только одну запись

1 Ответ

0 голосов
/ 26 апреля 2018

Вне написания 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 запись.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...