ФИПИ · ЕГЭ · все форматы ответа · 2475 заданий
Тип задачи: Поиск и отбор данных в таблицах.
| КЭС: | 4.5 Табличные (реляционные) базы данных. Таблица – представление сведений об однотипных объектах. Поле, запись. Ключ таблицы. Работа с готовой базой данных. Заполнение базы данных. Поиск, сортировка и фильтрация данных. Запросы на выборку данных. Запросы с параметрами. Вычисляемые поля в запросах. Многотабличные базы данных. Типы связей между таблицами. Внешний ключ. Целостность базы данных. Запросы к многотабличным базам данных |
| Тип ответа: | Краткий ответ |
Ответ: 133720
Решение.
В скачанном файле 6480 записей о движении товаров, 60 записей в справочнике «Товар» и 18 в справочнике «Магазин». Заголовки в эти количества не входят. Требуется получить число рублей, поэтому сначала определим нужные записи, затем выберем величину для суммирования.
Объединяем три таблицы по ключам: поле «ID магазина» в операции связываем с таким же полем справочника магазинов, а «Артикул» — с артикулом товара. Номер строки не является ключом. ID сохраняем точно, включая латинские буквы: похожие русские буквы не заменяют исходные обозначения.
На листе «Магазин» отбираем улицу или проспект, указанные в условии; в файле адрес начинается с «Некрасовский бульвар,». Получаем:
| ID магазина | Район | Адрес |
|---|---|---|
| M9 | Центральный | Некрасовский бульвар, 12 |
| M17 | Центральный | Некрасовский бульвар, 25 |
На листе «Товар» отбираем следующие товары по полному наименованию. Все перечисленные артикулы входят в выборку:
| Артикул | Наименование | Единица | В упаковке | Цена упаковки, руб. |
|---|---|---|---|---|
| 20 | Сметана 10% | грамм | 300 | 60 |
| 21 | Сметана 15% | грамм | 300 | 70 |
| 22 | Сметана 20% | грамм | 300 | 80 |
| 23 | Сметана 20% безлактозная | грамм | 300 | 120 |
| 24 | Сметана 25% | грамм | 300 | 115 |
В таблице движения товаров оставляем записи, у которых одновременно выполняются три условия: ID магазина входит в найденный список; артикул входит в найденный список; дата находится от 2024-10-14 до 2024-10-20 включительно. Равенство любой границе допустимо. Между группами условий действует «И», а несколько подходящих артикулов или магазинов внутри своего списка объединяются через «ИЛИ».
В исходном файле число упаковок находится в столбце E, тип операции — в столбце F. Эти столбцы выбираем по заголовкам, поскольку их порядок в разных файлах различается.
Добавляем фильтр «Тип операции = Продажа». Проданные товары — это только продажи. Изменение остатка здесь не требуется, поэтому другой тип операций не включаем и не вычитаем.
Для каждой отобранной строки: выручка = число упаковок × цена одной упаковки. Цены разных артикулов различаются, поэтому сначала рассчитываем стоимость каждой строки и только потом складываем.
В свободном столбце G таблицы движения товаров получаем цену: в G2 вводим =ВПР(D2;Товар!$A$2:$F$61;6;0). Последний аргумент 0 означает точное совпадение артикула. В H2 вводим =E2*G2. Обе формулы копируем до строки 6481. После всех фильтров вычисляем =ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;H2:H6481).
Проверка суммирования по артикулам:
| Артикул | Продано упаковок | Цена, руб. | Выручка, руб. |
|---|---|---|---|
| 20 | 387 | 60 | 23220 |
| 21 | 278 | 70 | 19460 |
| 22 | 285 | 80 | 22800 |
| 23 | 285 | 120 | 34200 |
| 24 | 296 | 115 | 34040 |
Отобрано 20 операций продажи. Общая выручка: 23220 + 19460 + 22800 + 34200 + 34040 = 133720 руб.
Каждая операция учтена один раз по своему уникальному ID. Уникальность артикулов и ID магазинов не позволяет соединению размножить строки. Независимый SQL-запрос по XLSX и расчёт JavaScript по ODS выбрали те же операции и подтвердили точную сумму.
Ответ: 133720.
Напишите пожелание к сайту или решению либо сообщите о найденной неточности в задании EGEINF4CC10E.
Сообщение увидит только команда сайта: на странице оно не публикуется.
Комментарии к решению
Комментарии видны всем посетителям сайта.
Комментариев пока нет. Будьте первым.
Чтобы оставить комментарий, войдите или зарегистрируйтесь.