PowerQuery:基于日期列表添加多空列时类型转换报错求助
解决Power Query动态添加日期命名空列的报错问题
错误根源
你犯了一个细节错误:把日期列表MyList用{MyList}包裹后,变成了嵌套列表(列表里套列表)。List.Accumulate会遍历外层列表的每个元素,此时current拿到的是整个MyList,而不是单个日期/文本值,自然会触发类型转换报错。
修正后的代码
直接传入MyList作为List.Accumulate的第一个参数,不需要额外加大括号:
Custom = List.Accumulate(MyList, Source, (state, current) => Table.AddColumn(state, Date.ToText(current), each null) )
额外说明
- 如果你的
MyList是日期类型列表,Date.ToText(current)可以把日期转为文本列名,还能自定义格式,比如Date.ToText(current, "yyyyMMdd")会生成"20240520"这种格式的列名 - 如果
MyList已经是转好的文本型日期字符串,直接用current当列名就行:Custom = List.Accumulate(MyList, Source, (state, current) => Table.AddColumn(state, current, each null) )
内容的提问来源于stack exchange,提问作者koen
相关产品推荐
相关产品推荐

