Power Query Язык М №10. Объект List / Список

Поделиться
HTML-код
  • Опубликовано: 6 окт 2024
  • Зачем нужны списки, создание списков, сравнение списков, функции для работы со списками.
    Файлы для спонсоров Boosty: boosty.to/comr...
    Файлы для спонсоров ВК: comrade...
    Файлы для спонсоров RUclips: • Post
    🧑‍🏫 Индивидуальное обучение: comrade-xl.ru/...
    💻 Страница урока на сайте: comrade-xl.ru/...

Комментарии • 33

  • @comrade_excel
    @comrade_excel  2 года назад

    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/8a50cf99-a28c-4ddd-a5ce-6a368bd64c41?share=post_link
    Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_247
    Файлы для спонсоров RUclips: ruclips.net/user/postUgkxKfqThecPunjdaqsq-OdpO_4NCfziSl0f
    🧑‍🏫 Индивидуальное обучение: comrade-xl.ru/pq-training/
    💻 Страница урока на сайте: comrade-xl.ru/2022/01/11/pq-mlang-list/

  • @olegn.4237
    @olegn.4237 10 месяцев назад

    Спасибо большое за полезную информацию! Отдельная благодарность за преобразование #shared!

  • @АлексейЛеонидович-ъ2ш

    Спасибо за урок!

    • @comrade_excel
      @comrade_excel  2 года назад

      Рад, что вам понравилось!

  • @KVNRussia
    @KVNRussia 2 года назад +4

    Здравствуйте, Тимур.
    Большое спасибо за новые (и старые тоже) уроки по Power Query.
    Однажды я работал с диапазонами телефонных номеров, к примеру - {4951111111..4951111115} и получил ошибку - Expression.Error: Число находится вне диапазона 32-битного целочисленного значения. Оказывается, работа конструкция "две точки" ограничена максимальным числом 2^31-1=2147483647, а у меня только российские телефонные номера заканчиваются 9999999999. Пришлось заменить на функцию List.Numbers(Num1,Num2-Num1+1), которая отлично справилась с большими числами, но подозреваю и у неё имеются свои ограничения.

    • @comrade_excel
      @comrade_excel  2 года назад

      Здравствуйте, Виктор!
      Спасибо за полезный комментарий!

  • @nikbo6863
    @nikbo6863 2 года назад +1

    Тимур,спасибо.матчасть должна быть всегда.надеюсь найду сейчас ответы как раз по теме,что у Вас хотел спросить.заткнулся на такой вроде бы простой задаче и она уже два дня не дает покоя

    • @nikbo6863
      @nikbo6863 2 года назад

      Честно искал решение сам-не нашел(
      Тимур, подмогните, запутался в матчасти...вопрос достаточно легкий, но в
      понимании что-то нашло одно на другое....
      Тема затрагивает как общий вопрос формул М так и создание пользовательских
      функций
      Делаю функцию: из PQ->запрос из папки беру колонку имен файлов, имена файлов
      имеют следующую структура _dd_mm_yyyy_HH_MM.xlsx
      никак не могу теоретически провести следующую операцию и сделать из нее
      функцию.
      Может быть проблема в объявлении переменных...может в их понимании..
      Когда все произвожу в PQ по шагам-все ровно, но функцию создать не могу (
      1) берем весь столбец(Name) и удаляем из него окончание .xlsx -->
      Text.Replace(txt, ".xlsx","")
      2) делю столбец на две части с именованием новых столбцов "Дата" и "Время" и
      тут пришел разрыв шаблонов
      2.1) нужно задать переменную столбец, он же должен быть как текст (так как
      должно условие применяться к каждой записи)... так как деление происходит
      во-первых по формуле (Splitter.SplitTextByPositions({0, 12}, false), но
      создаваться же должны столбцы...
      ошибка в PQ-"Не удается преобразовать значение "_15_02_2022_09_30.xl..." в
      тип Table."
      3) в столбце "Дата" должен провести следующие действия:
      3.1) взять десять символов начиная со второго ->следовательно первый и
      последний отпадет (Шаг3)
      и последующие шаги, но в них уже переменных нет....
      Пробовал пройти и другим путем.. через создание функции через создание
      дубликата столбца и дальнейшей его модификации, но также упираюсь в
      непонимание правильного написания собственной функции, объявлении переменной
      и ее использовании....и как при помощи М можно в дальнейшем делать
      преобразования над столбцами....
      При создании функции затык происходит на этапе - что объявлять и как
      прописывать функцию, например Table.AddColumn(#"ШАГ", ... ) и как вписывать
      ШАГ, если его еще нет???
      На Ваших примерах с математическими функциями - все сходу понятно, а вот с
      функциями над модификацией таблиц - нет
      Если возможно и я смог правильно объяснить свои действия - поясните
      пожалуйста
      Пример столбца:
      Name
      _15_02_2022_16_50.xlsx
      _14_02_2022_16_50.xlsx
      _01_02_2022_16_50.xlsx
      let Источник = (txt as text)=>
      let
      Шаг1 ​ #"Замена" = Text.Replace(txt, ".xlsx",""),
      Шаг2 ​ #"Разделить" = Table.SplitColumn(#"Замена", each [Name],
      Splitter.SplitTextByPositions({0, 12}, false), {"Дата", "Время"}),
      Шаг3 ​ ​ ​ #"Диапазон" = Table.TransformColumns(#"Разделить", {{"Дата",
      each Text.Middle(_, 1, 10), type text}}),
      Шаг4 ​ ​ ​ #"Замена2" =
      Table.ReplaceValue(#"Диапазон","_",".",Replacer.ReplaceText,{"Дата"}),
      Шаг5 ​ ​ ​ #"Замена3" =
      Table.ReplaceValue(#"Замена2","_",":",Replacer.ReplaceText,{"Время"}),
      Шаг6 ​ ​ ​ #"Тип1" = Table.TransformColumnTypes(#"Замена3",{{"Дата", type
      date}, {"Время", type time}})
      in
      ​ ​ ​ ​ #"Тип1"
      in
      Источник

  • @ДмитрийНикитин-и8о
    @ДмитрийНикитин-и8о 9 месяцев назад

    0:35 Поспорю с автором. После базового обязательно нужно пройти продвинутый, а затем уже все остальные блоки

  • @nbuhblhfrjy
    @nbuhblhfrjy 2 года назад +1

    С листами, по-моему, надо всегда показывать формулу Лист.Трансформ ))

    • @comrade_excel
      @comrade_excel  2 года назад

      И до нее дойдет очередь.

  • @РуфинаАльмухаметова

    Добрый день, спасибо за ваш труд! Очень нравятся ваша подача)
    Скажите, пожалуйста, а есть ли возможность выбрать элементы списка по условию, где значение для сравнения в другом столбце, я использую list.select({..}, each _ [столбец]), но выдает ошибку

  • @Bi-dj3iy
    @Bi-dj3iy Год назад

    😀

  • @nikbo6863
    @nikbo6863 2 года назад +1

    Тимур,добрый день.вчера опубликовал вопрос,но прикрепил его к своему комментарию.если будет возможность-посмотрите пожалуйста. Спасибо

    • @comrade_excel
      @comrade_excel  2 года назад +1

      Добрый день!
      О каком вопросе идет речь?

    • @nikbo6863
      @nikbo6863 2 года назад +1

      Тимур, подмогните, запутался в матчасти...вопрос достаточно легкий, но в
      понимании что-то нашло одно на другое....
      Тема затрагивает как общий вопрос формул М так и создание пользовательских
      функций
      Делаю функцию: из PQ->запрос из папки беру колонку имен файлов, имена файлов
      имеют следующую структура _dd_mm_yyyy_HH_MM.xlsx
      никак не могу теоретически провести следующую операцию и сделать из нее
      функцию.
      Может быть проблема в объявлении переменных...может в их понимании..
      Когда все произвожу в PQ по шагам-все ровно, но функцию создать не могу (
      1) берем весь столбец(Name) и удаляем из него окончание .xlsx -->
      Text.Replace(txt, ".xlsx","")
      2) делю столбец на две части с именованием новых столбцов "Дата" и "Время" и
      тут пришел разрыв шаблонов
      2.1) нужно задать переменную столбец, он же должен быть как текст (так как
      должно условие применяться к каждой записи)... так как деление происходит
      во-первых по формуле (Splitter.SplitTextByPositions({0, 12}, false), но
      создаваться же должны столбцы...
      ошибка в PQ-"Не удается преобразовать значение "_15_02_2022_09_30.xl..." в
      тип Table."
      3) в столбце "Дата" должен провести следующие действия:
      3.1) взять десять символов начиная со второго ->следовательно первый и
      последний отпадет (Шаг3)
      и последующие шаги, но в них уже переменных нет....
      Пробовал пройти и другим путем.. через создание функции через создание
      дубликата столбца и дальнейшей его модификации, но также упираюсь в
      непонимание правильного написания собственной функции, объявлении переменной
      и ее использовании....и как при помощи М можно в дальнейшем делать
      преобразования над столбцами....
      При создании функции затык происходит на этапе - что объявлять и как
      прописывать функцию, например Table.AddColumn(#"ШАГ", ... ) и как вписывать
      ШАГ, если его еще нет???
      На Ваших примерах с математическими функциями - все сходу понятно, а вот с
      функциями над модификацией таблиц - нет
      Если возможно и я смог правильно объяснить свои действия - поясните
      пожалуйста
      Пример столбца:
      Name
      _15_02_2022_16_50.xlsx
      _14_02_2022_16_50.xlsx
      _01_02_2022_16_50.xlsx

    • @nikbo6863
      @nikbo6863 2 года назад +1

      Честно весь материал пересмотрел-благо в конспектах уже...теоретически не понимаю... могу эти шаги в обычном запросе делать каждый раз-не особа проблема.но вот зацепил вопрос и понимаю,что пробел существенный в понимании. Благодарю за уделенное внимание

    • @nikbo6863
      @nikbo6863 2 года назад +1

      @@comrade_excel доброе утро.получится подсказать?

    • @nikbo6863
      @nikbo6863 2 года назад +1

      @@comrade_excel добрый вечер

  • @kryptonets
    @kryptonets 2 года назад

    Как правильно использовать List.Buffer?

    • @comrade_excel
      @comrade_excel  2 года назад +1

      Вот примеры использования comrade-xl.ru/?s=list.buffer

  • @nikbo6863
    @nikbo6863 2 года назад +1

    Добрый вечер.youtube возможно глючит,как я понимаю,что в Ваш адрес мои вопросы не доходят?

    • @nikbo6863
      @nikbo6863 2 года назад +1

      Неделя как то без внимания прошла....

    • @comrade_excel
      @comrade_excel  2 года назад

      Добрый вечер! Вроде мне не приходило от вас вопросов.

    • @nikbo6863
      @nikbo6863 2 года назад

      @@comrade_excel может чего я неправильно делаю....в этом чате просил помощи в разъяснении.посмотрите плиз,перекопировать очень много места

    • @comrade_excel
      @comrade_excel  2 года назад +1

      Ваши комментарии попали в СПАМ. Я посмотрю позже.

    • @nikbo6863
      @nikbo6863 2 года назад

      @@comrade_excel спасибо большое