Определить группы товаров которые не приобретались в 2005 году
Перейти к содержимому

Определить группы товаров которые не приобретались в 2005 году

  • автор:

 

Name already in use

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Задание 1: Вывести имена всех когда-либо обслуживаемых пассажиров авиакомпаний SELECT name from Passenger

Задание 2: Вывести названия всеx авиакомпаний SELECT name FROM Company;

Задание 3: Вывести все рейсы, совершенные из Москвы SELECT * FROM Trip WHERE town_from = ‘Moscow’;

Задание 4: Вывести имена людей, которые заканчиваются на «man» SELECT name FROM Passenger WHERE name LIKE ‘%man’;

Задание 5: Вывести количество рейсов, совершенных на TU-134 SELECT DISTINCT COUNT(‘plane’) AS count FROM Trip WHERE plane LIKE ‘TU-134’;

Задание 6: Какие компании совершали перелеты на Boeing SELECT Company.name FROM Trip LEFT JOIN Company ON Company.id = Trip.company WHERE plane = ‘Boeing’ GROUP BY company;

Задание 7: Вывести все названия самолётов, на которых можно улететь в Москву (Moscow) SELECT plane FROM Trip WHERE town_to = ‘Moscow’ GROUP BY plane;

Задание 8: В какие города можно улететь из Парижа (Paris) и сколько времени это займёт? SELECT town_to, TIMEDIFF(time_in, time_out) AS flight_time FROM Trip WHERE town_from = ‘Paris’;

Задание 9: SELECT name FROM Company AS c LEFT JOIN Trip AS t ON c.id = t.company WHERE t.town_from = ‘Vladivostok’;

Задание 10: Вывести вылеты, совершенные с 10 ч. по 14 ч. 1 января 1900 г. SELECT * FROM Trip WHERE time_out BETWEEN ‘1900-01-01T10:00:00.000Z’ AND ‘1900-01-01T14:00:00.000Z’;

Задание 11: Вывести пассажиров с самым длинным именем SELECT name FROM Passenger ORDER BY LENGTH(name) DESC LIMIT 1;

Задание 12: Вывести id и количество пассажиров для всех прошедших полётов SELECT trip, COUNT(passenger) AS count FROM Pass_in_trip GROUP BY trip;

Задание 13: Вывести имена людей, у которых есть полный тёзка среди пассажиров SELECT name FROM Passenger GROUP BY name HAVING COUNT(*) > 1;

Задание 14: В какие города летал Bruce Willis SELECT t.town_to FROM Trip AS t JOIN Pass_in_trip AS pit ON t.id = trip JOIN Passenger AS p ON p.id = passenger WHERE name = ‘Bruce Willis’;

Задание 15: Во сколько Стив Мартин (Steve Martin) прилетел в Лондон (London) SELECT t.time_in FROM Trip AS t JOIN Pass_in_trip AS pit ON t.id = trip JOIN Passenger AS p ON p.id = passenger WHERE name = ‘Steve Martin’ AND town_to = ‘London’;

Задание 16: Вывести отсортированный по количеству перелетов (по убыванию) и имени (по возрастанию) список пассажиров, совершивших хотя бы 1 полет. SELECT p.name, COUNT(passenger) AS count FROM Trip AS t JOIN Pass_in_trip AS pit ON t.id = trip JOIN Passenger AS p ON p.id = passenger GROUP BY p.name HAVING count >= 1 ORDER BY count DESC, p.name ASC;

Задание 17: Определить, сколько потратил в 2005 году каждый из членов семьи SELECT member_name, status, SUM(unit_price * amount) as costs FROM Payments AS p JOIN FamilyMembers AS fm ON p.family_member = fm.member_id WHERE date LIKE ‘2005%’ GROUP BY family_member;

Задание 18: Узнать, кто старше всех в семьe SELECT member_name FROM FamilyMembers WHERE birthday = (SELECT MIN(birthday) FROM FamilyMembers);

Задание 19: Определить, кто из членов семьи покупал картошку (potato) SELECT status FROM FamilyMembers AS fm JOIN Payments AS p ON fm.member_id = p.family_member JOIN Goods AS g ON p.good = g.good_id WHERE good_name LIKE ‘potato’ GROUP BY status;

