将简单的XML导入Power BI

时间:2018-05-30 17:24:52

标签: xml excel powerbi powerquery m

我正在尝试将这个简单的XML数据导入Power BI(或Excel 2016):

https://resourcescrono.s3-eu-west-1.amazonaws.com/demo-biblio.xml

这是一个简单的XML,带有3列表(它甚至附有XSD架构)。可以在以前的Excel版本(Excel 2003等)中轻松导入相同的XML。

但是,Power BI和Excel 2016以多种方式失败:

  • 似乎忽略架构数据
  • 无法检测到不变数字格式。

如何将此数据导入我的Power BI仪表板或Excel 2016?

Power BI screenshot

我的区域设置是西班牙语,但我不知道我的用户的区域设置(可能会有所不同)。

更新:Microsoft已将其视为错误。 Excel应该尊重XSD架构:https://community.powerbi.com/t5/Issues/Bug-importing-simple-XML-file/idc-p/429822

3 个答案:

答案 0 :(得分:0)

当我尝试加载该XML文件时,我无法复制您所看到的内容。

这就是我正在做的事情。 (我正在使用Power BI。)

  1. 在新来源下选择网址并输入网址。
  2. New Source > Web

    1. 查询编辑器会自动将其解释为XML表并加载它。
    2. XML Table

      1. 点击结果列中的表格链接,查询编辑器将展开该表格并自动将列类型更改为datetimeInt64.Typenumber
      2. Loaded Table

        以下是这些步骤的完整查询代码:

        let
            Source = Xml.Tables(Web.Contents("https://resourcescrono.s3-eu-west-1.amazonaws.com/demo-biblio.xml")),
            Table = Source{0}[Table],
            #"Changed Type" = Table.TransformColumnTypes(Table,{{"Fecha", type datetime}, {"Unidades", Int64.Type}, {"Importe", type number}})
        in
            #"Changed Type"
        

答案 1 :(得分:0)

号码转换问题来自Table.TransformColumnTypes电话。 Power Query将尝试使用workbook / pbix的区域设置来解析数字。因此,它试图解析像#34; 83647.49"使用西班牙语语言环境,并且由于(西班牙语/国际)西班牙语使用逗号作为小数分隔符,该数字将被读作格式化为#34; 8364749"。

的奇怪格式。

区域设置随工作簿/ pbix一起移动,您可以在“当前工作簿”下的“选项”对话框中进行设置。 Excel中的区域设置和当前文件| PowerBI Desktop中的区域设置。

我不相信我们支持noNamepsaceSchemaLocation,但如果您希望看到支持,请在Power BI Ideas网站上提出建议。

答案 2 :(得分:0)

您可以先将XML数据转换为表格关系格式,然后将Power BI指向该数据。免费的Flexter在线版本将XML和JSON转换为TSV文件,并自动生成它们之间的关系。这是一篇博客文章,说明了如何使用LEI XML文件https://sonra.io/2017/11/23/converting-lei-xml-data-to-power-bi/

免责声明:我为Sonra工作