Извлекаем значение из одной таблицы Excel и помещаем его в другой столбец

#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"
 

У вас будет окончательный результат, как показано ниже-

введите описание изображения здесь

** Примечание: ** Если в ваших разделителях есть пробелы, как показано ниже, вы можете соответствующим образом скорректировать код. Но у вас должен быть общий шаблон для ваших разделителей.

 ", "
": "