Часть 3. Выборка данных из нескольких источников. Функция "Баланс".

Отчеты могут брать данные из нескольких источников. Создадим отчет «Прибыль по месяцам». Вот такой будет отбор. Как известно Прибыль = Приход - Расход. Для вычисления прибыли используется функция «Баланс». Кроме этого нужно указать к какому типу относится источник, т. е. чем по сути являются данные, приходом или расходом. Тип источника выбирается в строке «Тип». Также выбираем группировку по дате и устанавливаем период «Месяц». Выбор функции "Баланс" Порядок источников отличается от приведенной выше формулы. Программе без разницы в каком порядке идут приход и расход, результат будет рассчитан правильно. Если нужно видеть отдельно приход и расход, то делаем следующее. Совместное использование функций "Сумма" и "Баланс" В каждом источнике мы добавили поле «Сумма» с функцией «Сумма». При этом в соседнем столбце ячейка остается пустой. Функция будет вычислять итог в тех источниках, в которых поле указано. Я уже не буду писать, что кроме отбора нужно настроить табличную часть отчета, чтобы получить результат как на рисунке. Это можно сделать самостоятельно.

Совместимость типов полей источников

Когда вы объединяете несколько источников в отборе, нужно учитывать типы полей. Если поле одного источника является числом, то и поля других источников должны быть числовыми. Если поле источника хранит текст, то и поля других источников должны быть текстовыми. К текстовым полям относятся: текст, заметка, список. Поля других типов не имеют совместимых с ними типов: дата, время, счетчик, объект и и. д. На рисунке показан пример, когда во втором источнике выбрано несовместимое поле. Несовместимые поля Применяя ту или иную функцию также нужно учитывать тип полей. Функции «Сумма», «Среднее» и «Баланс» принимают только числовые поля. Для остальных функций тип поля может быть любой.

Пустые ячейки в отборе

При объединении нескольких источников в отборе допускается не указывать поля для некоторых источников. Это было показано в отчете «Прибыль по месяцам». В зависимости от условий вместо значений полей программа будет подставлять 0 или NULL. Если к полям не применяется функция, то программа подставляет NULL. Пустые ячейки в отборе Если к полям применяется функция, то действия программы зависят от применяемой функции. Если применяются функции «Сумма» и «Баланс», программа подставляет 0. В остальных случаях программа подставляет NULL. Отдельного внимания заслуживает функция «Количество». Если для этой функции не указано ни одного поля, то функция вычисляет общее количество записей в источниках. Если указано хотя бы одно поле, то функция вычисляет общее количество значений полей в тех источниках, в которых поле указано. Источники, в которых поле не указано, игнорируются.

Значение NULL и функции

Тут все просто. Все пустые поля игнорируются функциями. Это нужно учитывать, когда вы вычисляете количество значений в полях (для функции «Количество» указаны поля) или среднее. К примеру, вы вычисляете среднее в 10 записях. В двух из них числовое поле пустое (содержит NULL). Тогда среднее будет рассчитано для 8 записей.