Страницы: 1
RSS
Построить нумерацию списка по заданным условиям в power query
 
Добрый день, уважаемые знатоки!
Помогите пожалуйста решить задачу. Необходимо пронумеровать строки в зависимости от значений других столбцов, при этом учитывать построение списка по убыванию даты. Прикладываю файл с примером.  
 
Без power query
=ЕСЛИ(B2="Нет";0;ЕСЛИ(СЧЁТЕСЛИМН($A$2:A2;A2;$B$2:B2;B2)=1;1;E1+1))
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
В экселе, я думаю, можно еще несколько решений придумать, но мне надо в power query  :(  В примитивном виде то я сделал, с помощью функции IF и Индекса, но у меня получилась длиннющая формула, которая сильно нагружает систему.
 
Как-то так:
Код
let
    Источник = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    #"Измененный тип" = Table.TransformColumnTypes(Источник,{{"Группа", Int64.Type}, {"Признак", type text}, {"Дата", type date}, {"Список", Int64.Type}}),
    #"Сортированные строки" = Table.Sort(#"Измененный тип",{{"Группа", Order.Ascending}, {"Дата", Order.Ascending}}),
    #"Сгруппированные строки" = Table.Group(#"Сортированные строки", {"Группа"}, {{"Таблица", each 
    let
        #"Добавлен индекс" = Table.AddIndexColumn(_, "Индекс", 1, 1),
        #"Добавлен пользовательский объект" = Table.AddColumn(#"Добавлен индекс", "Вычет", each if [Признак] = "Нет" then -[Индекс] else null),
        #"Заполнение вниз" = Table.FillDown(#"Добавлен пользовательский объект",{"Вычет"}),
        #"Добавлен пользовательский объект1" = Table.AddColumn(#"Заполнение вниз", "СписокPQ", each List.Sum({[Индекс], [Вычет]})),
        #"Удаленные столбцы" = Table.RemoveColumns(#"Добавлен пользовательский объект1",{"Индекс", "Вычет"})
    in
        #"Удаленные столбцы"
    , type table}}),
    #"Развернутый элемент Таблица" = Table.ExpandTableColumn(#"Сгруппированные строки", "Таблица", {"Признак", "Дата", "Список", "СписокPQ"}, {"Признак", "Дата", "Список", "СписокPQ"})
in
    #"Развернутый элемент Таблица"
Вот горшок пустой, он предмет простой...
 
Работает :D  Спасибо большое!  
Страницы: 1
Наверх