ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий
Тип задачи: Поиск и отбор данных в таблицах.
| КЭС: | 4.5 Табличные (реляционные) базы данных. Таблица – представление сведений об однотипных объектах. Поле, запись. Ключ таблицы. Работа с готовой базой данных. Заполнение базы данных. Поиск, сортировка и фильтрация данных. Запросы на выборку данных. Запросы с параметрами. Вычисляемые поля в запросах. Многотабличные базы данных. Типы связей между таблицами. Внешний ключ. Целостность базы данных. Запросы к многотабличным базам данных |
| Тип ответа: | Краткий ответ |
Ответ: 186550
Решение.
В скачанном файле 6480 записей о движении товаров, 60 записей в справочнике «Товар» и 18 в справочнике «Магазин». Заголовки в эти количества не входят. Требуется получить число рублей, поэтому сначала определим нужные записи, затем выберем величину для суммирования.
Объединяем три таблицы по ключам: поле «ID магазина» в операции связываем с таким же полем справочника магазинов, а «Артикул» — с артикулом товара. Номер строки не является ключом. ID сохраняем точно, включая латинские буквы: похожие русские буквы не заменяют исходные обозначения.
На листе «Магазин» отбираем район «Заречный». Получаем:
| ID магазина | Район | Адрес |
|---|---|---|
| M5 | Заречный | Широкая улица, 10 |
| M7 | Заречный | Широкая улица, 35 |
| M10 | Заречный | Луговая улица, 30 |
| M11 | Заречный | Цветочная площадь, 1 |
| M12 | Заречный | Луговая улица, 7 |
| M18 | Заречный | Полевая улица, 14 |
На листе «Товар» отбираем следующие товары по полному наименованию. Все перечисленные артикулы входят в выборку:
| Артикул | Наименование | Единица | В упаковке | Цена упаковки, руб. |
|---|---|---|---|---|
| 33 | Молоко ультрапастеризованное 1.5% | мл | 970 | 55 |
| 34 | Молоко ультрапастеризованное 2.5% | мл | 970 | 65 |
| 35 | Молоко ультрапастеризованное 3.2% | мл | 970 | 70 |
В таблице движения товаров оставляем записи, у которых одновременно выполняются три условия: ID магазина входит в найденный список; артикул входит в найденный список; дата находится от 2024-10-02 до 2024-10-09 включительно. Равенство любой границе допустимо. Между группами условий действует «И», а несколько подходящих артикулов или магазинов внутри своего списка объединяются через «ИЛИ».
В исходном файле число упаковок находится в столбце E, тип операции — в столбце F. Эти столбцы выбираем по заголовкам, поскольку их порядок в разных файлах различается.
Добавляем фильтр «Тип операции = Продажа». Проданные товары — это только продажи. Изменение остатка здесь не требуется, поэтому другой тип операций не включаем и не вычитаем.
Для каждой отобранной строки: выручка = число упаковок × цена одной упаковки. Цены разных артикулов различаются, поэтому сначала рассчитываем стоимость каждой строки и только потом складываем.
В свободном столбце G таблицы движения товаров получаем цену: в G2 вводим =ВПР(D2;Товар!$A$2:$F$61;6;0). Последний аргумент 0 означает точное совпадение артикула. В H2 вводим =E2*G2. Обе формулы копируем до строки 6481. После всех фильтров вычисляем =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;H2:H6481).
Проверка суммирования по артикулам:
| Артикул | Продано упаковок | Цена, руб. | Выручка, руб. |
|---|---|---|---|
| 33 | 944 | 55 | 51920 |
| 34 | 1004 | 65 | 65260 |
| 35 | 991 | 70 | 69370 |
Отобрано 18 операций продажи. Общая выручка: 51920 + 65260 + 69370 = 186550 руб.
Каждая операция учтена один раз по своему уникальному ID. Уникальность артикулов и ID магазинов не позволяет соединению размножить строки. Независимый SQL-запрос по XLSX и расчёт JavaScript по ODS выбрали те же операции и подтвердили точную сумму.
Ответ: 186550.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF9D82E5.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.