Power BI提取文本列模式时遇空值/Null报错的解决方法
解决Power BI M语言处理空/Null文本列的报错问题
原代码在处理空或Null的Column1单元格时报错,原因是Text.Split无法接收Null参数,且空字符串处理后可能触发后续逻辑错误。只需在提取逻辑前增加空值判断,跳过空/Null值即可,修改后的完整代码如下:
let Source = Excel.Workbook(File.Contents("C:\Users\aditya\Documents\Test.xlsx"), null, true), Sheet1_Sheet = Source{[Item="Sheet1",Kind="Sheet"]}[Data], #"Changed Type" = Table.TransformColumnTypes(Sheet1_Sheet,{{"Column1", type text}, {"Column2", type text}, {"Column3", type text}}), #"Added Release" = Table.AddColumn(#"Changed Type", "Release", each // 新增空值判断:如果Column1是Null或空文本,直接返回Null if [Column1] = null or Text.Trim([Column1]) = "" then null else let a = List.Transform(Text.Split([Column1], ";"), each Text.Trim(_)), b = List.Select(a, each Text.StartsWith(_,"R") and Value.Is(Value.FromText(Text.At(_, 1)), type number)) in b{0}? ) in #"Added Release"
关键修改说明
- 新增
if [Column1] = null or Text.Trim([Column1]) = "" then null else逻辑:先判断单元格是否为Null,或去除首尾空格后为空文本,满足任一条件则返回Null,不执行后续提取逻辑。 - 保留原有的提取逻辑仅对有效文本生效,避免空值触发
Text.Split或后续文本操作的报错。
内容的提问来源于stack exchange,提问作者Dinesh wakti
相关产品推荐
相关产品推荐

