转换…Transform…(Power Query 之 M 语言)
转换列:
处理同行不同列:
= 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})