json - 将 json 列表记录转换为 PowerBI 中的表值
问题描述
我对 Power BI 完全陌生,所以我尝试了不同的方法将我的 JSON 文件转换为表格,但到目前为止没有成功。
{
"Family": [
{
"Father": "F1",
"Age": 50,
"Mother": "M1",
"MAge": 49,
"Children": [
{
"Name": "C1"
},
{
"Name": "C2"
}
]
},
{
"Father": "F2",
"Age": 55,
"Mother": "M2",
"MAge": 53,
"Children": [
{
"Name": "Cc1"
},
{
"Name": "Cc2"
}
]
}
]
}
我正在尝试将其转换为下表
Father Age Mother MAge
F1 50 M1 49
F2 55 M2 53
我试过像转换表和转置一样不起作用我总是得到一个错误
Expression.Error:我们无法将 Record 类型的值转换为类型
解决方案
让我为那些不想使用 Power BI 用户界面(桌面/Web)编写 Power Query 和 jsut 的人分享一个分步指南。
打开 Power BI 桌面
获取数据→更多 ... → 从列表中选择JSON并单击连接(您也可以使用 WEB API 或其他为您提供 JSON 数据的来源)
选择 JSON 文件并打开它。
在数据面板中,您会看到 Family|List。单击列表链接以添加导航步骤。
在“转换”选项卡中,单击“到表” ,然后从对话框中单击“确定” 。
从“Column1”的标题中,单击展开列按钮以展开列,然后从菜单中取消选中使用原始列名作为前缀并选中您想要的列,然后单击确定。
最后你会得到这样的东西:
最后,如果您想查看生成的查询,请单击高级编辑器按钮并查看代码:
let
Source = Json.Document(File.Contents("C:\Users\rag\Desktop\data.json")),
Family = Source[Family],
#"Converted to Table" = Table.FromList(Family, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
#"Expanded Column1" = Table.ExpandRecordColumn(#"Converted to Table", "Column1", {"Father", "Age", "Mother", "MAge"}, {"Father", "Age", "Mother", "MAge"}),
#"Changed Type" = Table.TransformColumnTypes(#"Expanded Column1",{{"Age", type number}, {"MAge", type number}})
in
#"Changed Type"
更多信息:
推荐阅读
- firebase - Firebase _upload 写入随机 downloadURL
- docker - 如何使 docker 容器与我的本地主机在同一 LAN 上运行?
- r - brms中的序数回归模型;错误=找不到函数累积(“logit”)
- reactjs - 来自数据库的反应 401 未经授权的错误 POST /GET
- docker - 连接BDC后,扩展HDFS会报错username and password required
- https - 如何解决 HTTP 状态 400 - 错误请求
- javascript - TypeError:self.webSocketIo.listen 不是函数
- sql - 从当前月份动态向后旋转 12 个月
- python - “pvlib”模块中缺少“逆变器”属性?
- sharepoint - sharepoint 2019 无法从第二个域添加用户