Задание 20: Сколько и кто из семьи потратил на развлечения (entertainment). Вывести статус в семье, имя, сумму SELECT status, member_name, SUM(unit_price*amount) AS costs FROM FamilyMembers AS fm JOIN Payments AS p ON fm.member_id = p.family_member JOIN Goods AS g ON p.good = g.good_id JOIN GoodTypes as gp ON g.type = gp.good_type_id WHERE good_type_name = ‘entertainment’ GROUP BY family_member;

Задание 21: Определить товары, которые покупали более 1 раза SELECT good_name FROM Payments AS p JOIN Goods as g ON p.good = g.good_id GROUP BY good HAVING COUNT(good_name) > 1;

Задание 22: Найти имена всех матерей (mother) SELECT member_name FROM FamilyMembers WHERE status = ‘mother’;

Задание 23: SELECT good_name, unit_price FROM Payments AS p JOIN Goods AS g ON p.good = g.good_id JOIN GoodTypes as gp ON g.type = gp.good_type_id WHERE good_type_name = ‘delicacies’ LIMIT 1;

Задание 24: Определить кто и сколько потратил в июне 2005 SELECT member_name, SUM(unit_price*amount) as costs FROM Payments as p JOIN FamilyMembers as fm ON p.family_member = fm.member_id WHERE date LIKE ‘2005-06%’ GROUP BY member_name;

Задание 25: Определить, какие товары имеются в таблице Goods, но не покупались в течение 2005 года SELECT good_name FROM Goods
LEFT JOIN Payments ON Goods.good_id = Payments.good AND YEAR(Payments.date) = 2005 WHERE Payments.good IS NULL GROUP BY good_id;

SELECT good_name, good_id, good, date FROM Goods as g LEFT OUTER JOIN Payments as p ON g.good_id = p.good WHERE date IS NULL OR date NOT LIKE ‘2005%’ ORDER BY good;

Задание 26: Определить группы товаров, которые не приобретались в 2005 году ГРУППЫ, ТОВАРЫ, КОГДА ПРИОБРЕТАЛИСЬ: SELECT good_type_name, good_name, good_id, good, payment_id, date FROM Goods JOIN Payments ON Goods.good_id = Payments.good JOIN GoodTypes ON GoodTypes.good_type_id = Goods.type;

РЕШЕНИЕ: SELECT good_type_name FROM GoodTypes WHERE good_type_id NOT IN (SELECT good_type_id FROM Goods JOIN Payments ON Goods.good_id = Payments.good AND YEAR(date) = 2005 JOIN GoodTypes ON GoodTypes.good_type_id = Goods.type);

Задание 27: Узнать, сколько потрачено на каждую из групп товаров в 2005 году. Вывести название группы и сумму SELECT good_type_name, SUM(amount*unit_price) AS costs FROM GoodTypes JOIN Goods ON good_type_id = type JOIN Payments ON good = good_id AND YEAR(date) = 2005 GROUP BY good_type_name;

Задание 28: Сколько рейсов совершили авиакомпании с Ростова (Rostov) в Москву (Moscow) ? SELECT COUNT(id) AS count FROM Trip WHERE town_from = ‘Rostov’ AND town_to = ‘Moscow’;

Задание 29: Выведите имена пассажиров улетевших в Москву (Moscow) на самолете TU-134 SELECT DISTINCT name FROM Passenger JOIN Pass_in_trip ON Passenger.id = Pass_in_trip.passenger JOIN Trip ON Pass_in_trip.trip = Trip.id WHERE plane = ‘TU-134’ AND town_to = ‘Moscow’;

Задание 30: Выведите нагруженность (число пассажиров) каждого рейса (trip). Результат вывести в отсортированном виде по убыванию нагруженности. SELECT trip, COUNT(passenger) AS count FROM Passenger JOIN Pass_in_trip ON Passenger.id = Pass_in_trip.passenger JOIN Trip ON Pass_in_trip.trip = Trip.id GROUP BY trip ORDER BY count DESC;

Задание 31: Вывести всех членов семьи с фамилией Quincey. SELECT * FROM FamilyMembers WHERE member_name LIKE ‘%Quincey’;

