Здравствуйте. Продолжаю работу над своей отчетной таблицей. У меня есть данные на много тысяч строк. Чтобы отчет не зависал работаю в Power Query. Сейчас пытаюсь решить задачу выведения столбца с количеством активных за текущий месяц покупателей. Активный покупатель - покупатель который совершил хоть 1 покупку в этом месяце. Группировка в сводной таблице будет идти по продавцу. Проблема в том, что 1 покупатель может совершать\оформлять много сделок на покупку. Я думал, что если выведу в PQ новый столбец со статусом покупки (1 - купил, 0 - не купил) то смогу их сосчитать. AlienSx и Artem_1990 - помогли сделать мне такой столбец, за что им отдельно спасибо. Только это, конечно же, никак мне не помогло в моих целях. Я не сообразил сразу этого. Из-за того что 1 покупатель оформляет много покупок - суммация статусов дает неверные данные. Каким-то образом, надо учитывать статусы покупок только уникальных покупателей. Прошу помочь найти решение, как сохранить PQ, который нужен для всех остальных преобразований, при этом чтобы была возможность выводить в отчет нужные показатели. Файл во вложении. Он сильно урезан по кол-ву строк, столбцов и прочих вычислений.
И еще момент, я полагаю что мне надо определять статус покупателя (активный\неактивный) по заранее выбранному периоду. Я выбрал месяц. Хотя другие показатели, например, сумма покупок, комиссия с покупки, я могу смотреть хоть по дням, хоть по годам, т.е. переключая разные временные срезы. Но, мне кажется, тоже самое проделывать с активными покупателями невозможно. Ведь, чтобы определить статус активности надо просмотреть какой-либо отрезок. А вычисления в PQ проводятся сразу для всех данных, а они статичны. Я не придумал никакой динамичной формулы для этого, поэтому решил считать активных покупателей за 1 мес. Прошу поправить если есть способы другие. Спасибо
Rockfett, файл не смотрел, но судя по описанию Вам нужно переходить на модель данных (power pivot) и DAX. Там можете сразу динамически считать активных покупателей, используя срезы за какой период учитывать активных покупателей, без лишних преобразований в pq. Для примера https://biprosto.ru/dax/count-new-constant-lost-klient.html
написал: Rockfett , файл не смотрел, но судя по описанию Вам нужно переходить на модель данных (power pivot) и DAX. Там можете сразу динамически считать активных покупателей, используя срезы за какой период учитывать активных покупателей, без лишних преобразований в pq. Для примера https://biprosto.ru/dax/count-new-constant-lost-klient.html
Спасибо, посмотрю. Я когда выбирал, как решить проблему с тормозами в обычном экселе, изучал как раз - PQ и PT. Тогда я так понял, что PT нужен когда у нас много разных таблиц и их надо сапоставить между собой. Про чудеса дакса я уже много наслышан. Не совсем тогда понятно, зачем нужен тогда PQ.
написал: Не совсем тогда понятно, зачем нужен тогда PQ.
PQ - это ETL (extract, transform, and load) надстройка для подготовки и преобразования неструктурированных данных в нужный вид, то есть, если нужны дальнейшие расчеты, то в вид плоских таблиц с последующей загрузкой в сводные таблицы или в модель данных. На больших объемах данных (млн записей) скорость расчета в PQ оставляет желать лучшего.
Ну если коротко, то сгруппировал сначала таблицу по месяцам локально, получил таблицы со всеми работниками по каждому месяцу и их продажи, далее каждую такую таблицу ещё раз группирую ,но уже по работникам , чтобы получить данные по каждому работнику в месяце,ну и собственно говоря считаю его продажи и активные продажи и ТД. А для понимания кода в первой группировке можете заменить f(x) просто на x и проанализировать.
написал: Ну если коротко, то сгруппировал сначала таблицу по месяцам локально, получил таблицы со всеми работниками по каждому месяцу и их продажи, далее каждую такую таблицу ещё раз группирую ,но уже по работникам , чтобы получить данные по каждому работнику в месяце,ну и собственно говоря считаю его продажи и активные продажи и ТД. А для понимания кода в первой группировке можете заменить f(x) просто на x и проанализировать.
написал: Найдите в интерфейсе кнопку " расширенный редактор".
Эту кнопку знаю. Но чтобы сюда вписать код, надо знать синтаксис и правила. У меня в PQ до этого момента идет много других преобразований. Когда я туда пробовал вставлять ваш кол, он жаловался на разные токены. Видимо, не совпадают действия по отношению к одному источнику. Печаль
Откройте Power Query в Excel (в разделе "Данные" выберите "Получить данные" -> "Из других источников" -> "Пустой запрос" или "Из таблицы/диапазона"). 2. В меню Power Query выберите "Расширенный редактор" для открытия окна редактора запросов. 3. В окне редактора запросов выберите "Новый источник" -> "Функция" -> "Пустая функция". 4. Введите имя для функции и определите параметры функции, если они есть. Затем введите код функции в окне редактора запросов. 5. После того как функция создана, ее можно использовать в других запросах. Для этого выберите "Добавить столбец" -> "Вызов функции" и выберите созданную функцию из списка. Таким образом, вы можете добавить функцию в Power Query и использовать ее для преобразования данных в ваших запросах.
Хотя у меня в расширенном редакторе нет кнопки новый источник.
От себя добавлю. Если Вам не нужен EXCEL и PQ то лучше скинуть источник и попросить сделать все что нужно, либо тут либо в разделе работа. А если хотите освоить, то нужно разбирать коды , читать спецификацию и практиковаться. Объяснить Вам все, что написано не смогу, потому как не знаю, что у вас там в исходнике.