在PowerBI中将json List Record转换为Table值

vpfxa7rd  于 12个月前  发布在  其他
关注(0)|答案(3)|浏览(142)

我对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


我试图像转换表和转置这是不工作我总是得到一个错误,如
表达式。错误:我们无法将类型为Record的值转换为类型

8fsztsew

8fsztsew1#

您可以只使用Web/桌面界面:

  1. Open Power BI Desktop
    1.* 获取数据 * → * 更多. * →从列表中选择 JSON,然后单击连接(您也可以使用WEB API或其他提供JSON数据的源)
    1.选择JSON文件并打开它。
    1.在数据面板中,可以看到族|列表。单击 * 列表 * 链接添加导航步骤。
    1.从转换选项卡中,单击 * 到表 *,并从对话框中单击 * 确定 *。
    1.从“Column 1”的标题中,单击 Expand columns 按钮x1c 0d1x以展开列,并从菜单中取消选中 Use original column name as prefix 并选中所需的列,然后单击OK。
    1.您将看到表格格式的列和数据。您可以通过单击数据类型按钮

    更改列的数据类型。
    最后,你会得到这样的东西:



最后,如果你想看到生成的查询,点击 * 高级编辑器 * 按钮,看看代码:

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"

字符串

更多信息:

uujelgoq

uujelgoq2#

我错过了ExpandRecordColumn函数的步骤。在我把它放在我的查询中之后。它工作了。

let
    Source = Json.Document(File.Contents("C:\Users\hp\Desktop\File.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", "Children"}, {"Father", "Age", "Mother", "MAge", "Children"})
in
    #"Expanded Column1"

字符串

holgip5t

holgip5t3#

我只是按照这篇文章从JSON文件中获取数据。当我点击转换按钮时,Power Query引擎自动显示最终的表。所以我认为现在Power bi(最新版本2.107.683.0)有自动功能为我们做这项工作。谢谢。


的数据

相关问题