Функция IsEmpty с иерархией и датой в Filemaker Pro 11

Я использовал функцию IsEmpty, которую я получил от этот сайт.

Case (IsEmpty(Field1 & Field2);Field3;IsEmpty(Field1);Field2;Field1)

Однако теперь я извлекаю данные из 5 полей вместо 3 и пытаюсь отсортировать по дате посещения.

Моя база данных имеет дело с тестами клиентов и тестами на беременность, а поля, которые я извлекаю, относятся к их намерению выхода после посещения 1, посещения 2,... посещения 5.

Каждое посещение имеет свое название (PT, RT, CC... и т. д.). Если приезжают для посещения PT, US, FU, и я хочу получить намерение от FU, или если они приходят в порядке PT, FU, US, я хотел бы получить намерение от США.

Есть ли у кого-нибудь советы о том, как это сделать?


person tussing515    schedule 05.11.2012    source источник
comment
Непонятно, что вы пытаетесь сделать. Возможно, стоит потратить несколько минут, чтобы переписать более общий вопрос, в том числе: какая у вас структура таблицы (вся информация находится в одной записи клиента или каждое посещение является отдельной записью), как известен порядок встреч. ? (Являются ли поля даты PT, RT и т. д.?) и какое значение вы пытаетесь заполнить. Мое первоначальное предположение состоит в том, что вам просто нужен Max(DateField1; DateField2; DateField3;...), но я не могу быть уверен.   -  person pft221    schedule 06.11.2012


Ответы (1)


Я думаю, что самый простой способ - просто переписать вашу функцию следующим образом, это должно быть проще в обслуживании, чем ваш текущий код:

Case(
    not isEmpty(Field1); Field1;
    not isEmpty(Field2); Field2;
    not isEmpty(Field3); Field3;
    not isEmpty(Field4); Field4;
    Field5
)

Я не думаю, что в Filemaker есть встроенный способ выполнения такого типа вычислений, если бы там было что-то большее, чем переменные, вы могли бы подумать о написании пользовательской функции, перебирающей эти поля, пока не будет непустой записи. ... (при условии, что у вас установлен Filemaker Advanced).

person Andy Hayden    schedule 06.11.2012
comment
Это на самом деле отлично работает. Это вообще сортирует по дате? Кажется, что это будет извлечено из самой последней информации, но я просто хочу перепроверить. - person tussing515; 06.11.2012
comment
Трудно точно знать, чего вы хотите, но, возможно, Max(Field1; Field2; ...), возможно, вы можете привести несколько примеров строк в своем вопросе? - person Andy Hayden; 07.11.2012