Power BI中使用指向列名的变量创建自定义列的问题
解决Power BI中用列名变量创建自定义列的问题
问题核心是直接使用变量var1时,Power Query会将其识别为列名字符串,而非引用该列的每行实际数据。正确做法是通过动态引用当前行的对应列值来实现需求:
正确公式
Text.Middle(Record.Field(_, var1), 3, Text.Length(Record.Field(_, var1)) - 3)
原理说明
Record.Field(_, var1):_代表当前行记录,该函数会根据var1存储的列名,提取当前行对应列的实际数据值,而非列名本身的字符串。- 将提取到的行数据传入
Text.Middle,就能对每行的目标数据进行截取操作,而非处理列名字符串。
可选优化(简化代码)
如果需要重复调用该列值,可先在自定义列内用变量暂存,提升代码可读性:
let currentRowValue = Record.Field(_, var1) in Text.Middle(currentRowValue, 3, Text.Length(currentRowValue) - 3)
内容的提问来源于stack exchange,提问作者Error 1004
相关产品推荐
相关产品推荐

