Навигация:  МОДУЛЬ "СИСТЕМНОЕ ЯДРО" > ПОДМОДУЛЬ "СТАТИСТИКА" > Простые запросы > Настройка внешнего вида отчета > Подсуммы >

Вычисление подсуммы по уникальным значениям поля

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

В отчет может быть добавлена подсумма, вычисляемая только для уникальных значений какого-либо поля:

SUM([Имя_столбца],0,[Имя_поля]),

где

[Имя_столбца] — столбец, значения которого суммируются

0 — параметр, указывающий, что суммирование будет производиться только для уникальных значений указанного поля - [Имя_поля].

Пример

В качестве примера рассмотрим отчет, в котором вычисляется количество врачей, посещенных каждым пациентом.

При формировании запроса "Пациенты, количество врачей" (рис. 2.4.16) выбираются основная таблица История заболевания и связанная с ней таблица Пациенты. Из таблиц выбираются поля PATIENTS_ID, MEDECINS_ID, ФИО. Создается выражение Кол-во врачей для подсчета врачей. Значение выражения = 1.

 Рисунок 2.4.16. Запрос "Пациенты, количество врачей"


Рисунок 2.4.16. Запрос "Пациенты, количество врачей"

В настройках отчета создается группировка по пациенту (PATIENTS_ID). Добавляется подсумма по столбцу Кол-во врачей (рис. 2.4.17). Формула подсуммы представляет собой следующее выражение:

SUM([Кол-во врачей],0,MEDECINS_ID)

Парметры 0,MEDECINS_ID означают, что количество суммируется только для уникальных значений MEDECINS_ID. Таким образом, в случае когда у пациента есть несколько приемов одного врача, к значению подсуммы прибавляется 1, тогда как формула SUM([Кол-во врачей]) подсчитала бы общее количество приемов.

 Рисунок 2.4.17. Отчет с формулами для подсчета врачей


Рисунок 2.4.17. Отчет с формулами для подсчета врачей

Аналогичная формула может быть создана и для итоговой подсуммы: в этом случае будет подсчитано общее количество ведущих прием врачей.

Пример отчета показан на рис. 2.4.18.

 Рисунок 2.4.18. Отчет "Пациенты, количество врачей"


Рисунок 2.4.18. Отчет "Пациенты, количество врачей"