使用Excel中的Power Query M转换2D XML

问题描述 投票:0回答:1

我有一个XML文档,其中包含元素列表和元数据列表:

<?xml version="1.0"?>
<report>
    <project>
        <meta-data>360333</meta-data>
        <meta-data>SomeName</meta-data>
        <meta-data>SomeDescription</meta-data>
        <meta-data>22.11.2019 11:25</meta-data>
        <meta-data>11.12.2019 10:49</meta-data>
    </project>
        <project>
        <meta-data>360333</meta-data>
        <meta-data>SomeName</meta-data>
        <meta-data>SomeDescription</meta-data>
        <meta-data>22.11.2019 11:25</meta-data>
        <meta-data>11.12.2019 10:49</meta-data>
    </project>
        <project>
        <meta-data>360333</meta-data>
        <meta-data>SomeName</meta-data>
        <meta-data>SomeDescription</meta-data>
        <meta-data>22.11.2019 11:25</meta-data>
        <meta-data>11.12.2019 10:49</meta-data>
    </project>
        <project>
        <meta-data>360333</meta-data>
        <meta-data>SomeName</meta-data>
        <meta-data>SomeDescription</meta-data>
        <meta-data>22.11.2019 11:25</meta-data>
        <meta-data>11.12.2019 10:49</meta-data>
    </project>
</report>

我想将其转换为:

¦   ID   ¦    Name  ¦   Description   ¦       Start      ¦       Stop       ¦
-----------------------------------------------------------------------------
¦ 360333 ¦ SomeName ¦ SomeDescription ¦ 22.11.2019 11:25 ¦ 11.12.2019 10:49 ¦
¦ 360333 ¦ SomeName ¦ SomeDescription ¦ 22.11.2019 11:25 ¦ 11.12.2019 10:49 ¦
¦ 360333 ¦ SomeName ¦ SomeDescription ¦ 22.11.2019 11:25 ¦ 11.12.2019 10:49 ¦
¦ 360333 ¦ SomeName ¦ SomeDescription ¦ 22.11.2019 11:25 ¦ 11.12.2019 10:49 ¦

我正在尝试使用Microsoft Power Query M,但是我对此的了解非常有限,我需要使用excel表中的数据。我用来生成XML的工具没有提供不同的结构。预先谢谢!

excel xml powerquery
1个回答
1
投票
let Source = Xml.Tables(File.Contents("YourFile.xml")), Table = Source{0}[Table], #"Added Custom" = Table.AddColumn(Table, "Custom", each Table.Transpose([#"meta-data"])), #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Column1", "Column2", "Column3", "Column4", "Column5"}, {"Column1", "Column2", "Column3", "Column4", "Column5"}), #"Removed Columns" = Table.RemoveColumns(#"Expanded Custom",{"meta-data"}), #"Renamed Columns" = Table.RenameColumns(#"Removed Columns",{{"Column1", "ID"}, {"Column2", "Name"}, {"Column3", "Description"}, {"Column4", "Start"}, {"Column5", "Stop"}}) in #"Renamed Columns"
© www.soinside.com 2019 - 2024. All rights reserved.