Академический Документы
Профессиональный Документы
Культура Документы
Постанова задачи
Имеется набор данных по месячному потреблению электроэнергии объектами
организации. Необходимо произвести проверку на наличие пропусков в собранных
наборах данных и обработать их.
Рис. 1
Рис. 2
Рис. 4
Теперь необходимо решить задачу, чтобы в поле Дата первая хранилась дата
начала потребления электроэнергии объектом, а в поле Дата последняя – дата окончания
потребления электроэнергии объектом. Для решения этой воспользуемся обработчиком
Группировка.
Примечание: Обработчик Группировка выполняет действия над набором данных
аналогичные действиям SQL-запроса с применением предложения GROUP BY (группировка
результатов при выборке из базы данных). Обработчик позволяет объединять записи избранных
полей в группы, а для оставшихся полей вычислять статистические показатели (сумму, среднее,
минимум и т.д.). Для каждой группы возвращается одна строка. Статистические показатели при
этом вычисляются для каждой группы, а не для всего набора в целом.
Рис. 5
Рис. 6
При настройке узла выберите операцию Полное соединение, при этом поля между
собой не связывайте. Такое соединение является аналогом CROSS JOIN соединения в
SQL.
Примечание: Если в операции Полное соединение ключевые поля не связываются, то
задействуется алгоритм CROSS JOIN соединения (перекрестное соединение или декартово
произведение), при котором каждая строка одной таблицы соединяется с каждой строкой второй
таблицы, давая тем самым в результате все возможные сочетания строк двух таблиц. При таком
соединении порядок таблиц (левая, правая) неважен и отсутствует необходимость в сопоставлении
ключевых полей.
Рис. 7
Рис. 8
Рис. 9
Примечание: Для изменения имен и меток полей Дата1, Дата первая|Минимум и Дата
последняя|Максимум нами был использован обработчик Параметры полей. В данном случае
задача могла бы быть решена в настройках выходного порта. При этом следует заметить, что в
настройках порта нельзя изменять тип данных, вид данных и назначение данных. Данные
параметры можно изменить, используя только обработчик Параметры полей.
Используя обработчик Калькулятор, создайте правило проверки вхождения
календарной даты в интервал электропотребления (рис. 10).
Рис. 10
Рис. 11
Рис. 13
Рис. 14
Рис. 16
Рис. 17
Рис. 18
Рис. 20
Рис. 21
Рис. 22
Рис. 23
Рис. 25
Используя обработчик Дата и время, задайте для даты формат отображения Год
(строковый тип).
Присвойте созданному узлу имя Выделение даты. Просмотрите результаты
выполнения узла, поле Дата в выходном наборе данных не удаляйте (рис. 27).
Рис. 27
Рис. 28
Проверьте правильность произведенных расчетов в табличном процессоре MS
Excel.
Создайте рабочую книгу MS Excel с именем Среднее электропотребление.xlsx.
Импортируйте в книгу данные из файла Потребление электроэнергии.txt (Данные –
Получение внешних данных – Из текста). При импорте смените кодировку
1254:Турецкая на 1251:Кириллица, для столбца Дата укажите формат даты.
Отформатируйте импортированный набор данных (рис. 29).
Рис. 29
Рис. 30
Сравните результаты, полученные в Loginom (рис. 28) и Excel (рис. 30) – убедитесь
в их совпадении.
Перейдите в Loginom. Используя обработчик Слияние, выполните операцию
левого соединения для получения набора данных, представленного на рис. 30. Присвойте
созданному узлу имя Левое соединение.
Обратите внимание, что правый столбец заполнен средними значениями по годам.
Рис. 31
Идея заполнения пропусков в полученном наборе данных состоит в том, что в него
будет добавлен новый столбец, который повторяет столбец Потребление эл энергия, кВт
по заполненным значениям, а пропуски заполняются значениями из столбца Потребление
эл энергия, кВт час|Среднее.
Используя обработчик Калькулятор, добавьте в набор данных новый столбец
(поле) с заполненными пропусками (рис. 32). При разработке выражения воспользуйтесь
комбинацией функций IF и IsNull (функцию IsNull используйте для проверки пустых
значений в столбце Потребление эл энергия, кВт). Присвойте созданному узлу имя
Калькулятор – Заполнение пропусков.
Рис. 32
Рис. 34
Рис. 35