Power BI / Power Query - язык M - игра с данными внутри групповой таблицы - PullRequest
0 голосов
/ 23 января 2020

Здравствуйте, мастера языка M!

У меня есть вопрос о работе с сгруппированными строками, когда Power Query создает таблицу с данными. Но, возможно, лучше начать с самого начала.

Важная информация! Я буду просить, например, только о добавлении индекса. Я знаю, что есть разные возможности достичь такого результата. Но на этот вопрос мне нужен ответ о возможности работы на столах. Я хочу использовать этот ответ в различных действиях (например, сортировка таблиц, добавление столбцов в групповую таблицу).

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

Пример данных

Sample Data

Поэтому я просто добавил этот файл в качестве источника данных в Power BI. В запросе Power я сгруппировал строки по названию. Этот шаг, созданный из столбца me me, содержал таблицу для каждого Продавца, в которой хранятся все его операции.

Результат группировки

enter image description here

А теперь я хочу добавить индексный столбец в каждую таблицу. Я знаю, что это возможно, добавив новый столбец в основную таблицу, в которой будет храниться новая таблица с добавленным индексом:

Пользовательская функция столбца

enter image description here

И в каждой таблице я проиндексировал. Это хорошо. Но теперь у меня есть дополнительный столбец (один с таблицей без индекса и один с таблицей с индексом).

Результат - немного грязный

enter image description here

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

Заранее спасибо. Артур

1 Ответ

3 голосов
/ 23 января 2020

Конечно, вы можете сделать это внутри функции Table.Group:

= Table.Group(Source, {"Salesman"}, {"Operations", each Table.AddIndexColumn(_, "i", 1, 1)})

PS Чтобы добавить существующий столбец индекса во вложенную таблицу, используйте этот код:

= Table.ReplaceValue(PreviousStep,each [index],0,(a,b,c)=>Table.AddColumn(a,"index", each b),{"Operations"})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...