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

Power BI Dataflow刷新报错:无法将List类型转换为Table类型

问题解决:Power BI Dataflow中List自动转为Table导致的刷新错误

问题根源

Power BI Dataflow不支持持久化独立的List类型对象,保存查询后会自动将外部List转为Table,导致依赖List参数的函数调用时出现类型不匹配错误。

解决方案

方案1:修改工作日函数,兼容Table输入

直接调整函数,使其接受节假日Table作为参数,并在内部自动提取日期列转为List:

= (StartDate as date, EndDate as date, HolidayTable as table) =>

    let
        HolidayList = Table.Column(HolidayTable, "Date"), // 从Table提取日期列转为List
        DateList = List.Dates(StartDate,Number.From(EndDate-StartDate)+1,#duration(1,0,0,0)),
        RemoveWeekends = List.Select(DateList, each Date.DayOfWeek(_,Day.Monday) <5),
        RemoveHolidays = List.RemoveItems(RemoveWeekends,HolidayList),
        CountDays = List.Count(RemoveHolidays)
    in
        CountDays

然后在日期表的Added custom 7步骤中,将原参数HolidayList替换为你的节假日Table名称(示例中为Holidays):

#"Added custom 7" = Table.TransformColumnTypes(Table.AddColumn(#"Added custom 6", "Business Day of Year", each BusinessDays([First Business Day of Year], [Date], Holidays)), {{"Business Day of Year", Int64.Type}}),

方案2:在日期表查询内直接生成HolidayList

如果你的节假日List原本是从Table转换而来,直接在日期表查询内部生成List,避免依赖外部独立List对象:

在日期表查询的开头添加生成List的步骤:

let
    HolidayList = Table.Column(Holidays, "Date"), // 直接在查询内部生成日期List
    Today = Date.From( DateTime.LocalNow() ),
    // 后续原有日期表步骤...

这样就彻底规避了Dataflow对外部List的类型转换问题。

关键注意事项

Dataflow仅支持持久化Table类型的查询对象,独立的List、Record等类型对象在保存后会被自动转为Table。因此所有需要使用List的场景,要么在函数内部从Table转换,要么在查询内部直接生成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 02:24:52