You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Power BI Power Query中API JSON数据转表格的关联匹配问题求助

问题:Power Query中API JSON数据转换时的列关联错误

我需要在Power BI的Power Query中将API获取的JSON数据转换为表格。API查询结果为列表类型,转换为表格后,ID列正常,但power、wind_speed、times列均为数据列表;展开power列后ID重复属于正常情况,但继续展开wind_speed和times列时,数据未按行关联,wind_speed与power数据在不同日期出现重复。而在原始JSON中,每个ID对应的DATA、WIND_SPEED、POWER数据集是正确关联的。我尝试过使用Power BI自带的Power Query转换函数,但转换过程中仍出现数据关联错误的问题。

以下是当前使用的Power Query完整代码:

let
    // Definir os dados JSON
    json = [
        api_token = "cb8551da59dbdf91be8371df4a03dddb",
        power_source = "wind",
        id = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40},
        variables = {"wind_speed", "power"},
        end_date = "20240601",
        integration = "daily"
    ],

    // Converter o JSON em uma string JSON formatada
    jsonString = Text.FromBinary(Json.FromValue(json)),

    // Definir a URL
    url = "https://api.tempook.com/geracao/v1/forecast/multiforecast/range/integration",

    // Obter os dados da API usando o método POST
    response = Web.Contents(
        url,
        [
            Headers = [
                #"Content-Type"="application/json"
            ],
            Content = Text.ToBinary(jsonString),
            ManualStatusHandling={405}
        ]
    ),

    // Converter a resposta JSON em uma tabela
    jsonResponse = Json.Document(response),
    #"Convertido para Tabela" = Record.ToTable(jsonResponse),
    Value = #"Convertido para Tabela"{0}[Value],
    #"Convertido para Tabela1" = Table.FromList(Value, Splitter.SplitByNothing(), null, null, ExtraValues.Error),
    #"Column1 Expandido" = Table.ExpandRecordColumn(#"Convertido para Tabela1", "Column1", {"id", "power", "wind_speed", "times"}, {"Column1.id", "Column1.power", "Column1.wind_speed", "Column1.times"}),
    #"Column1.power Expandido" = Table.ExpandListColumn(#"Column1 Expandido", "Column1.power"),
    #"Column1.wind_speed Expandido" = Table.ExpandListColumn(#"Column1.power Expandido", "Column1.wind_speed"),
    #"Column1.times Expandido" = Table.ExpandListColumn(#"Column1.wind_speed Expandido", "Column1.times")
in
    #"Column1.times Expandido"

内容的提问来源于stack exchange,提问作者Bruno Andrade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 01:50:02