Power Query问题:无法将Function类型转换为Text类型的解决咨询
Power Query函数调用报错解决:无法将Function转换为Text
你遇到的问题核心是没有真正调用子函数Query2,只是把函数本身赋值给了my变量。Query2是一个需要传入文本参数的函数,my = Query2这行代码里的my其实是函数对象,不是函数执行后返回的文本值,所以Text.Split(my, ",")自然会报类型转换错误——Text.Split只接受文本输入,不接受函数类型。
方案1:直接传入固定参数调用子函数
修改主函数Query1,在引用Query2时加上括号和参数,让函数执行并返回文本结果:
### main query - Query1 ### let my = Query2("Hello,World"), // 调用函数并传入参数,返回文本值 K = Text.Split(my, ",") in K
这样my就会得到子函数返回的"Hello,World"文本,Text.Split就能正常拆分出{"Hello", "World"}。
方案2:让主函数也支持输入参数(更灵活)
如果想让主函数也能接收用户输入的参数,把主函数改成带参数的形式:
### main query - Query1 ### let output = (inputText as text) as list => let my = Query2(inputText), K = Text.Split(my, ",") in K in output
这样执行主函数时,输入类似"Hello,World"的参数,就能直接得到拆分后的列表。
补充说明:
你之前单独执行let my = Query2 in my时,Power Query会识别出my是函数,所以弹出输入提示让你传参,传参后函数才会执行返回文本。但在原来的完整主函数里,Text.Split会直接尝试处理函数对象,不会触发参数输入提示,所以报错。
内容的提问来源于stack exchange,提问作者Maria628
相关产品推荐
相关产品推荐

