Навигация:  МОДУЛЬ "ЭЛЕКТРОННАЯ МЕДИЦИНСКАЯ КАРТА" > ЛОКАЛЬНЫЕ ЗАПРОСЫ > Визуальный конструктор локальных запросов >

Глобальный фильтр по запросу

Предыдущая страницаВернуться в начало главыСледующая страница

Существует возможность отфильтровать в локальном запросе только нужные записи по определенному условию. В отличие от фильтра Условия на строку на закладке Таблицы данный фильтр можно составить с использованием любых таблиц базы данных, а не только одной таблицы. Доступны также функции системы МЕДИАЛОГ (подробное описание функций см. в главе 5).

Условие фильтра пишется в окне (рис. 2.8), которое вызывается стандартной кнопкой фильтра на панели инструментов.

 Рисунок 2.8. Фильтр по всему запросу


Рисунок 2.8. Фильтр по всему запросу

Условие вычисляется для каждой строки результата запроса и, если оно выполняется, эта строка попадает в итоговый результат. При просмотре результата запроса кнопкой Показать результат запроса также учитывается глобальный фильтр.

В фильтре можно использовать:

·Поля различных таблиц (так же, как и в выражениях).

·Поля редактируемого локального запроса:

{Поле}

·Выражения локального запроса:

{Выражение}

Примеры

{Курение, да/нет}

Данное поле имеет тип «Да/нет», т.е. возвращает 1 (True) или 0 (False). Таким образом, запрос возвратит все записи, где значение этого поля =1.

MONTH([Анамнез жизни.Дата записи])=MONTH(CURRENT_DATE())

Такое выражение отфильтрует все записи за текущий месяц (любого года). Если воспользоваться фильтром по текущему срезу данных, аналогичное условие будет выглядеть следующим образом:

MONTH([Анамнез жизни.Дата записи])=MONTH({Текущая дата})

Кроме того, условия можно задавать явно, через выражение IF:

IF({Врачи и пользователи.Фамилия}='Иванов',1,0)

Это выражение аналогично

{Врачи и пользователи.Фамилия}='Иванов'

и позволяет отобразить только записи, сделанные врачом с фамилией Иванов.