Table.ReplaceValue替换…Replace…(Power Query 之 M 语言)
数据源:
任意数据源,包括文本和非文本两列
目标:
对数据进行替换操作
操作过程:
【主页】(或【转换】)》【替换值】

M公式:
= Table.ReplaceValue( 表, 查找值, 替换值, 替换种类, { "列名1",..., "列名n"})
替换种类:
Replacer.ReplaceValue:全部替换(包括文本和非文本)
Replacer.ReplaceText:局部替换(仅用于文本)
用于替换的特殊字符:
Tab:#(tab)
回车:#(cr)
换行:#(lf)
不间断空格:#(00A0)
扩展:
全部替换:= Replacer.ReplaceValue( "字符串”或数值, 查找的"字符串"或数值, 替换的"字符串"或数值)
局部替换:= Replacer.ReplaceText( "字符串”, 查找的"字符串", 替换的"字符串")
表
替换整行:= Table.ReplaceMatchingRows( 表,{{查找记录1, 替换记录1},...,{查找记录n, 替换记录n}}, {"列名1",...,"列名n"})
查找记录与替换记录项名必须与表中的列一致
第三参数缺省,查找记录必须与表中整行匹配方可被替换,否则只要第三参数中列中的列与查找记录中相应的列一致即整行替换。
示例:表n行两列,标题名分别为“a”和“b"
= Table.ReplaceMatchingRows( 表, {[a = 1,b = 2], [a = -1, b = -2]})
行中同时满足a=1和b=2的记录被替换成a=-1和b=-2,其他不替换
= Table.ReplaceMatchingRows( 表, {[a = 1,b = 2], [a = -1, b = -2]},"a")
行中满足a=1的记录被替换成a=-1和b=-2,其他不替换
替换指定行:= Table.ReplaceRows( 表, 起始行, 被替换的行数, {替换的记录})
示例:表n行两列,标题名分别为“a”和“b”
= Table.ReplaceRows( 表, 2, 4, {[a=9,b=10],[a=11,b=12]})
从第3行起连续4行被替换成第四参数中的内容
列表
替换值:= List.ReplaceValue( 列表, 查找值, 替换值, 替换种类)
替换种类:Replacer.ReplaceValue / Replacer.ReplaceText
替换匹配项:= List.ReplaceMatchingItems( 列表, {{"查找内容1","替换内容1"},..., {"查的内容n","替换内容n"}}, each 函数 (..._...))
示例:= List.ReplaceMatchingItems( 列表,{{"a","x"}},each Text.Start(_,1))
列表中开头为“a”的项替换为“x”
示例:= List.ReplaceMatchingItems( {1..9},{{1,0}},each Number.Mod(_,2))
列表中所有数字除以2的余数为1的替换为0,即{0,2,0,4,0,6,0,8,0}
替换指定项:= List.ReplaceRange( 列表, 起始行, 被替换的行数, {替换的列表})
示例:= List.ReplaceRange({1..9}, 2, 4, {10,12})
从第3行起连续4行被替换成第四参数中的内容,即{1,2,10,12,7,8,9}
其他
文本字符替换:= Text.Replace( "字符串", "查找内容", "替换内容")
文本位置替换:= Text.ReplaceRange( "字符串", 起始位置, 被替换的字符数, "替换内容")
Table.ReplaceValue替换…Replace…(Power Query 之 M 语言)的更多相关文章
- M函数目录(Power Query 之 M 语言)
2021-12-11更新 主页(选项卡) 管理列(组) 选择列 选择列Table.SelectColumns 删除列 删除列Table.RemoveColumns 删除其他列Table.SelectC ...
- Excel.CurrentWorkbook数据源(Power Query 之 M 语言)
数据源: 任意超级表 目标: 将超级表中的数据加载到Power Query编辑器中 操作过程: 选取超级表中任意单元格(选取普通表时会自动增加插入超级表的步骤)>数据>来自表格/区域 M公 ...
- 自定义函数(Power Query 之 M 语言)
数据源: 任意工作簿 目标: 使用自定义函数实现将数据源导入Power Query编辑器 操作过程: PowerQuery编辑器>主页>新建源>其他源>空查询 编辑栏内写入公式 ...
- M语言的写、改、删(Power Query 之 M 语言)
M语言基本上和其他语言一样,用敲键盘的方式写入.修改.删除,这个是废话. M语言可以在[编辑栏]或[高级编辑器]里直接写入.修改.删除,这个也是废话. M语言还有个地方可以写入.修改.删除,就是[自定 ...
- M语言的藏身之地(Power Query 之 M 语言)
M函数和M公式是Power Query专用的函数与公式,M代码是Power Query专用的用于实现查询功能的代码.M函数公式和M代码统称M语言. 查看M公式:[编辑栏] 查看方法:在Power Qu ...
- 替换错误Table.ReplaceErrorValues(Power Query 之 M 语言)
数据源: 任意数据源,数据中有错误值 目标: 将错误值替换为0 操作过程: [转换]>[替换值]>[替换错误] M公式: = Table.ReplaceErrorValues( 表, {{ ...
- Table.ReorderColumns移动…Reorder…(Power Query 之 M 语言)
数据源: 至少两列 目标: 列顺序重新排列 操作过程: 选取待移动的列>鼠标拖放列标题 选取待移动的列>[转换]>[移动]>选取 M公式: = Table.ReorderCo ...
- Table.FillDown填充Table.Fill…(Power Query 之 M 语言)
数据源: 任意列中包含空单元格 目标: 将空单元格填充为其上或其下单元格中的内容 操作过程: 选取指定列>[转换]>[填充]>[向下] 选取指定列>[转换]>[填充]&g ...
- Table.RowCount行列计数…Count(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 计算行数(包括空行) 操作过程: [转换]>[对行进行计数] M公式: = Table.RowCount( 表 ) 扩展: 对表中列进行计数:= Table.C ...
随机推荐
- 快上车丨直播课“Hello ArkansasUI:初识Slider组件(eTS语言)”来啦!
11月24日19:00-20:30,Hello HarmonyOS系列课程第二期线上直播,将手把手教你使用最新的ArkUI进行开发,学习eTS语言.Slider组件和Image组件.完成本期直播课的学 ...
- layui某个字段不让页面显示显示
<script src="/layuiadmin/layui/layui.js"></script> <script> layui.config ...
- DataGrid首次进入页面时,不加载任何数据[转]
首次不加载数据问题,必须搞明白如何才能不加载数据.根据Easu UI的官方API: http://www.jeasyui.com/documentation/ 仔细观察DataGrid的事件当中有一个 ...
- 『与善仁』Appium基础 — 14、Appium测试环境搭建
目录 1.Appium测试环境搭建整体思路 (1)Android测试环境搭建 (2)Appium测试环境搭建 (3)测试脚本语言的环境搭建 2.Appium在Android端和IOS端的工作流程 (1 ...
- 整理记录一些好用的随机图API
最近自己博客使用的随机图API有些不稳定,自己又去搜集了一些有意思的随机图API,这里做一个整理记录 注意!!!本文链接最后测试时间----2021年11月21日 主题作者Tagaki的API(有时候 ...
- Codeforces 1383F - Special Edges(状态压缩+最大流)
Codeforces 题目传送门 & 洛谷题目传送门 首先暴力显然是不行的,如果你暴力最大流过了我请你吃糖 注意到本题的 \(k\) 很小,考虑以此为突破口解题.根据最大流等于最小割定理,点 ...
- BZOJ 3238 差异
BZOJ 3238 差异 看这个式子其实就是求任意两个后缀的 $ LCP $ 长度和.前面的 $ len(T_i)+len(T_j) $ 求和其实就是 $ n(n-1)(n+1)/2 $ ,这个是很好 ...
- sigma网格中水平压力梯度误差及其修正
1.水平梯度误差产生 sigma坐标系下,笛卡尔坐标内水平梯度项对应形式为 \[\begin{equation} \left. \frac{\partial }{\partial x} \right| ...
- 解决install_github安装R包时无法打开(cannot open)URL?
最近安装github上的R包,经常显示Error in utils::download.file(url, path, method = method, quiet = quiet, : 无法打开UR ...
- Linux-root管理员创建新用户
Linux 系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统.用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...