3

目标:我有一个 JSON 有效负载,格式如下:

    {
        "Values": [
        {
            "Details": {
                "14342": {
                    "2016-06-07T00:00:00": {
                        "Value": 99.62,
                        "Count": 7186
                    },
                    "2016-06-08T00:00:00": {
                        "Value": 99.73,
                        "Count": 7492
                    }
                },
                "14362": {
                    "2016-06-07T00:00:00": {
                        "Value": 97.55,
                        "Count": 1879
                    },
                    "2016-06-08T00:00:00": {
                        "Value": 92.68,
                        "Count": 355
                    }
                }
            },
            "Key": "query5570027",
            "Total": 0.0
        },
        {
           "Details": {
                "14342": {
                    "2016-06-07T00:00:00": {
                        "Value": 0.0,
                        "Count": 1018
                    },
                    "2016-06-08T00:00:00": {
                        "Value": 0.0,
                        "Count": 1227
                    }
                }
            },
            "Key": "query4004194",
            "Total": 0.0
        }
    ],
    "LatencyInMinute": 0.0
}

我想在 PowerBI 中加载它并生成一个像这样的表:

在此处输入图像描述

请注意,每个 Value + Count 对都有自己的行,并且一些元素是重复的。

问题:当我尝试在 Power BI 中执行此操作时(通过 Power Query),我得到三个初始列,其中之一是详细信息。麻烦的是我可以展开详细信息,但我只是得到更多的列,我真正想要的是行。我尝试了转置、旋转列等,但没有任何帮助。Power Query 将嵌套数据元素视为列名,这加剧了我的麻烦。

问题:有没有办法在 M 中将此嵌套的 JSON 有效负载转换为我上面说明的表格示例?

4

2 回答 2

2

Chris Webb 编写了一个递归函数来扩展所有表类型的列——我已经成功地为记录类型的列克隆了它:

https://gist.github.com/Mike-Honey/0a252edf66c3c486b69b

于 2016-06-09T22:27:35.913 回答
0

如果您使用 Record.FromList 进行扩展,它应该可以工作。

您可以在此处的脚本中找到一个示例:https ://chris.koester.io/wp-content/uploads/2016/04/TransformJsonArrayWithPowerQueryImkeFeldmann.txt

于 2016-06-09T04:51:49.113 回答