Зачем нужен фильтр по первому действию заказа
Заказ состоит из действий, которые передают статус его позиций.
При наличии изменений статуса в заказе будет несколько действий.
Учитываем эти факторы при решении задач.
Задача 1.
Найти клиентов, совершивших заказ в феврале 2021 года.
Ограничивать заказы по времени будем через действие заказа.
Встает вопрос: по которому действию их отбирать?
Допустим, есть заказ, который был оформлен 28 февраля, оплачен в тот же день, доставлен 5 апреля:
Если 1 апреля снять отчет по последнему состоянию, заказ попадет в доходность за февраль.
Если же снять тот же отчет 6 апреля, заказ попадет в доходность по апрелю.
Так как последнее действие может меняться в течение времени, поиск по текущему состоянию не подходит.
В отличие от последнего, первое действие — всегда одно и неизменно.
Поэтому поиск осуществляем именно по нему:
Фильтр читается так: найти клиентов, которые совершили заказ в феврале 2021 года, при этом заказ в одном из статусов: оформлено/оплачено/доставлено.
Про статусы можно почитать в статье.
По тому же принципу ищем заказы.
Задача 2.
Найти заказы, совершенные в марте.
Дополнительная причина использовать условие по первому действию заказа: так как в заказе может быть несколько действий, фильтром нужно отобрать уникальное действие в рамках каждого заказа.
Таким образом получаем получаем количество заказов в фильтре:
Узнать больше о работе фильтров можно в курсе «Фильтры Mindbox».
В видеоуроках собрана вся основная информация о фильтрах, которая может понадобиться в работе, а после каждого урока идет закрепление материала в практических заданиях.
Урок по поиску клиентов с заказами:
[Урок по поиску заказов:](https://stepik.org/lesson/838631/step/1?unit=842295){target="_blank"}