Задание 32: Вывести средний возраст людей (в годах), хранящихся в базе данных. Результат округлите до целого в меньшую сторону. SELECT FLOOR(AVG(FLOOR(DATEDIFF(NOW(), birthday)/365))) AS age FROM FamilyMembers;

Задание 33: Найдите среднюю стоимость икры. В базе данных хранятся данные о покупках красной (red caviar) и черной икры (black caviar). SELECT AVG(unit_price) AS cost FROM Payments JOIN Goods ON good=good_id WHERE good_name = ‘red caviar’ OR good_name = ‘black caviar’;

Задание 34: Сколько всего 10-ых классов? SELECT COUNT(name) AS count FROM Class WHERE name LIKE ‘10%’;

Задание 35: Сколько различных кабинетов школы использовались 2.09.2019 в образовательных целях ? SELECT DISTINCT COUNT(classroom) AS count FROM Schedule WHERE date LIKE ‘2019-09-02%’;

Задание 36: Выведите информацию об обучающихся живущих на улице Пушкина (ul. Pushkina)? SELECT * FROM Student WHERE address LIKE ‘%Pushkina%’;

Задание 37: Сколько лет самому молодому обучающемуся ? SELECT ROUND(MIN(DATEDIFF(NOW(), birthday)/365)) AS year FROM Student; SELECT FLOOR(MIN(DATEDIFF(NOW(), birthday)/365)) AS year FROM Student;

Задание 38: SELECT COUNT(1) As count FROM Student WHERE first_name LIKE ‘Anna’;

SELECT COUNT(class) AS count FROM Student_in_class JOIN Class ON Class.id=class WHERE name LIKE ’10 B’;

SELECT COUNT(class) AS count FROM Student_in_class JOIN Class ON Class.id=class AND name = ’10 B’;

Задание 40: Выведите название предметов, которые преподает Ромашкин П.П. (Romashkin P.P.) ? SELECT DISTINCT(Subject.name) AS subjects FROM Subject JOIN Schedule ON Subject.id=Schedule.subject JOIN Teacher ON Teacher.id=Schedule.teacher AND last_name=’Romashkin’;

Задание 41: Во сколько начинается 4-ый учебный предмет по расписанию ? SELECT start_pair FROM Timepair WHERE start_pair FROM Timepair LIMIT 3, 1; SELECT start_pair FROM Timepair LIMIT 1 OFFSET 3;

