Добрый день! Коллеги, прошу помощи в решении задачи на PQ. Во вложении файл, в котором необходимо определить можно ли осуществлять продажу или нет в зависимости от условий:
1) Если ID один, то если Если Исключение = 1, то НЕТ, если Исключение = 0, то ДА 2) Если ID несколько и хотя бы для одного из них Исключение = 1, то для каждого ID НЕТ 3) Если ID несколько и для каждого из них Исключение = 0, а Статус каждого из них = "Не предлагалось", то для всех ДА 4) Если ID несколько и для каждого из них Исключение = 0, а Статус <> "Не предлагалось", то НЕТ для строк со статусом "Не предлагалось", а для остальных строк ДА
Написал громоздкую формулу в столбце AA, которая учитывает эти условия, но файл очень сильно тормозит при большом объеме данных. Хотелось бы реализовать все эти условия в PQ, но знаний для этого недостаточно. Мне почему то кажется, что задачу можно решить через группировку, но, возможно, я ошибаюсь.
Murderface_, там в столбце "Статус" стоят значения отличные от "Не предлагалось" поэтому Ложь. Вроде бы всё верно. Эта колонка регулируется последней строчкой запроса, если я понял Вас неправильно, то можно просто поменять = на <>.
А можно всё-таки пример конкретных строк, которые считаются не правильно? Да, мой результат отличается от формульного, потому что я руководствовался не формулой, а описанным Вами алгоритмом. Строчку Статус <> "Не предлагалось", то НЕТ, а для остальных ДА я читаю как Если статус = "Не предлагалось", тогда ДА.
4-е правило работает, но выдаёт результат противоположный формуле. Тут или формула с алгоритмом не бьётся или я алгоритм понял наоборот. В приложении 2 варианта (прямой и обратный)
Murderface_ написал: то тоже будет отличаться от формулы.
Цитата
Murderface_ написал: 3) Если ID несколько и для каждого из них Исключение = 0, а Статус = "Не предлагалось, то для всех ДА 4) Если ID несколько и для каждого из них Исключение = 0, а Статус <> "Не предлагалось", то НЕТ, а для остальных ДА
Тогда не верно поставлены эти условия. Выборка
20191102375498
Не предлагалось
0
НЕТ
20191102375498
Клиент не заинтересован
0
ДА
ID одинаковый, Исключение = 0. Для второй строки "Клиент не заинтересован" <> "Не предлагалось" - должно быть НЕТ, а для первой строки ДА по 4 условию. Где правда?
Андрей, здравствуйте! В этом случае срабатывает 4 условие, а именно для строки со статусом "Не предлагалось" ответ будет НЕТ, т. к. есть другая строка с таким же ID и со статусом <> "Не предлагалось", для которой ответ ДА.
Если же несколько строк с одинаковым ID имеют Исключение = 0 и статус "Не предлагалось", то срабатывает 3 условие и ответ для всех будет ДА.