Power Query. Нарастающий итог 2

แชร์
ฝัง
  • เผยแพร่เมื่อ 19 ธ.ค. 2024
  • В этом уроке мы изучим еще один способ сделать нарастающий итог в Power Query.
    1:18 Нарастающий итог через Пользовательскую Функцию.
    6:47 Нарастающий итог через List.Range и List.Sum
    13:01 Нарастающий итог через List.Accumulate
    16:37 Нарастающий итог в Excel.
    19:34 Нарастающий итог через Сводную Таблицу.
    Файлы для спонсоров Boosty: boosty.to/comr...
    Файлы для спонсоров ВК: comrade...
    Файлы для спонсоров TH-cam: • Post
    Индивидуальное обучение: comrade-xl.ru/...
    Страница: comrade-xl.ru/...

ความคิดเห็น • 44

  • @comrade_excel
    @comrade_excel  5 ปีที่แล้ว +1

    1:18 Нарастающий итог через Пользовательскую Функцию.
    6:47 Нарастающий итог через List.Range и List.Sum
    13:01 Нарастающий итог через List.Accumulate
    16:37 Нарастающий итог в Excel.
    19:34 Нарастающий итог через Сводную Таблицу.
    Файлы для спонсоров Boosty: boosty.to/comrade-xl/posts/3d66dc29-fbac-4fea-876a-67ac5abe21e3?share=post_link
    Файлы для спонсоров ВК: vk.com/comrade.excel?w=wall-185123800_293
    Файлы для спонсоров TH-cam: th-cam.com/users/postUgyKyy4zMx6BUFLgWkJ4AaABCQ
    Индивидуальное обучение: comrade-xl.ru/pq-training/
    Страница: comrade-xl.ru/2020/01/08/power-query-123-narastayushiy-itog/

    • @alecio2000
      @alecio2000 5 ปีที่แล้ว

      Тимур, спасибо! Как всегда - полезно, интересно, доходчиво и на высочайшем уровне. Ваш курс по PQ гораздо полезнее большинства платных. Надеюсь, что в Ваших планах выпуск и платных курсов по схожей тематике (Excel/PQ/Power BI/Power Pivot). Отправил небольшой перевод в поддержку. Желаю удачи, роста числа подписчиков и развития канала!

    • @comrade_excel
      @comrade_excel  5 ปีที่แล้ว +1

      Большое спасибо! Очень приятно! Вы - моя мотивация.
      Платные уроки я вроде как тоже планирую, но не сейчас.
      Конечно, хотелось бы, чтобы меня просто больше поддерживали на добровольной основе, чтобы мне не приходилось ничего продавать. Мечтаю, чтобы с ростом канала росло и количество благодарных добрых подписчиков как вы.

  • @russvetden9342
    @russvetden9342 หลายเดือนก่อน +1

    Это гениально. Накликать результат и преобразовать в функцию😊

  • @romanvasiura6705
    @romanvasiura6705 4 ปีที่แล้ว

    Шикарно!
    Пускай не все запомню за первый просмотр плейлиста, но буду ориентироваться)
    Спасибо!

  • @elenakanina4550
    @elenakanina4550 4 ปีที่แล้ว +1

    Крутой канал. Отличные советы. Спасибо

  • @NotEmpty2011
    @NotEmpty2011 3 ปีที่แล้ว

    1:18 Нарастающий итог через Пользовательскую Функцию.
    6:47 Нарастающий итог через List.Range и List.Sum
    13:01 Нарастающий итог через List.Accumulate
    16:37 Нарастающий итог в Excel.
    19:34 Нарастающий итог через Сводную Таблицу.

  • @ДмитрийНикитин-и8о
    @ДмитрийНикитин-и8о 11 หลายเดือนก่อน

    7:20 Мне кажется, этот момент не очевиден и требует разбора в отдельном видео. Что я имею в виду:
    если мы в настраиваемом столбце пишем = #"Добавлен индекс"[Сумма продаж], то получаем список продаж в каждой ячейке;
    если же мы в настраиваемом столбце пишем = [Сумма продаж], то есть без указания предыдущего шага, то получаем просто копию столбца "Сумма продаж"
    Вот почему так? Как это работает? До сих пор нигде не было подробных пояснений. Заранее благодарю, если мой вопрос будет подробно разобран

  • @ВикторВоронцевич
    @ВикторВоронцевич 4 ปีที่แล้ว +1

    Отличная работа. Вот еще вариант для умных таблиц: = СУММ(ПРОСМОТРX((ФИЛЬТР([ДАТА];[ДАТА]

  • @dobrinyanicitich7514
    @dobrinyanicitich7514 2 ปีที่แล้ว

    Спасибо! Помог

  • @natalyakonovalova_
    @natalyakonovalova_ 4 ปีที่แล้ว

    Тимур, здравствуйте. Уроки и стиль подачи - высший класс. Возник вопрос: Почему Вы не указываете тип данных при объявлении аргументов? Соответственно, в каких случаях указание типа данных для аргументов необходимо? Спасибо за Уроки !

    • @comrade_excel
      @comrade_excel  4 ปีที่แล้ว

      Здравствуйте, Наталья!
      При создании пользовательских функций указывать тип данных необязательно. Это можно делать для себя, чтобы не забыть, что функция должна получать в качестве аргумента.

  • @gritsyuk88
    @gritsyuk88 4 ปีที่แล้ว

    Если кому-то нужен будет нарастающий итог вычисляемый как мера, то для таблицы из видео: Накоп(Σ):=CALCULATE(SUM('Таблица1'[Сумма продаж]);
    FILTER(ALLSELECTED('Таблица1');
    'Таблица1'[Дата]

    • @comrade_excel
      @comrade_excel  4 ปีที่แล้ว

      Спасибо! Эту меру я показываю в уроке Нарастающий итог 3 th-cam.com/video/k6taN9mew-8/w-d-xo.html

  • @makmelni
    @makmelni 5 ปีที่แล้ว +1

    ЭСКЮЗЮМУА, А ГДЕ ПОСМОТРЕТЬ "НАРАСТАЮЩИЙ ИТОГ 1"?

    • @comrade_excel
      @comrade_excel  5 ปีที่แล้ว +1

      th-cam.com/video/MtBLcY2J26M/w-d-xo.html

    • @makmelni
      @makmelni 5 ปีที่แล้ว

      @@comrade_excel спасибо🙏💕, благодаря Вашим урокам, я узнал, что я оказывается пробковое дерево, но и благодаря им же, сегодня я на голову выше, себя вчерашнего

  • @ГерманРыков-ъ6в
    @ГерманРыков-ъ6в 4 ปีที่แล้ว

    Тимур здравствуйте. Ещё раз хочу поблагодарить Вас за уроки.
    Ввиду малого опыта не совсем уверен, что мой вопрос относиться именно к теме видео, но думаю рядом.
    Я через новый столбец индекса хочу преобразовать данные.
    Прошу указать на видео где можно найти инфу по преобразованию данной структуры.
    Вся информация подаётся блоками (1,2,3,4 и 5) количество строк разное.
    Конечная цель растянуть каждый блок в одну строку.

    • @ГерманРыков-ъ6в
      @ГерманРыков-ъ6в 4 ปีที่แล้ว

      1drv.ms/x/s!AvHg5A6Wyul5gcQjKPX9sxdqw8VVWQ?e=6tGDgl

    • @comrade_excel
      @comrade_excel  4 ปีที่แล้ว

      Здравствуйте, Герман!
      Судя по описанию вам нужно изучить тему скученных данных.
      Вот 3 урока на данную тему:
      Скученные данные 1 - th-cam.com/video/lho-mCbiA-U/w-d-xo.html
      Скученные данные 2 - th-cam.com/video/CXqByTBvnh8/w-d-xo.html
      Скученные данные 3 - th-cam.com/video/1kYujtjpRKA/w-d-xo.html
      Предлагаю изучить все 3 урока, повторив все за мной.
      Если после этих трех уроков не получится, то напишите новый комментарий под любым из этих 3 уроков и приложите свой файл.

  • @РоманЛюбомудров
    @РоманЛюбомудров 3 ปีที่แล้ว

    Здравствуйте, недавно начал разбираться в power query, большое спасибо за уроки. Подскажите, пожалуйста, почему если я добавляю во втором способе столбец как у вас в примере
    =Table.AddColumn(table_add_col,"Диапазон",each List.Range([Список продаж], 0, [Индекс])),
    то я получаю верный результат, но если я хочу сделать это же действие через преобразование столбца
    = Table.TransformColumns(table_add_col,{"Список продаж",each List.Range(_, 0, [Индекс] )}),
    то получаю ошибку, если только не задаю индекс числом напрямую?
    Другими словами, как правильно сослаться на значения столбца индекса, если делать это через Table.TransformColumns?

    • @comrade_excel
      @comrade_excel  3 ปีที่แล้ว

      Здравствуйте! Какую ошибку получаете?

    • @РоманЛюбомудров
      @РоманЛюбомудров 3 ปีที่แล้ว

      @@comrade_excel появляется столбец со значениями Error, при нажатии на ячейку написано
      "Expression.Error: Не удается применить доступ к полям в типе List.
      Сведения:
      Value=[List]
      Key=Индекс"

    • @comrade_excel
      @comrade_excel  3 ปีที่แล้ว

      @@РоманЛюбомудров А в моем решенном файле тоже ошибка?

    • @РоманЛюбомудров
      @РоманЛюбомудров 3 ปีที่แล้ว

      @@comrade_excel в вашем файле нет ошибки, так как задача у вас решена через добавление столбца при помощи функции Table.AddColumn. Я делал параллельно с видео задание сам, и решил сделать не через добавление столбца а через функцию Table.TransformColumns. Но в этом случае я получил вышеуказанную ошибку. Я решил попробовать заменить функцию Table.AddColumn на Table.TransformColumns и в вашем решенном файле, и тоже получил такую же ошибку. Я передавал значения из столбца "Индекс" вот таким способом:
      = Table.TransformColumns(table_add_col,{"Список продаж",each List.Range(_, 0, [Индекс] )})
      Если число указать конкретно, например
      = Table.TransformColumns(table_add_col,{"Список продаж",each List.Range(_, 0, 4 )})
      то все работает, но передавать значения из столбца индекса у меня не получается, и я не понимаю с чем это связано. В случае если я использую Table.AddColumn все работает верно. Возможно я неправильно ссылаюсь на столбец в Table.TransformColumns, или в данной функции вообще не получится ссылаться на него, я не знаю, просто стало интересно почему у меня не работает :)

    • @РоманЛюбомудров
      @РоманЛюбомудров 3 ปีที่แล้ว

      @@comrade_excel Посмотрел следующий урок о вычислениях, там в примере с рангом у вас происходит подобная ошибка и вы решаете это при помощи пользовательской функции

  • @ЯнаВалериевна-ж9щ
    @ЯнаВалериевна-ж9щ 4 ปีที่แล้ว

    Спасибо

  • @КонстантинОрлов-ь9ч
    @КонстантинОрлов-ь9ч 5 ปีที่แล้ว

    Тимур, спасибо большое за ваши ролики. Все очень наглядно и доходчиво объясняете. Но вот вопрос: как быть, если сумму нарастающим итогом необходимо рассчитать по нескольким параметрам??? Например, по Товару №1 в течение Периода №1 и Периода №2, по Товару №2 в течение периода №1 и Периода №2 и так далее. И Товаров в списке не 5 и не 10, а тысячи.

    • @comrade_excel
      @comrade_excel  5 ปีที่แล้ว

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

    • @КонстантинОрлов-ь9ч
      @КонстантинОрлов-ь9ч 5 ปีที่แล้ว

      @@comrade_excel yadi.sk/i/7f_1YfSogeDLFw Требуется рассчитать нарастающий итог по каждому товару отдельно

    • @comrade_excel
      @comrade_excel  5 ปีที่แล้ว

      И где таблица с тем, что должно получиться?

    • @КонстантинОрлов-ь9ч
      @КонстантинОрлов-ь9ч 5 ปีที่แล้ว

      @@comrade_excel Сорри. Вот таблица с результатом, который должен получится. yadi.sk/i/7f_1YfSogeDLFw

    • @comrade_excel
      @comrade_excel  5 ปีที่แล้ว +1

      @@КонстантинОрлов-ь9ч Здесь нужно решать при помощи пользовательской функции, т. е. первым способом из видео.
      Разница лишь в том, что у функции будет не 2 параметра, а 3, т. е. параметр товар добавится. Вот так будет выглядеть код функции:
      (Таблица, Наименование, КоличествоСтрок)=>
      let
      Товар = Table.SelectRows(Таблица, each ([Наименование товара] = Наименование)),
      Индекс = Table.FirstN(Товар, КоличествоСтрок),
      Сумма = List.Sum(Индекс[Количество])
      in
      Сумма
      В самом запросе для добавления столбца индекса нужно будет сначала сделать группировку по полю "Товар" типа "Вся таблица" и в табличном столбце добавить столбец индекса.
      Если не получилось, то ожидайте. Я сделаю отдельный урок по вашему примеру для модуля "Практика".
      Спасибо за пример. Мне было бы приятно, если бы вы посмотрели больше моих роликов, потому что в них более чем достаточно материала для решения этой задачи.

  • @alexved2269
    @alexved2269 3 ปีที่แล้ว

    Может кто захочет рассчитать нарастающий итог с помощью функции List.Accumulate..., типа, чтобы не суммировать гигантское количество цифр в каждой ячейке заново...
    Так вот, это жутко тормознутый вариант! Не повторяйте моих ошибок. :)
    СписокНакопительныхСумм = List.Accumulate(ТаблицаСИндексом[Сумма], {}, (НовыйСписок, ЯчейкаТаблицы) => НовыйСписок & {List.Sum({List.Last(НовыйСписок)} & {ЯчейкаТаблицы})}),
    ТаблицаСНакопительнойСуммой = Table.AddColumn(ТаблицаСИндексом, "Накопительная сумма", each СписокНакопительныхСумм{[Индекс]} , Int64.Type)

  • @alexandrus
    @alexandrus 4 ปีที่แล้ว

    как добавить новую строку?
    - www.screencast.com/t/ZMeU3sa06
    Спосибо

    • @comrade_excel
      @comrade_excel  4 ปีที่แล้ว

      Я не понял вашего вопроса. На картинке вы добавляете столбец, а не строку.

    • @alexandrus
      @alexandrus 4 ปีที่แล้ว

      што нажали здесь што строка ушла в низ www.screencast.com/t/g3llhofQ
      если еа нажимаю энтер то закрываетьсеа окно
      www.screencast.com/t/w3cxB7TfZ

    • @comrade_excel
      @comrade_excel  4 ปีที่แล้ว

      Я нажимаю Enter. Попробуйте Shift Enter, если Enter не работает.

  • @ВикторСуханов-н3с
    @ВикторСуханов-н3с 4 ปีที่แล้ว

    Спасибо