Table.ReplaceValue函数是Power Query中的最重要的也是比较难的函数之一。在很多的数据转换的场景都会用到这个函数。
功能:将表中的指定列中指定的旧值替换为新值。
语法:
Table.ReplaceValue ( 表 as table,旧值as any,新值as any,替换器 as function,要替换的列as list ) as table
注意:替换器是一个fuction类型的替换器,而替换器函数两个:
一个是Replacer.ReplaceText和Replacer.ReplaceValue函数,通常情况下,该函数的替换器参数默认就是这两个替换器函数。我们可以将替换器函数参数进行改写成(x,y,z)=>这种形式。当然不限于xyz也可以是其他的三个参数形式,如abc。
参照替换器函数Replacer.ReplaceText和Replacer.ReplaceValue的参数依次为:要替换的值,旧值,新值。那么:
x就是要替换的值,对应的是Table.ReplaceValue函数的最后1个参数;
y就是旧值,对应的是Table.ReplaceValue函数的第2个参数;
z就是新值,对应的是Table.ReplaceValue函数的第3个参数。
所以Table.ReplaceValue函数的第4个参数其实就是(替换对象,旧值,新值)=>。
说明:节内容我们主要讲解Table.RreplaceValue函数的一般用法。更多拓展用法将在“Table.ReplaceValue函数的综合案例”中给大家讲解。
常规案例1:将性别列中的女生替换为女。
= Table.ReplaceValue(源,"女生","女",Replacer.ReplaceValue,{"性别"})
常规案例2:将爱好列中的A替换为X。
= Table.ReplaceValue(源,"A","X",Replacer.ReplaceText,{"爱好"})
= Table.ReplaceValue(源,"A","X",Text.Replace,{"爱好"})
综合案例1:按条件进行替换。
如果“内容”列中包含“笔”,那么不替换,保持原有的值;否则替换为“其它”。
代码如下:
综合案例2:拆分并摊分金额。
代码如下:
或
综合案例3:两表替换。
将表1中的人名替换成表2对应的编码。如下图所示。
代码如下:
综合案例4:对表中的内容进行多次替换。
将内容列中的“s”替换为“你”,将“f"替换为"我".
代码如下:
或
或
综合案例5:多除乘以1列。
代码如下:
综合案例6:多列除对应的多列。
代码如下:
关于本节内容对应的视频,可以观看我B站的Power Query 大乘真经(99节更新中……)
让我看看,是哪个小可爱翻到惊喜了~~
小必老师近期新出版的《Excel商务智能:Power Query和Power Pivot数据清洗、建模与分析实战》一书,在上市以来就取得不俗的表现,豆瓣上更是有了9.5分的评分。本书有50+的实战案例,有1G+的随书重难点章节的配套视频。
领取专属 10元无门槛券
私享最新 技术干货