#powerquery
Вопрос:
Как я могу повернуть это
Персонал | Часов |
---|---|
Эми | 5,10,20 |
Ben | 6 |
Чарльз | 10,1 |
в это с помощью POWER QUERY?
Персонал | Часов |
---|---|
Эми | 35 |
Ben | 6 |
Чарльз | 11 |
Ответ №1:
Шаги:
- Преобразуйте исходную таблицу в таблицу Excel
- Получите данные из этой таблицы
- Разделите столбец разделителем (запятой) на строки
- Измените тип столбца на число
- Группируйте строки и суммируйте столбец «Часы»
Код M:
let
Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
DivideByDelimiter = Table.ExpandListColumn(Table.TransformColumns(Table.TransformColumnTypes(Source, {{"Hours", type text}}, "es-CO"), {{"Hours", Splitter.SplitTextByDelimiter(",", QuoteStyle.Csv), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "Hours"),
ChangeType = Table.TransformColumnTypes(DivideByDelimiter,{{"Hours", type number}}),
GroupRows = Table.Group(ChangeType, {"Staff"}, {{"Sum", each List.Sum([Hours]), type nullable number}})
in
GroupRows
Дайте мне знать, если это сработает
Ответ №2:
Другой способ сделать это
- щелкните правой кнопкой мыши столбец «Часы» и замените значения, заменив запятую на
- щелкните правой кнопкой мыши столбец «Часы» и преобразуйте нижний регистр
- В строке формул замените полученную формулу так, чтобы она заканчивалась на
, каждое Выражение.Оценить(_), номер типа}})
вместо
, Текст.Ниже, введите текст}})
Полный пример кода
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Staff", type text}, {"Hours", type text}}),
#"Replaced Value" = Table.ReplaceValue(#"Changed Type",","," ",Replacer.ReplaceText,{"Hours"}),
#"Lowercased Text" = Table.TransformColumns(#"Replaced Value",{{"Hours", each Expression.Evaluate(_), type number}})
in #"Lowercased Text"