Добрый день. Пол месяца назад уже выполнял похожую задачу в экселе, не без вашей помощи, разумеется)))) Но, моя таблица достигла предела. На 37 тыс. строк таблица перестала работать (стала зависать). Она имела не только много строк но еще и десятки сложных формул. Я сообразил, что как-то это должно по другому работать и пришел к Power Query. Теперь я строю заново отчет с помощью Power Query. Многое смог освоить самостоятельно, но никак снова не дается ранжирование по условию. Собственно задача, добавить к таблице столбец, где будут указываться ранги клиента, в зависимости от суммы его покупок. Важно что данные не надо группировать. Т.к. после создания образца запроса я планирую делать сводную таблицу, поэтому данные нужны полные. Прошу подсказать в каком направлении копать или где почитать. Что надо приложить для помощи? У меня очень большой исходник - 37 тыс. строк.
Моя таблица представляет из себя что-то вроде: Дата, Имя покупателя, Что купил, Стоимость товара.
В 1 день Иванов сделал покупку на 100 рублей, во 2 день Иванов сделал покупку на 500 рублей. Хочу получить столбец, где у всех строк "Иванов" будет ранг, допустим "1" (Если покупки выше 600 рублей, суммарно по всем его покупкам. А будущем еще и по категории товара).
Я полагаю, что мне надо написать свою функцию. И следом еще 1 вопрос. Правильно ли я понимаю, что все функции в Power Query мы создаем в новом запросе, в расширенном редакторе? Нашел, что раньше в десктопной версии было встроенное ранжирование. Сейчас его нету.
Rockfett, ни в какую Вы не хотите пример прикладывать. По старой памяти сделал файл-пример за Вас. "Кнопочное" решение во вложении. Но тут на форуме много спецов, с более изящными решениями.
написал: Rockfett , ни в какую Вы не хотите пример прикладывать.По старой памяти сделал файл-пример за Вас."Кнопочное" решение во вложении.Но тут на форуме много спецов, с более изящными решениями.
Спасибо что снова откликнулись на мою проблему. Я хочу пример прикладывать, поэтому спросил)):
Цитата
написал: Что надо приложить для помощи?
Я думал мне подскажут название нужной мне функции, а дальше я пойду ее изучать самостоятельно.
Я приложил файлик, но, ваш файлик, имеет примерно туже самую суть. Только в моей таблице, более сложной, больше условий. Я буду ранжировать клиентов еще и по статусу сделок. Я сейчас буду изучать ваше решение. Я вижу что вы обошлись без каких либо пользовательских функций. Вы создали несколько запросов, а потом, судя по всему свели их вместе. Я могу быть не точным в формулировках, т.к. пока только пару недель изучаю Power Query/ Это ресурсозатратно, создавать несколько запросов? В месяц мне надо выгружать до 15 тыс. строк в экселе. Объем данных будет постоянно расти. Поэтому, уже наступив на грабли при составлении отчета просто в экселе, я бы хотел сразу встать на правильный путь в работе с большими данными.
Rockfett написал: Вы создали несколько запросов, а потом, судя по всему свели их вместе. Я могу быть не точным в формулировках, т.к. пока только пару недель изучаю Power Query
Руслан, да
Цитата
Rockfett написал: Это ресурсозатратно, создавать несколько запросов
То что я предложил, быстрее чем формулами, но специалисты по PQ могут предложить более быстрое/элегантное решение Вашей проблемы.
Rockfett написал: Я думал мне подскажут название нужной мне функции
"Думать меньше надо, а соображать больше!" Нет какой-то одной функции языка М, которая решила бы вашу задачу. У вас "комплекс мероприятий": посчитать сумму продаж (с учетом отказов?), найти и присвоить соответствующую группу. Вот пока непонятно как сумму продаж для проверки считать. "Проведена" и "Оформление" - это плюс, а "Отказ" - это минус?
написал: Нет какой-то одной функции языка М, которая решила бы вашу задачу.
Речь шла о пользовательской функции, которая может быть какой угодно.
Цитата
написал: Я полагаю, что мне надо написать свою функцию.
Уверен что написание комбинированной функции (группировка, суммация по условию, ранжирование) возможно. А чуть выше, я как раз и спрашивал в каком направлении искать решение.
Цитата
написал: Вот пока непонятно как сумму продаж для проверки считать. "Проведена" и "Оформление" - это плюс, а "Отказ" - это минус?
Нет. Это, вероятно, не самый понятный пример получился. Магазины взял для простоты. Реальный отчет будет по банковским продуктам. Представим что я анализирую продажи в магазине. Я в говорил о том, что :
Цитата
написал: Только в моей таблице, более сложной, больше условий. Я буду ранжировать клиентов еще и по статусу сделок.
Допустим, я считаю суммы только у "Проведенных" до конца покупок. Это имеет смысл, т.к. это фактическая прибыль магазина. Вот по этих доходам и должна присваиваться группа. Можно представить вместо статусов совершения покупок любой другой. Например, суммация покупок только в категории "Электротовары", с последующим ражнирование по размеру суммы покупок в этой категории.
Таким образом, тут речь пока не про
Цитата
написал: это плюс, а "Отказ" - это минус?
При этом, мне нельзя сложить таблицу в группы, т.к. после создания шаблона запроса, я буду загружать таблицу в эксель и строить дальнейший сводник. Поэтому я хочу видеть все строки, что были изначально + новые столбцы полученные на предобработке\преобразовании в запросе PQ. Если я правильно понимаю, PQ для этого и нужен.
а в файле - пример ее применения. Я позволил себе немного подправить таблицу рангов, чтобы границы были от и до.
Цитата
Rockfett написал: Допустим, я считаю суммы только у "Проведенных" до конца покупок. Это имеет смысл
имеет. Но тогда почему у Петрова группа 2, хотя ни одной проведенной продажи у него не было?
Цитата
Rockfett написал: Реальный отчет будет по банковским продуктам.
Что за банк? Вдруг надо срочно бежать и закрывать там счет? А то обсчитают, как бедного Петрова. И напоследок:
Цитата
Rockfett написал: Речь шла о пользовательской функции, которая может быть какой угодно.
Цитата
Rockfett написал: Я думал мне подскажут название нужной мне функции
так вам все-таки название функции нужно было изначально? Вот потому, что вы говорите то, что не думаете и думаете то, что не думаете, вот в клетках и сидите.