Страницы: 1
RSS
PQ Замена повторения в последовательности
 
Добрый вечер!
Помогите, плз, заменить повторения последовательности на "+1"
В примере только формула
Благодарю
 
Доброе время суток.
Вариант
 
Андрей, благодарю, уловил алгоритм:
- добавляем столбец Индекса, начиная с 1
- считаем разницу между индексом и "исходным столбцом"
- группируем данные по "разнице" и для таблиц с 1 записью вычитаем 1 по полю "разница"
- разворачиваем таблицы с новым полем "разница"
- из поля индекс вычитаем новое поле разницы

Осваиваю по примерам форума синтаксис, с этим пока у меня трудновато
 
Цитата
Mirdv написал:
уловил алгоритм
Нет, не уловили. Вы разобрали решение, а не алгоритм. Прошу обратить внимание, что это частное решение. Допустимо только два одинаковых числа в последовательности. Лучше делать чуть по другому. Сразу выполнить локальную группировку. Если число строк в таблице подгруппы равно 1, то без изменений, а если больше, то то прибавляем индекс, начинающийся от 0
 
Андрей благодарю
Попытаюсь на выходных осмыслить другой подход и переделать решение
 
Выполнил группировку, добавил индекс (от 0) по условию кол-во строк более 1
хотел развернуть таблицу, чтобы выполнить агрегацию, но столбец Индекс не отобразился, завернул все в Table.Combine  результат тот же
можете подсказать как про -агрегировать столбец индекс со столбцом последовательность
это надо делать в шаге "сгрупированные строки" или это должен быть все же следующий шаг?
Благодарю
 
Цитата
Mirdv написал:
это надо делать в шаге "сгрупированные строки"
Да, именно в этом шаге.
Код
let
    Source = Excel.CurrentWorkbook(){[Name="Таблица1"]}[Content],
    grouped = Table.Group(Source, {"Последовательность"}, {{"temp", 
        each Table.AddColumn(Table.AddIndexColumn(_, "id", 0), "Последовательность2", each [Последовательность] + [id]),
        Table.Type
    }}, GroupKind.Local),
    return = Table.ExpandTableColumn(grouped, "temp", {"Последовательность2"})
in
    return
 
Андрей благодарю
решение даже проще, чем я думал
Страницы: 1
Наверх