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

使用Power BI自定义数据连接器提取数据遇类型转换错误

解决Power BI自定义连接器“无法将Record类型转换为Table类型”错误

问题排查

  1. 核心错误:你用List.Generate生成的AllJson是一组包含i和data字段的记录,而Table.Combine只能接收表的列表,直接传入记录列表就会触发类型转换错误。
  2. 字段提取错误:代码里apiData[data]是错误写法,应该用字符串索引apiData["data"],否则会把变量data当作字段名去查找,大概率取不到正确值。
  3. 空值未处理:当某个symbol没有返回数据时,getJson会返回null,合并时需要先过滤这些空值,避免报错。

修正后的代码

getMydata.getMyData = (apiKey as text, symbols as text, startYear as text, endYear as text) =>
        let
            symbolList = Text.Split(symbols, ","),
            initialPosition = 0,
            getJson = (position) =>
                let
                    source = Json.Document(
                        Web.Contents(
                            "https://myDataAPI.com/getData.json?apikey="
                                & apiKey
                                & "&symbol="
                                & symbolList{position}
                                & "&startYear="
                                & startYear
                                & "&endYear="
                                & endYear
                        )
                    ),
                    apiData = try source[results] otherwise null,
                    data = if apiData <> null then apiData["data"] else null, // 修正字段索引写法
                    toTable = if data <> null then Table.FromRecords(data) else null 
                in
                    toTable,
            AllJson = List.Generate(
                () => [i = 1, data = getJson(initialPosition)],
                each [i] <= List.Count(symbolList),
                each [i = [i] + 1, data = getJson([i])]
            ),
            // 提取所有data字段,过滤null后合并
            tableList = List.Transform(AllJson, each [data]),
            filteredTables = List.RemoveNulls(tableList),
            finalTable = Table.Combine(filteredTables)
        in
            finalTable

关键修改点

  • 用List.Transform(AllJson, each [data])从记录列表中提取出所有表对象
  • 新增List.RemoveNulls(filteredTables)过滤掉无数据返回的null值
  • 修正apiData["data"]的字段索引写法,确保正确提取数据

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 21:22:46