В PQ определенно возможно вести подсчет количества ходов, хотя одна из тех вещей, которые не так просты из-за того, как PQ предназначен для просмотра данных. Возможно, есть более эффективный способ, но я придумал это.
Сначала добавьте столбец индекса, который начинается с 1, чтобы мы могли легко отслеживать «строку», в которой мы находимся. Затем добавьте пользовательский столбец с этим
Number.Abs(List.Count(List.RemoveItems(List.Range(#"Added Index"[Name], 0, [Index]), {[Name]}))-List.Count(List.Range(#"Added Index"[Name], 0, [Index])))
Я не видел простой функции списка в PQ, которая подсчитывает соответствующие элементы в списке, поэтому вместо этого мы получаем количество элементов в списке, считая разницу в количестве между списком с удаленными соответствующими элементами и базовый счетчик списка. Индекс используется для того, чтобы мы могли проверять список только до нашей текущей "строки", используя List.Range.
Полный М-код, когда я вытащил таблицу данных примера, выглядел так:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Added Index" = Table.AddIndexColumn(Source, "Index", 1, 1),
#"Added Custom" = Table.AddColumn(#"Added Index", "Occurence", each Number.Abs(List.Count(List.RemoveItems(List.Range(#"Added Index"[Name], 0, [Index]), {[Name]}))-List.Count(List.Range(#"Added Index"[Name], 0, [Index]))))
in
#"Added Custom"