转换列:
= Table.TransformColumns( 表, {{"列名1", 转换函数1, 数据类型1},…,{"列名n", 转换函数n, 数据类型n}}, 剩余列转换函数, 处理不存在的列)
示例:除“品名”列加前缀“N-”以外,其他所有列乘以10
= Table.TransformColumns(表, {"品名", each "N-" & _}, each _ *10)
示例:将“名”列加前缀“N-”,如无此列则忽略
= Table.TransformColumns(表, {"品", each "N-" & _},null,1)
处理同行不同列:
= Table.TransformRows( 表, 转换函数)
示例:生成新的两列,姓名列是原姓名列与部门列合并,总计列是个人缴纳列加公司缴纳列
= Table.FromRecords(Table.TransformRows( 表,each [姓名= [姓名] & [部门], 总计= [个人缴纳]+ [公司缴纳]]))
转换列表:
= List.Transfrom( 列表, 转换函数)
示例:返回26个字母的列表
= List.Transform({65..90},Character.FromNumber)
示例:返回列表中的数字保留0位小数
= List.Transform( {14.99,15.21}, Number.Round)
示例:返回列表中的数字除以1000后保留两位小数
= List.Transform( {1499..1520}, each Number.Round( _ /1000, 2))
= List.TransformMany( 列表, 转换列表, 函数)
示例:列出列表中所有数字的3次方
= List.TransformMany( {1..9}, each {3}, Number.Power)
将列表中的每个值计算Power,次方数由第二参数决定
示例:列出列表中所有数字+2
= List.TransformMany( {1..9}, each {2}, (x,y)=>x+y)
x是List中的元素,y是第二参数获得的元素
转换记录:
= Record.TransformFields( 记录,{{ "字段1", 转换函数1},...,{ "字段n", 转换函数n}}, 处理不存在的字段)
示例:将记录中“列1”的字母全部大写
= Record.TransformFields( 记录,{"列1", Text.Upper})