将 JSON 键值映射加载到 Power Query 中

将 JSON 键值映射加载到 Power Query 中

我正在尝试将我的 Firebase 数据加载到 Power BI,该数据是以下格式的 JSON 映射

{
    "soh4gf1k": {
        "name": "bill",
        "age": "40",
        "maritalStatus": "married"
    },
    "itnhwagx": {
        "name": "jane",
        "age": "28",
        "maritalStatus": "single"
    }
    ...
}

我尝试按照将 json 文件加载到 Power Query 中但在那种情况下,数据是数组形式,而且我似乎无法根据我的情况获得正确的数据。

let
    Source = Json.Document(Web.Contents("url to firebase database")),
    #"Converted to Table" = Record.ToTable(Source),
    #"Expanded Value" = Table.ExpandListColumn(#"Converted to Table", "Value"),
    #"Expanded Value1" = Table.ExpandRecordColumn(#"Expanded Value", "Value", {"name", "age", "maritalStatus"})
in
    #"Expanded Value1"

引发以下错误:

Expression.Error:我们无法将 Record 类型的值转换为 Table 类型。详细信息:值=Record 类型=类型

答案1

我从头开始使用 Power Query UI 编辑器针对您的示例数据,并得到了一个具有相同前三行的脚本,然后:

    #"Expanded Value" = Table.ExpandRecordColumn(#"Converted to Table", "Value", {"age", "maritalStatus", "name"}, {"age", "maritalStatus", "name"})
in
    #"Expanded Value"

“转换为表格”步骤会产生一个对象名称列(包含值“soh4gf1k”、“itnhwagx”),名称为:[名称]。您可能希望重命名该列,以避免与下级 [名称] 列混淆。

相关内容