Тимур, как обычно СУПЕР!!! Обращение к Вашим подписчикам! - Ребята, давайте поддержим нашего старшего товарища и я не побоюсь сказать УЧИТЕЛЯ с большой БУКВЫ. Все как обычно доходчиво и понятно. Давайте его хотя бы чуть отблагодарим за его труды. нас это не сильно огорчит (по ценам абсолютно приемлемо) а ему - надеюсь будет приятно, что мы его ценим за то что он делает большой пласт работы и объясняет нам то, что мы сами не смогли додумать и найти!!! Тимур и если можно один вопрос - возможно где то в уроках пропустил (хотя все переписываю в блокнот :) - как можно поставить подсказку в PQ (для отображения окончания вводимых параметров и их подсказок с параметрами их применения). Еще раз большое спасибо. Завис 5-й день на питоне :) но все видео супер, в каждом что то есть особенное, что потом все равно пригодится.
Спасибо за быстрый ответ. Да, имел ввиду подсветку синтаксиса. К сожалению, я на 2013 и 2016. Если будет возможность - посмотрите, пожалуйста, вопрос к видео COMRADE EXCEL TV 2. ОБЪЕДИНИТЬ XLSX ФАЙЛЫ В ОДИН CSV. Понимаю, что вопросы поднял достаточно обширные...по возможности - дайте свой комментарий (хотя бы краткий). Еще раз огромное СПАСИБО. заставляете мозтг работать (особенно когда квалификация Юриспруденция :) На мой взгляд Вы подняли на очень достойном и профессиональном уровне очень интересный пласт.
Спасибо автору - все как всегда на высочайшем уровне. Интересно было бы посмотреть на нарастающий итог с List.Genefate по 2-м и более категориям. Ибо List.Range и индексирование таблиц внутри полей ну очень тормознутые. Да, и ненавязчиво напоминаю про оптимизацию кода. Ещё раз спасибо.
Спасибо! Про оптимизацию кода расскажу. Сразу вам пара советов: 1. Если подключение к файлам, то не использовать XLXS, XLS, XLSB. Только csv и txt. 2. В ссылках ссылаться сначала на строку, а потом на столбец, т. е. вот так, например: Таблица{строка}[столбец]. Это будет примерно раз 5-10 быстрее работать, чем ссылка такая Таблица[столбец]{строка}
@@comrade_excel Спасибо. Приходится пользоваться в основном *xml, т.к. файлы выгрузки для импорта на сайт приходят именно в таком формате и других просто нет :). И с ними не всегда просто из-за специфики структуры.
Здравствуйте! Откуда у вас такие познания “M”? Может быть вы планируете создать свой курс? Я не против пройти курс, который позволит мне писать на “M” так же легко как и на русском.
Здравствуйте! Весь плейлист по Power Query - это и есть курс. В нем будет еще 10-15 видео. Если изучите все, то станете продвинутым пользователем Power Query.
Пара вопросов. Как при использовании List.Generate в новом столбце в части NEXT сослаться на список из колонки таблицы внутри запроса на предыдущем шаге? Есть мысль, что нужно в записи в начале добавить еще поле с ссылкой на список, а потом в цикле переназначать это поле и использовать его как переменную с добавлением соответствующих формул в {}. Как включить подсветку (подсказку) набираемых функций, как в EXCEL и VBA (ну и как в видео)? Спасибо.
@@comrade_excel Попробую быстро накидать пример (в упрощенном варианте и пока без учета советов по очередности ссылок на поля и строки). Шаг "Таблица", в которой после n-ого количества шагов преобразований есть поля "Категория", "Товар", "Результат", "Индекс". Т.е. для List.Generate списка в источнике нет, он получается уже в результате преобразований и, как я понимаю, сохранить его как отдельный запрос можно только с повтором всех предыдущих шагов запроса, т.к. исходные данные естественно изменяются (что не оптимально). Создаем новый столбец после шага "Таблица" Внутри: = Table.AddColumn (Таблица, "Column1", each List.Generate ( ()=> [i = 0, x = Таблица[Результат]{[Индекс]-2}], /* inital */ each i < 2, /* condition */ each [i = [i]+1, x = Таблица[Результат]{[Индекс]-2+[i]}], /* next */ each [x] /* selector */ ) ) На этапе "next" получаем: Expression.Error: Поле "Индекс" записи не найдено. Т.е. понимаю, что поле "Индекс" в данном случае PQ ищет внутри таблицы, созданной в цикле. Вопрос: как правильно написать ссылку на этапе "next" на ячейку из таблицы в предыдущем шаге "Таблица[Результат]{[Индекс]}". Спасибо. Мысль была [Индекс] сохранить в отельное поле (переменную) на этапе "inital" ()=> [i = 0, И = [Индекс], x = Таблица[Результат]{[И]-2}], а на этапе "next" переназначить: each [i = [i]+1, И = [И], x = Таблица[Результат]{[И]-2+[i]}], Но пока не пробовал :). И не уверен, что изнутри цикла обращение к таблице в предыдущем шаге сработает. P.S. Понимаю, что все на голом энтузиазме и нас тут "недоумников" много, поэтому если нет возможности ответить - забейте. Здоровья Вам и всяческих успехов.
@@dmitriy5058 В параметре next можно работать только с теми переменными, что есть в параметре initial. Дополнительные поля можно добавлять в шаге selector.
Большое спасибо за урок. Очень познавательно и интересно. Не знаю Вашей дальнейшей программы курса, но в качестве пожелания (если таковые интересуют) я бы попросил в дальнейшем коснуться тем округления результатов до двух знаков, а также точной разбивки сумм по какой-либо процентовке с округлённым результатом. Если не вполне ясно, я могу расшифровать поподробнее. Просто обе задачи возникают у меня довольно часто и я не уверен, что справляюсь с ними оптимальным способом в Power Query. Спасибо
@@comrade_excel По "второму": В таблице А хранятся точные суммы с 2-умя знаками после запятой (к примеру, ID и зарплата). В таблице B базис для процентовки (к примеру, ID и отработанные часы по отделам за период). Задача - разбить суммы зарплат сотрудников по их отработанному времени в каждом периоде и при этом разбитый результат должен быть округлён до 2-ух знаков и общая сумма разбитого результата должна быть равна сумме з/п. То есть, разбивка чего-то дробного (2 знака) по какой-то процентовке и результат должен быть дробным (2 знака) и точным. Я это часто использую в работе через Power Query (нахожу процентовку, делаю Merge, умножаю сумму на процент, округляю результат, проверяю общую сумму с суммой разбитых частей и корректирую результат). Могу переслать файл с примером и кодом M.
@@comrade_excel Проблема в том, что когда большая дробная сумма (к примеру 1,017.23) разбивается на много строк по процентовке и результат округляется до 2-ух знаков, то сумма этих округлённых результатов не обязательно будет равна 1,017.23. Может быть + / - 0.01. Например 1,017.24. А это уже неправильно. Поэтому приходится прибегать к дополнительному сравниванию и корректировке
@@ivanmamchych5802 Причем тут Power Query? Вы если это сделаете на бумаге, то получится так же. Если вы 3 копейки разделите на 2, то получится по 1.5 копейки, а при округлении до целого у каждого выйдет по 2 копейки. В результате в сумме 4 копейки, а не 3.
Добрый день. Прошу разобрать пример, который довольно таки часто требуется на практике: разложить дебиторскую кредиторскую задолженность по срокам ее возникновения. Т.е. согласно одного и того же договора есть много платежей и накладных. И нужно отобрать те платежи (или накладные), которые остались не закрытыми. Закрытие по методу ФИФО. Я вышел на результат, но понимаю что можно сделать оптимально с функцией Generate. Пока знаний не хватает)
Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/34a08df7-4971-475e-8079-e17f1b0fabb0?share=post_link
Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_191
Файлы для спонсоров TH-cam: th-cam.com/users/postUgwMai_IBAeNmjLLgCp4AaABCQ
Индивидуальное обучение: comrade-xl.ru/pq-training/
Страница урока на сайте: comrade-xl.ru/2020/05/05/power-query-listgenerate-grafik-platezhey-pq/
Тимур, как обычно СУПЕР!!!
Обращение к Вашим подписчикам! - Ребята, давайте поддержим нашего старшего товарища и я не побоюсь сказать УЧИТЕЛЯ с большой БУКВЫ. Все как обычно доходчиво и понятно. Давайте его хотя бы чуть отблагодарим за его труды. нас это не сильно огорчит (по ценам абсолютно приемлемо) а ему - надеюсь будет приятно, что мы его ценим за то что он делает большой пласт работы и объясняет нам то, что мы сами не смогли додумать и найти!!!
Тимур и если можно один вопрос - возможно где то в уроках пропустил (хотя все переписываю в блокнот :) - как можно поставить подсказку в PQ (для отображения окончания вводимых параметров и их подсказок с параметрами их применения).
Еще раз большое спасибо.
Завис 5-й день на питоне :) но все видео супер, в каждом что то есть особенное, что потом все равно пригодится.
Спасибо!
Вы имеете в виду подсветку синтаксиса и подсказки по функциями и параметрам? Если да, то они пока есть только в Office 365.
Спасибо за быстрый ответ. Да, имел ввиду подсветку синтаксиса. К сожалению, я на 2013 и 2016.
Если будет возможность - посмотрите, пожалуйста, вопрос к видео COMRADE EXCEL TV 2. ОБЪЕДИНИТЬ XLSX ФАЙЛЫ В ОДИН CSV. Понимаю, что вопросы поднял достаточно обширные...по возможности - дайте свой комментарий (хотя бы краткий). Еще раз огромное СПАСИБО. заставляете мозтг работать (особенно когда квалификация Юриспруденция :)
На мой взгляд Вы подняли на очень достойном и профессиональном уровне очень интересный пласт.
Спасибо!
Из ваших 3 вопросов я начну с одного, который про отслеживание прогресса. Пока что не могу точно сказать, когда будет ответ.
Очень информативно!
Лайк и спасибо.
Спасибо автору - все как всегда на высочайшем уровне.
Интересно было бы посмотреть на нарастающий итог с List.Genefate по 2-м и более категориям. Ибо List.Range и индексирование таблиц внутри полей ну очень тормознутые.
Да, и ненавязчиво напоминаю про оптимизацию кода.
Ещё раз спасибо.
Спасибо!
Про оптимизацию кода расскажу.
Сразу вам пара советов:
1. Если подключение к файлам, то не использовать XLXS, XLS, XLSB. Только csv и txt.
2. В ссылках ссылаться сначала на строку, а потом на столбец, т. е. вот так, например: Таблица{строка}[столбец]. Это будет примерно раз 5-10 быстрее работать, чем ссылка такая Таблица[столбец]{строка}
@@comrade_excel Спасибо. Приходится пользоваться в основном *xml, т.к. файлы выгрузки для импорта на сайт приходят именно в таком формате и других просто нет :). И с ними не всегда просто из-за специфики структуры.
Комментарии не менее ценные!!!
Здравствуйте!
Откуда у вас такие познания “M”? Может быть вы планируете создать свой курс? Я не против пройти курс, который позволит мне писать на “M” так же легко как и на русском.
Здравствуйте!
Весь плейлист по Power Query - это и есть курс. В нем будет еще 10-15 видео. Если изучите все, то станете продвинутым пользователем Power Query.
Пара вопросов.
Как при использовании List.Generate в новом столбце в части NEXT сослаться на список из колонки таблицы внутри запроса на предыдущем шаге? Есть мысль, что нужно в записи в начале добавить еще поле с ссылкой на список, а потом в цикле переназначать это поле и использовать его как переменную с добавлением соответствующих формул в {}.
Как включить подсветку (подсказку) набираемых функций, как в EXCEL и VBA (ну и как в видео)?
Спасибо.
Подсветки и подсказки есть только в Office 365.
Остальное ничего не понял, что имеется в виду.
@@comrade_excel
Попробую быстро накидать пример (в упрощенном варианте и пока без учета советов по очередности ссылок на поля и строки).
Шаг "Таблица", в которой после n-ого количества шагов преобразований есть поля "Категория", "Товар", "Результат", "Индекс".
Т.е. для List.Generate списка в источнике нет, он получается уже в результате преобразований и, как я понимаю, сохранить его как отдельный запрос можно только с повтором всех предыдущих шагов запроса, т.к. исходные данные естественно изменяются (что не оптимально).
Создаем новый столбец после шага "Таблица"
Внутри:
= Table.AddColumn (Таблица, "Column1",
each
List.Generate (
()=> [i = 0, x = Таблица[Результат]{[Индекс]-2}], /* inital */
each i < 2, /* condition */
each [i = [i]+1, x = Таблица[Результат]{[Индекс]-2+[i]}], /* next */
each [x] /* selector */
)
)
На этапе "next" получаем: Expression.Error: Поле "Индекс" записи не найдено.
Т.е. понимаю, что поле "Индекс" в данном случае PQ ищет внутри таблицы, созданной в цикле.
Вопрос: как правильно написать ссылку на этапе "next" на ячейку из таблицы в предыдущем шаге "Таблица[Результат]{[Индекс]}".
Спасибо.
Мысль была [Индекс] сохранить в отельное поле (переменную) на этапе "inital"
()=> [i = 0, И = [Индекс], x = Таблица[Результат]{[И]-2}],
а на этапе "next" переназначить:
each [i = [i]+1, И = [И], x = Таблица[Результат]{[И]-2+[i]}],
Но пока не пробовал :). И не уверен, что изнутри цикла обращение к таблице в предыдущем шаге сработает.
P.S. Понимаю, что все на голом энтузиазме и нас тут "недоумников" много, поэтому если нет возможности ответить - забейте.
Здоровья Вам и всяческих успехов.
@@dmitriy5058 В параметре next можно работать только с теми переменными, что есть в параметре initial. Дополнительные поля можно добавлять в шаге selector.
Большое спасибо за урок. Очень познавательно и интересно.
Не знаю Вашей дальнейшей программы курса, но в качестве пожелания (если таковые интересуют) я бы попросил в дальнейшем коснуться тем округления результатов до двух знаков, а также точной разбивки сумм по какой-либо процентовке с округлённым результатом. Если не вполне ясно, я могу расшифровать поподробнее. Просто обе задачи возникают у меня довольно часто и я не уверен, что справляюсь с ними оптимальным способом в Power Query. Спасибо
Пожалуйста! По округлениям урок будет. Второе не понял.
@@comrade_excel По "второму": В таблице А хранятся точные суммы с 2-умя знаками после запятой (к примеру, ID и зарплата). В таблице B базис для процентовки (к примеру, ID и отработанные часы по отделам за период). Задача - разбить суммы зарплат сотрудников по их отработанному времени в каждом периоде и при этом разбитый результат должен быть округлён до 2-ух знаков и общая сумма разбитого результата должна быть равна сумме з/п. То есть, разбивка чего-то дробного (2 знака) по какой-то процентовке и результат должен быть дробным (2 знака) и точным.
Я это часто использую в работе через Power Query (нахожу процентовку, делаю Merge, умножаю сумму на процент, округляю результат, проверяю общую сумму с суммой разбитых частей и корректирую результат). Могу переслать файл с примером и кодом M.
Я не понимаю в чем здесь может быть проблема? Здесь же все понятно.
@@comrade_excel Проблема в том, что когда большая дробная сумма (к примеру 1,017.23) разбивается на много строк по процентовке и результат округляется до 2-ух знаков, то сумма этих округлённых результатов не обязательно будет равна 1,017.23. Может быть + / - 0.01. Например 1,017.24. А это уже неправильно. Поэтому приходится прибегать к дополнительному сравниванию и корректировке
@@ivanmamchych5802 Причем тут Power Query? Вы если это сделаете на бумаге, то получится так же.
Если вы 3 копейки разделите на 2, то получится по 1.5 копейки, а при округлении до целого у каждого выйдет по 2 копейки. В результате в сумме 4 копейки, а не 3.
тяжёлые конечно для понимания функции :(
Добрый день. Прошу разобрать пример, который довольно таки часто требуется на практике: разложить дебиторскую кредиторскую задолженность по срокам ее возникновения. Т.е. согласно одного и того же договора есть много платежей и накладных. И нужно отобрать те платежи (или накладные), которые остались не закрытыми. Закрытие по методу ФИФО. Я вышел на результат, но понимаю что можно сделать оптимально с функцией Generate. Пока знаний не хватает)
Отправьте мне ссылку на файлы. Исходники + как должен выглядеть итоговый результат. Я посмотню.
@@comrade_excel drive.google.com/file/d/1hmQH1Qgfddi40M76Aimli0foCqGaEgIE/view?usp=sharing
Верная нумерация урока - №28
2:38 Как наколдовать, чтобы так же разбивало по строкам и подсвечивало? У меня без подсветки и все в одну строку
По строкам разбиваю я сам. Подсветка есть в версии Microsoft Office 365.