MyTetra Share
Делитесь знаниями!
Power Query. Формулы М. Агрегирование текста, группировка
Время создания: 07.10.2021 20:17
Текстовые метки: Power Query, Group, Text.Combine, Группировка
Раздел: !Закладки - MSO - Excel - Power Query
Запись: xintrea/mytetra_db_adgaver_new/master/base/1633627021ej5wvqj8o3/text.html на raw.githubusercontent.com

Главная Power Query Power Query. Формулы М. Агрегирование текста, группировка

Power QueryФормулы М

Power Query. Формулы М. Агрегирование текста, группировка

Описание

В этом уроке мы научимся выполнять агрегирование текста с группировкой в Power Query.

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

Например, такие 3 строки таблицы:


Вам нужно преобразовать в одну такую:


Решение

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

Примененные функции

  • Excel.CurrentWorkbook
  • Excel.Workbook
  • File.Contents
  • Table.TransformColumnTypes
  • Table.Group
  • Text.Combine

Код

let

path = Excel.CurrentWorkbook(){[Name = "Путь"]}[Content]{0}[Column1],

source = Excel.Workbook(File.Contents(path & "\Данные.xlsx"), null, true),

get_table = source{[Item = "CuVo", Kind = "Table"]}[Data],

types = Table.TransformColumnTypes(get_table, {{"Date", type date}}),

grouped = Table.Group(

types,

{"Date", "Voc_Id", "Category"},

{{"Name", each Text.Combine([Name], ";#(lf)"), type text}}

)

in

grouped


Text.CombineГруппировка

Так же в этом разделе:
 
MyTetra Share v.0.59
Яндекс индекс цитирования