#excel #csv #powerbi
#excel #csv #powerbi
Вопрос:
У меня есть один файл Excel, который содержит несколько столбцов и 100 строк данных. В одном столбце так много элементов, разделенных запятой. Например: «имя»: «гарри», «идентификатор»: «2», «операция»: «файл-удален». Я хочу получить некоторые из этих значений в отдельном столбце. Я попытался преобразовать текст в столбец, но не сработало. Вопрос находится в красном столбце, а решение — в зеленом столбце
Комментарии:
1. Вы можете использовать функцию разделения.
Ответ №1:
Позволяет вам иметь следующие данные в вашей таблице-
И разделители, как показано ниже, без пробела—
","
":"
Если у вас есть данные в указанном выше формате, перейдите в расширенный редактор вашей таблицы и включите в него следующие шаги-
let
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WilHKS8xNjVGyilHKSCwqqoxR0olRSkyHiBgZg7mZKRAemJNfkFqUWJKZnwcWS8vMSdVNSc1JLUkFKlKK1aG/iaakmhgLAA==", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [data = _t]),
//-- New Steps Started From Here
#"Added Index" = Table.AddIndexColumn(Source, "Index", 1, 1, Int64.Type),
#"Reordered Columns" = Table.ReorderColumns(#"Added Index",{"Index", "data"}),
#"Changed Type" = Table.TransformColumnTypes(#"Reordered Columns",{{"data", type text}}),
#"Duplicated Column" = Table.DuplicateColumn(#"Changed Type", "data", "data - Copy"),
#"Split Column by Delimiter" = Table.ExpandListColumn(Table.TransformColumns(#"Duplicated Column", {{"data - Copy", Splitter.SplitTextByDelimiter(""",""", QuoteStyle.None), let itemType = (type nullable text) meta [Serialized.Text = true] in type {itemType}}}), "data - Copy"),
#"Changed Type1" = Table.TransformColumnTypes(#"Split Column by Delimiter",{{"data - Copy", type text}}),
#"Split Column by Delimiter1" = Table.SplitColumn(#"Changed Type1", "data - Copy", Splitter.SplitTextByDelimiter(""":""", QuoteStyle.None), {"data - Copy.1", "data - Copy.2"}),
#"Changed Type2" = Table.TransformColumnTypes(#"Split Column by Delimiter1",{{"data - Copy.1", type text}, {"data - Copy.2", type text}}),
#"Replaced Value" = Table.ReplaceValue(#"Changed Type2","""","",Replacer.ReplaceText,{"data - Copy.1", "data - Copy.2"}),
#"Pivoted Column" = Table.Pivot(#"Replaced Value", List.Distinct(#"Replaced Value"[#"data - Copy.1"]), "data - Copy.1", "data - Copy.2")
in
#"Pivoted Column"
У вас будет окончательный результат, как показано ниже-
** Примечание: ** Если в ваших разделителях есть пробелы, как показано ниже, вы можете соответствующим образом скорректировать код. Но у вас должен быть общий шаблон для ваших разделителей.
", "
": "