Задание 42: Сколько времени обучающийся будет находиться в школе, учась со 2-го по 4-ый уч. предмет ? SELECT DISTINCT TIMEDIFF((SELECT end_pair FROM Timepair WHERE (SELECT start_pair FROM Timepair WHERE as time FROM Timepair;

Задание 43: Выведите фамилии преподавателей, которые ведут физическую культуру (Physical Culture). Остортируйте преподавателей по фамилии. SELECT last_name FROM Teacher JOIN Schedule ON Teacher.id=Schedule.teacher JOIN Subject ON Subject.id=Schedule.subject WHERE Subject.name=’Physical Culture’ ORDER BY last_name ASC;

Задание 44: Найдите максимальный возраст (колич. лет) среди обучающихся 10 классов ? SELECT FLOOR(MAX((DATEDIFF(NOW(), birthday)/365))) AS max_year FROM Student JOIN Student_in_class ON Student.id=Student_in_class.student JOIN Class ON Class.id=Student_in_class.class WHERE Class.name LIKE ‘10%’;

SELECT classroom, COUNT(classroom) as count FROM Schedule GROUP BY classroom HAVING COUNT() > 4 ORDER BY COUNT() DESC; — какие кабинеты в топе?

Задание 46: В каких классах введет занятия преподаватель «Krauze» ? SELECT DISTINCT name FROM Class JOIN Schedule ON Class.id=Schedule.class JOIN Teacher ON Teacher.id=Schedule.teacher WHERE last_name = ‘Krauze’;

Задание 47: Сколько занятий провел Krauze 30 августа 2019 г.? SELECT COUNT(teacher) AS count FROM Schedule JOIN Teacher ON Teacher.id=Schedule.teacher AND last_name = ‘Krauze’ WHERE date LIKE ‘2019-08-30%’;

Задание 48: Выведите заполненность классов в порядке убывания SELECT name, COUNT(class) as count FROM Class JOIN Student_in_class ON Class.id=Student_in_class.class GROUP BY name ORDER BY COUNT(*) DESC;

Задание 49: Какой процент обучающихся учится в 10 A классе ? SELECT (COUNT(*)*100/(SELECT COUNT(Student.id) as count FROM Student JOIN Student_in_class ON Student.id=Student_in_class.student)) AS percent FROM Student_in_class JOIN Class ON Class.id=Student_in_class.class AND name = ’10 A’;

Задание 50: Какой процент обучающихся родился в 2000 году? Результат округлить до целого в меньшую сторону. SELECT FLOOR((COUNT(*)*100/(SELECT COUNT(Student.id) as count FROM Student JOIN Student_in_class ON Student.id=Student_in_class.student))) AS percent FROM Student WHERE YEAR(birthday) = 2000;

Задание 51: Добавьте товар с именем «Cheese» и типом «food» в список товаров (Goods). INSERT INTO Goods(good_id, good_name, type) VALUES (17, ‘Cheese’, 2);

Задание 52: Добавьте в список типов товаров (GoodTypes) новый тип «auto». INSERT INTO GoodTypes(good_type_id, good_type_name) VALUES (9, ‘auto’);

Задание 53: Измените имя «Andie Quincey» на новое «Andie Anthony». UPDATE FamilyMembers SET member_name=’Andie Anthony’ WHERE member_id=3;

Задание 54: Удалить всех членов семьи с фамилией «Quincey». DELETE FROM FamilyMembers WHERE member_name LIKE ‘%Quincey’;

Задание 55: Удалить компании, совершившие наименьшее количество рейсов. SELECT name, COUNT(company) as company FROM Trip JOIN Company ON Company.id=Trip.company GROUP BY name; DELETE FROM Company WHERE FROM Company WHERE FROM Company WHERE >

Задание 56: Удалить все перелеты, совершенные из Москвы (Moscow). DELETE FROM Trip WHERE town_from LIKE ‘%Moscow’;

Задание 57: Перенести расписание всех занятий на 30 мин. вперед. UPDATE Timepair SET start_pair = DATE_ADD(start_pair, INTERVAL 30 MINUTE); UPDATE Timepair SET end_pair = DATE_ADD(end_pair, INTERVAL 30 MINUTE);

Задание 58: Добавить отзыв с рейтингом 5 на жилье, находящиеся по адресу «11218, Friel Place, New York», от имени «George Clooney» SELECT Users.name, Reservations.* FROM Reservations JOIN Rooms ON Rooms.id=Reservations.room_id JOIN Users ON Users.id=Reservations.user_id WHERE address = ‘11218, Friel Place, New York’

INSERT INTO Reviews (id, reservation_id, rating) VALUES (23, 2, 5);

Задание 59: Вывести пользователей,указавших Белорусский номер телефона ? Телефонный код Белоруссии +375. SELECT * FROM Users WHERE phone_number LIKE ‘+375%’;

SELECT teacher FROM Schedule JOIN Teacher ON Teacher.id=Schedule.teacher JOIN Subject ON Subject.id=Schedule.subject JOIN Class ON Class.id=Schedule.class WHERE Class.name IN (’11 A’, ’11 B’) GROUP BY teacher HAVING COUNT(teacher)>=1 ORDER BY teacher;

Задание 61: Выведите список комнат, которые были зарезервированы в течение 12 недели 2020 года. SELECT Rooms.* FROM Rooms JOIN Reservations ON Rooms.id=Reservations.room_id AND YEAR(start_date)=2020 AND YEAR(end_date)=2020 WHERE WEEK(start_date, 1)=12 OR WEEK(end_date, 1)=12;

Задание 62: Вывести в порядке убывания популярности доменные имена 2-го уровня, используемые пользователями для электронной почты. Полученный результат необходимо дополнительно отсортировать по возрастанию названий доменных имён. SELECT SUBSTRING_INDEX(email, ‘@’, -1) as domain, count(*) AS count FROM Users GROUP BY domain ORDER BY count DESC, domain ASC;

Задание 63: Выведите отсортированный список (по возрастанию) имен студентов в виде Фамилия.И.О. SELECT CONCAT(last_name, ‘.’, LEFT(first_name, 1), ‘.’, LEFT(middle_name, 1), ‘.’) AS name FROM Student ORDER BY first_name ASC;

Определить какие товары имеются в таблице goods но не покупались в течение 2005 года

SQL ACADEMY ответы и решения заданий (часть 2, задания 23-44)

SQL Academy (ответы и решения заданий 23-44)

 

NOT IN, JOIN и подзапрос

Не выполняется код PHP. Warning: join() [function.join]: Invalid arguments passed
Помогите разобраться в коде <?php $text = file_get_contents(‘input.txt’); .

Ошибка: no matching function for call to ‘QStringList::join()’ file.write(lines.join();
почему возникает эта ошибка? у меня в qt creator-е автодополнение показывает что есть такой метод.

Разница между выражениями с join и без join
Вот это: SELECT o.OrderID, o.OrderDate, c.CustomerName FROM Customers AS c, Orders AS o WHERE.

Оптимальный запас товара на складе

Проблема оптимального размера складских остатков должна беспокоить не только
службу логистики, но и финансового директора.

Избыток запасов – это отвлеченные
из оборота средства и расходы на содержание больших складских площадей, а
недостаток – риск потери покупателей и снижения выручки. Как финансовому
директору оптимизировать инвестиции в складские запасы.

Ни для кого не новость, что от эффективного управления поставками и запасами
во многом зависит финансовое благополучие компании. «Объем запасов в нашей
компании составляет около 70 млн рублей, или более двух тысяч наименований. При
этом затраты на поддержание товарных запасов составляют до 30% от их стоимости.

Поэтому особое внимание мы уделяем организации управления запасами, в том
числе расчету оптимального размера заказа и формированию эффективного
ассортиментного портфеля», – рассказывает Инга Родионова, финансовый директор
группы компаний MOND. Отсутствие продуманного контроля за поставками и
складскими остатками неизбежно сказывается на финансовых результатах
деятельности компании.

«В 2005 году в нашей компании по некоторым категориям товаров в результате
некорректного планирования закупок был обнаружен перезапас. По другим,
наоборот, – недостаток, что не позволяло реализовать план продаж в полном
объеме. Выявить это удалось путем сравнения фактических товарных запасов в
разрезе категорий с планами продаж на соответст-вующий период. На это в
большинстве случаев влияла ситуация в стране производителя.

В Китае, где у компании расположено большинство фабрик, возникли проблемы с
рабочей силой и электроэнергией, поэтому поставщики удлинили цикл производства,
а иногда даже стали срывать поставки. По этой причине наши менеджеры нередко
заказывали больше и чаще, чем было необходимо, либо, наоборот, делали заявку
достаточно поздно, что приводило в том числе к отсутствию товара на складе», –
вспоминает Елена Агеева, финансовый директор компании Golder Electronics.

Однако на практике попытки исправить положение дел нередко сводятся к
определению норматива по такому показателю, какоборачиваемость запасов (отношение выручки
к среднему объему товарных запасов).

Другими словами, изучив статистику продаж и запасов, финансовое подразделение
на следующий период устанавливает норматив по оборачиваемости товарных остатков
для коммерческих подразделений. Но такое решение имеет существенные недостатки,
а именно: в расчет принимается только товар, который лежит на складе. При
установлении норматива оборачиваемости не учитываются товары и деньги в пути, а
также дебиторская задолженность. Уменьшая товарные остатки, компания
воздействует лишь на малую часть от общего объема средств, инвестированных в
содержание запасов;

установив жесткий норматив оборачиваемости запасов для коммерческих
подразделений, финансовая служба заставляет их действовать по одному из
следующих сценариев. Чтобы уменьшить товарный запас и выполнить норматив,
во-первых, можно сократить объем закупаемых партий, во-вторых, количество
поставок.

Если снизить объем закупок, то увеличатся расходы на доставку, так как товары
будут поставляться намного чаще. А более редкие поставки приведут к сокращению
страхового запаса. В результате уровень обеспеченности спроса снизится, чаще
будут возникать ситуации, когда востребованного клиентами товара на складе нет.

Чтобы раз и навсегда решить проблему управления запасами и оптимизировать
инвестиции в товары на складе, необходим комплексный подход к решению проблемы.

Матрица QRS-и ABC-анализа

Запасы запасам рознь

Прежде чем начинать оптимизацию товарных запасов, необходимо отделить основной
товарный запас от вынужденных и временных запасов. Например, по учетной системе
на складе хранится 100 товаров поставщика X на сумму 100 тыс. рублей, объем
продаж поставщика – 200 тыс. рублей. Используя эти данные, устанавливаем
оборачиваемость запасов – два раза. Однако если в эти 100 тыс. руб. попадает
бракованный и неликвидный товар на сумму 20 тыс. и 30 тыс. рублей
соответст-венно, то реальнаяоборачиваемость товара будет как минимум в
два раза больше.

Чтобы верно рассчитать оборачиваемость товара, надо сначала разобраться, какую
структуру имеет товарный запас. Условно все запасы можно поделить на три
основные группы.

Основной запас служит для обеспечения продаж в соответствии с планом. Состоит
из двух основных частей:

* рабочий запас – товарный запас на выполнение плана. Его размер зависит от
того, какими партиями поступает товар от поставщика;
* страховой запас создается для того, чтобы компенсировать неопределенности,
связанные с возможным увеличением фактических продаж сверх плана или с
задержками поставок.

Временный товарный запас создается на конкретный срок и состоит из трех
основных типов:

* сезонный запас. В период сезонного роста потребления на рынке у поставщиков
наблюдаются перебои с наличием товара. Чтобы избежать отсутствия товара на
складе, нужно создать избыточный запас по наиболее критичным товарам и в
течение сезона его реализовать;
* маркетинговый запас. В период проведения маркетинговых акций по товару есть
необходимость обеспечить его наличие в избыточном количестве. В процессе акции
эти запасы реализуются;
* конъюнктурный запас. Поставщики нередко закрывают производство на
профилактику, повышают цены и т. п. Можно получить значительную прибыль, если
иметь товар в наличии по старым ценам в тот момент, когда он уже закончится у
конкурентов.

Вынужденный запас возникает вне зависимости от желания компании и ее
сотрудников. К нему относятся неликвидные товары (товары нормального качества,
но в объеме, который трудно относительно быстро реализовать), бракованные
товары.

Очевидно, что необходимый уровень продаж обеспечивает только основной запас.
Поэтому учет товаров в информационной системе должен быть построен так, чтобы
можно было выделить основной запас. Кроме того, система должна отражать
количество неликвидного и бракованного товара, а также денежные средства,
затраченные на их покупку. Чтобы сократить количество таких товаров в структуре
запасов, нужно организовать регулярную работу по распродаже неликвидов и брака.
Она должна проводиться ежемесячно, а не от случая к случаю. В этом процессе
необходимо задействовать не только отдел закупок, но и отдел продаж.

Структура товарного запаса

Итак, разобравшись со всеми возможными видами запасов, нужно четко определить,
как их финансирует компания. Другими словами, нужно понять, сколько собственных
и заемных (например, банковские кредиты) средств (Инвестиционный ресурс, ИР)
вкладывает компания в содержание запасов.

В теории все просто, формула инвестиционного ресурса следующая:

ИР= ТП + ТЗ + ДЗ + ДП – КЗ,

где ТП – товары в пути. Компания оплатила поставщику отгрузку товаров, но они
еще не оприходованы на складе, а следовательно, не числятся в товарном запасе;

ТЗ – товарный запас. Товар, оприходованный на склад, но не отгруженный
клиентам;

ДЗ – дебиторская задолженность клиентов. Товар, отгруженный клиентам, но не
оплаченный ими;

ДП – деньги в пути.

Деньги, которые клиент оплатил за товар, но компания не оплатила их
поставщику; КЗ – кредиторская задолженность.

Деньги, которые поставщик предоставляет в виде товарного кредита на содержание
товарного ресурса. В идеале каждая компания стремится к тому, чтобы ИР = 0. Это
позволит переложить содержание товарного ресурса на поставщика. Например,
розничные сети на содержание своего товарного ресурса тратят значительно меньше
средств, чем составляет кредиторская задолженность, привлеченная от поставщика.
Соответственно у них высвобождаются средства на развитие собственной сети.

Заметим, что все участвующие в расчете инвестиционного ресурса показатели
финансовый директор должен взять под жесткий ежедневный контроль. Это позволит
определить, где сосредоточены средст-ва компании, и разработать необходимые
меры по высвобождению собственных средств.

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

В идеале каждая компания должна стремиться к тому, чтобы инвестиционный ресурс
был равен нулю.

Для выявления внутренних резервов компании стоит воспользоваться QRS-анализом.
Суть его состоит в том, чтобы разделить товары и их поставщиков на три группы,
руководствуясь объемами необходимых инвестиций. Для деления на группы можно
использовать критерий значимости, который рассчитывается по следующей формуле:

Критерий значимости (Кз) = (Инвес-тиционный ресурс/Объем продаж) 100%.

Кз < – 10%. Группа Q. Сюда относятся товары и их поставщики, которые
вкладывают в оборот заказчика более 10% от своего месячного объема продаж.
Отсрочка на погашение товарного кредита такова, что приобретенный товар
компания успевает продать и направить вырученные средства на финансирование
других закупок.

– 10% < Кз < +10%. Группа R. Кредитных средств этих поставщиков, как правило, достаточно, чтобы обеспечить содержание товарного ресурса по поставляемым ими товарам, но не более. Кз > +10%. Группа S. Для покупки товаров у этой категории поставщиков
необходимо вкладывать собственные средства.

Сам по себе QRS-анализ не дает полной картины происходящего. А другими
словами, не позволяет отследить, насколько заинтересована компания в покупке
того или иного товара. Чтобы исправить это упущение, можно провести АВС-анализ,
поделив все товары на три категории руководствуясь показателем прибыли.
Например, в А будут отнесены все товары, приносящие 50% от общей суммы прибыли
по всем клиентам, В – 30% прибыли, и С – 20% прибыли соответственно. «При
планировании продаж товарная номенклатура нашей компании (более 600
наименований) делится на три группы с помощью АВС-анализа, – рассказывает Елена
Агеева. – К группе А мы относим товары, которые приносят наибольший доход и
обеспечивают содержание большинства запасов. По этим товарам максимально точно
определяются объем и момент заказа, так как необходимо обеспечить их постоянное
наличие на складе. Товары группы В занимают среднее положение в формировании
запасов. Товары группы С – самая многочисленная группа товаров, однако в общем
объеме продаж их доля невелика.

ЭКСПЕРТНАЯ ОЦЕНКА РАЗМЕРА СТРАХОВОГО ЗАПАСА

В нашей компании товары этих трех групп, согласно статистическим данным,
распределяются следующим образом:

* 10% ассортиментных позиций обеспечивают 75% от стоимости запасов (группа А);
* 25% ассортиментных позиций приходится на 20% от стоимости запасов (группа
В);
* 65% ассортимента содержит 5% от стоимости запасов (группа С).

Анализ проводит департамент маркетинга.

Совместив результаты QRS- и ABC-анализа (см. рис. 1 ) и выделив девять групп
товаров, можно определить стратегию работы с поставщиками, а также стратегию
продаж. Товары и поставщики, которые попадут в группу AQ, – наиболее
рентабельные и не требуют финансирования для собственного содержания. С
поставщиками таких товаров надо строить долгосрочные партнерские отношения,
следить за сроками погашения кредиторской задолженности перед ними и т. д. А
товары группы CS наименее доходные и в то же время требуют дополнительных
средств на содержание товарного запаса, поэтому, если есть возможность, их
лучше выводить из ассортимента.

КЛЮЧЕВЫЕ ЛИМИТЫ ЗАПАСОВ

Когда компания определила, в какой товар она будет вкладывать средства и с
какими поставщиками будет работать, необходимо спланировать объем запасов по
каждому виду товара. Для этого по фактическим данным (объем продаж, срок
реагирования и т. д. ) нужно рассчитать средний запас по каждому виду товара.
Сложив данные по товарам конкретного поставщика, мы получим средний товарный
запас по поставщику. Средний товарный запас (ТЗ) на складе состоит из
страхового (СТЗ) и среднего рабочего запаса (РТЗ) (см. рис. 2 на стр. 33). При
этом последний зависит от того, сколько раз компания закупает товары за период,
и объема продаж:

Для оценки страхового запаса есть два подхода.

Первый основан на экспертных суждениях о вероятном увеличении продаж и
задержке товара (см. рис. 3). Для расчета используется следующая формула:

СТЗ = ПДср СРср (% ПД + % СР),

где ПДср – средний объем продаж в день, шт. ; СРср – средний срок реагирования
(период между моментом возникновения потребности в товаре и его поставки на
склад), дни; % ПД – процент вероятного увеличения продаж (насколько могут
увеличиться продажи в день по отношению к средним продажам), проценты; % СР –
процент вероятной задержки поставки (на сколько дней может задержаться поставка
по отношению к среднему сроку реакции), проценты.

Второй подход к расчету страхового запаса опирается на накопленную статистику
колебаний продаж и нарушений сроков поставки.

Вычисляется на основе заданной вероятности с использованием статистических
таблиц функции Лапласа. Например, если необходимо с вероятностью 95% иметь
товар на складе, то этому значению будет соответствовать значение коэффициента
1,64.

Однако, несмотря на то что второй подход способен дать более точные
результаты, он редко применяется на практике. Дело в том, что у компаний
нередко отсутст-вует статистика о задержках поставок.

После того как размер страхового запаса определен, нужно сравнить полученные
результаты с фактическими складскими остатками, превышающими плановую
потребность, и ликвидировать существующие излишки.

Мы начали статью с того, что использовать показатель оборачиваемости товаров в
качестве норматива неоправданно.

Правильный вариант, если контроль за состоянием запасов осуществляется на
ежедневной основе по отклонениям от следующих нормативов:

* максимальный товарный запас (МаксТЗ), который рассчитывается как сумма
страхового запаса и среднего объема поставки;
* точка заказа/перезаказа (ТЗП) – количество товара на складе, при достижении
которого необходимо делать новый заказ поставщику (сумма страхового товарного
запаса и количества товаров, которые будут проданы за то время, которое
необходимо для доставки следующей партии от поставщика);
* точка «последнего желания» (ТПЖ) – количество товаров, которые будут
проданы за то время, которое необходимо для доставки следующей партии от
поставщика и к приходу следующей поставки компания останется без товара.

Установив нормативы и оперативно контролируя их, компания сможет максимально
эффективно управлять своими инвестициями в товарные запасы. Но, при этом не
стоит забывать, что мало разработать необходимую методологию, важно
заинтересовать в результатах сотрудников компании.

При этом для каждого отдела должны использоваться различные схемы
вознаграждения, например:

* отдел продаж ориентирован на стопроцентное выполнение плана продаж;
* отдел закупок – на соблюдение нормативов по товарному запасу;
* транспортный отдел – на выполнение установленных сроков по доставке товара.

Определить группы товаров которые не приобретались в 2005 году

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

Задание 9: SELECT name FROM Company AS c LEFT JOIN Trip AS t ON c.id = t.company WHERE t.town_from = ‘Vladivostok’;

Задание 23: SELECT good_name, unit_price FROM Payments AS p JOIN Goods AS g ON p.good = g.good_id JOIN GoodTypes as gp ON g.type = gp.good_type_id WHERE good_type_name = ‘delicacies’ LIMIT 1;

SELECT good_name, good_id, good, date FROM Goods as g LEFT OUTER JOIN Payments as p ON g.good_id = p.good WHERE date IS NULL OR date NOT LIKE ‘2005%’ ORDER BY good;

РЕШЕНИЕ: SELECT good_type_name FROM GoodTypes WHERE good_type_id NOT IN (SELECT good_type_id FROM Goods JOIN Payments ON Goods.good_id = Payments.good AND YEAR(date) = 2005 JOIN GoodTypes ON GoodTypes.good_type_id = Goods.type);

Задание 38: SELECT COUNT(1) As count FROM Student WHERE first_name LIKE ‘Anna’;

 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *