首页
Python
Java
IOS
Andorid
NodeJS
JavaScript
HTML5
【
每一个each(Power Query 之 M 语言)
】的更多相关文章
M语言的写、改、删(Power Query 之 M 语言)
M语言基本上和其他语言一样,用敲键盘的方式写入.修改.删除,这个是废话. M语言可以在[编辑栏]或[高级编辑器]里直接写入.修改.删除,这个也是废话. M语言还有个地方可以写入.修改.删除,就是[自定义列],在Power Query编辑器的[添加列]选项卡下. 在[自定义列]里编辑M公式,除了可以用键盘以外,还可以用鼠标--需要输入列名时,双击[可用列]里的指定列,或者选取列名后单击[插入]. 好吧,这统统都是废话--…
M语言的藏身之地(Power Query 之 M 语言)
M函数和M公式是Power Query专用的函数与公式,M代码是Power Query专用的用于实现查询功能的代码.M函数公式和M代码统称M语言. 查看M公式:[编辑栏] 查看方法:在Power Query编辑器的[视图]选项卡下,勾选[编辑栏],选取不同的[应用的步骤]即可看到[功能区]和[查询表]之间的M公式. 查看M代码:[高级编辑器] 查看方法:在Power Query编辑器的[视图]或者[主页]选项卡下,单击[高级编辑器]即可.…
Excel.CurrentWorkbook数据源(Power Query 之 M 语言)
数据源: 任意超级表 目标: 将超级表中的数据加载到Power Query编辑器中 操作过程: 选取超级表中任意单元格(选取普通表时会自动增加插入超级表的步骤)>数据>来自表格/区域 M公式: = Excel.CurrentWorkbook(){[Name="超级表名"]}[Content] 扩展: 以二进制形式返回文件内容:= File.Contents("路径\文件名.后缀名") 从工作簿:= Excel.Workbook(二进制Excel工作簿,…
自定义函数(Power Query 之 M 语言)
数据源: 任意工作簿 目标: 使用自定义函数实现将数据源导入Power Query编辑器 操作过程: PowerQuery编辑器>主页>新建源>其他源>空查询 编辑栏内写入公式>调用 M公式: = (自定义参数名) => Excel.Workbook(File.Contents(自定义参数名), null, true) 固定结构: M公式 = (参数1,...,参数n) => 包含参数的表达式 M代码(生成自定义函数) (参数1,...参数n) => let…
每一个each(Power Query 之 M 语言)
each _ 固定结构,表示每一个(废话,each这单词中文意思就是每一个) 但后面的下划线,是个省略参数的写法-- 首先,each后面不是非要跟_ 其次,_代表的意思是指定列里同行的每一个,这时的公式中已经有指定列 第三,_和指定列不能随意互换 第四,each和_之间有空格 第五,each和_之间可以有"第三者" 第六,each不一定是一个值,也可以是table.list等,就看表中指定列里是什么内容. 对比以下三个M公式 = Table.AddColumn(步骤名, "新…
M函数目录(Power Query 之 M 语言)
2021-12-11更新 主页(选项卡) 管理列(组) 选择列 选择列Table.SelectColumns 删除列 删除列Table.RemoveColumns 删除其他列Table.SelectColumns 减少行(组) 保留行 保留前面N-.First/FirstN 保留后面N-.Last/LastN 保留中间指定的-.Range/Middle 保留重复项 选择-Select- 筛选Table.SelectRows-文本与数值 筛选Table.SelectRows-日期与时间 删除行 删…
Table.Range保留中间指定的….Range/Middle(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列7行数据 目标: 留下第2.3.4三行数据 操作过程: [主页]>[保留行]>[保留行的范围]>输入保留的起始行>输入待保留的行数>[确定] M公式: = Table.Range( 表, 保留的起始行, 保留的行数) 说明: 保留的行数如果缺省,则一…
删除其他列Table.SelectColumns(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共七列 目标: 只保留"姓名"列 操作过程: 选取待保留的列>[主页]>[删除列]>[删除其他列] [主页]>[选择列]>取消打勾待删除的列>[确定] M公式: = Table.SelectColumns( 表, {"…
保留重复项(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列7行数据,其中姓名列,第1.2行与第6.7行内容重复 目标: 留下第1.2.6.7姓名列中内容重复的行 操作过程: 选取指定列>[主页]>[保留行]>[保留重复项] M公式: = let columnNames = {"指定列名"}, add…
Table.Skip删除前面N….Skip/RemoveFirstN(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列5行数据 目标: 删除掉前面三行(只留下后面两行数据) 操作过程: [主页]>[删除行]>[删除最前面几行]>输入删除的行数>[确定] M公式: 删除行:= Table.Skip( 表, 删除的行数或条件) 说明: 同保留前面N行Table.FirstN…
Table.Distinct取唯/众数….Distinct/Mode/判断…IsDistinct(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列7行数据,其中姓名列第1.2行与第6.7行内容重复 目标: 删除姓名列中内容重复的行 操作过程: 选取指定列>[主页]>[删除行]>[删除重复项] M公式: = Table.Distinct( 表, {{ "列名1", 区分大小写},...,…
删除空行(嵌套)(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列7行数据,其中第4行整行为空 目标: 删除整行为空的行 操作过程: [主页]>[删除行]>[删除空行] M公式: = Table.SelectRows( 表, each not List.IsEmpty(List.RemoveMatchingItems(Record.…
判断是否为空….IsEmpty(Power Query 之 M 语言)
公式: 判断表:=Table.IsEmpty( 表) 判断列表:=List.IsEmpty( 列表) 说明: 此公式的参数一般是一个由公式生成的结果 最终效果: 表/列表中全部是空的返回true 表/列表中只要有内容则返回false…
Table.Group分组…Group(Power Query 之 M 语言)
数据源: 10列55行数据,其中包括含有重复项的"部门"列和可求和的"金额"列. 目标: 按"部门"列进行分组,显示各部门金额小计. 操作过程: [主页]>[分组依据]>"部门">新列名"金额小计">操作[求和]>柱"金额" [转换]>[分组依据]>"部门">新列名"金额小计">操作[求和]&g…
转换…Transform…(Power Query 之 M 语言)
转换列: = Table.TransformColumns( 表, {{"列名1", 转换函数1, 数据类型1},-,{"列名n", 转换函数n, 数据类型n}}, 剩余列转换函数, 处理不存在的列) 示例:除"品名"列加前缀"N-"以外,其他所有列乘以10 = Table.TransformColumns(表, {"品名", each "N-" & _}, each _ *10…
在【自定义列】中使用M函数(Power Query 之 M 语言)
数据源: "品名"一列 目标: 提取品名中的首字符,生成新列:"品名简称" 解决方案: 在[自定义列]中使用M函数Text.Start 步骤: 打开[自定义列]对话框 修改新列名为"品名简称" 光标移至等号后,输入字母"t"(不限大小写) 通过上下键找到M函数"Text.Start" 按下[Tab]键或[Enter]键完成M函数名的输入(亦可直接输入"Text.Start",但手动输入必…
Table.ReorderColumns移动…Reorder…(Power Query 之 M 语言)
数据源: 至少两列 目标: 列顺序重新排列 操作过程: 选取待移动的列>鼠标拖放列标题 选取待移动的列>[转换]>[移动]>选取 M公式: = Table.ReorderColumns( 表, {"顺序列1",..., "顺序列n"}, 处理不存在的列) 处理不存在的列 0:代表MissingField.Error 1:代表 MissingField.Ignore 2:代表 MissingField.UseNull 扩展: 记录项重新排列顺…
Table.FillDown填充Table.Fill…(Power Query 之 M 语言)
数据源: 任意列中包含空单元格 目标: 将空单元格填充为其上或其下单元格中的内容 操作过程: 选取指定列>[转换]>[填充]>[向下] 选取指定列>[转换]>[填充]>[向上] M公式: 向下填充:= Table.FillDown( 表, {"列名1",...,"列名n"}) 向上填充:= Table.FillUp( 表, {"列名1",...,"列名n"}) 最终效果: 如图…
List.Sum…统计信息(Power Query 之 M 语言)
数据源: 任意数据源,一列数值,一列非数值(文本) 目标: 对数值列进行求和等计算,对非数值列进行计数等计算 操作过程: 选取待计算的列>[转换]>[统计信息]>选取 M公式: 求和:= List.Sum( 数值列表, 精度) 精度: Precision.Double / 0 / 缺省:双精度 Precision.Decimal / 1:小数精度(可用于修正浮点误差) 计算忽略null值,除非整个列表为空 最小值:= List.Min( 列表, 空列时返回值, 条件, 逻辑值) 示例…
Table.RowCount行列计数…Count(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 计算行数(包括空行) 操作过程: [转换]>[对行进行计数] M公式: = Table.RowCount( 表 ) 扩展: 对表中列进行计数:= Table.ColumnCount( 表 ) 对列表进行计数:= List.Count( 列表 ) 对列表进行不包含null的计数:统计信息 字段数目:返回记录中的指定内容Record.Field-…
Table.ReverseRows反转…Reverse…(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 将原排列顺序颠倒 操作过程: [转换]>[反转行] M公式: = Table.ReverseRows( 表 ) 扩展: 反转列表:= List.Reverse( 列表 ) 反转字符串:= Text.Reverse( "字符串" )…
转置Table.Transpose(Power Query 之 M 语言)
数据源: 任意五行两列 目标: 转置成两行五列 操作过程: [转换]>[转置] M公式: = Table.Transpose( 表 ) …
合并函数Combiner.Combine…(Power Query 之 M 语言)
按相同分隔符合并: =Combiner.CombineTextByDelimiter("分隔符", 引号字符) 分隔符 直接输入 特殊符号 制表符:#(tab) 回车:#(cr) 换行:#(lf) 不间断空格:#(00A0) 引号字符 QuoteStyle.Csv/1:(半角)引号不显示 QuoteStyle.None/0:(半角)引号显示 按不同分隔符依序合并: = Combiner.CombineTextByEachDelimiter ({ "分隔符1",-,…
Table.CombineColumns合并…Combine…(Power Query 之 M 语言)
数据源: 任意表,表中列数超过两列 目标: 其中两列合并为一列 操作过程: 选取两列>[转换]>[合并列]>选取或输入分隔符>输入新列名>[确定] M公式: = Table.CombineColumns( 表,{"合并列1", "合列列2",...,"合并列n"}, 合并函数,"新列名") 合并函数Combiner.Combine- 最终效果: 如图 扩展: 文本合并:= Text.Comb…
Table.AlternateRows删除间隔….Alternate…(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列7行数据 目标: 留下第1.2.5三行数据 操作过程: [主页]>[删除行]>[删除间隔行]>输入删除的起始行>输入待删除的行数>输入删除行后面要保留的行数>[确定] M公式: = Table.AlternateRows( 表,…
删除列Table.RemoveColumns(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共七列 目标: 将其中的"基数""个人比例" "公司比例"三列删除 操作过程: 选取指定列>[主页]>[删除列] M公式: = Table.RemoveColumns( 表, {"待删除列名1"…
Table.FirstN保留前面N….First…(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列5行数据 目标: 只留下前面两行数据(删除掉后面三行) 操作过程: [主页]>[保留行]>[保留最前面几行]>输入保留的行数>[确定] M公式: = Table.FirstN( 表, 保留的行数或条件) 说明: 第二参数可以是数字,亦可以设定专门条件,提取…
Table.LastN保留后面N….Last…(Power Query 之 M 语言)
数据源: "姓名""基数""个人比例""个人缴纳""公司比例""公司缴纳""总计",共7列5行数据 目标: 只留下后面两行数据(删除掉前面三行) 操作过程: [主页]>[保留行]>[保留最后几行]>输入保留的行数>[确定] M公式: 保留行:= Table.LastN( 表, 保留的行数或条件) 说明: 同保留前面N行Table.FirstN…
选择…Select…(Power Query 之 M 语言)
选择行: 筛选Table.SelectRows-文本与数值 筛选Table.SelectRows-日期与时间 保留错误行:= Table.SelectRowsWithErrors( 表, {"列名1" ,..., "列名n"}) 列表筛选行:= List.Select( 列表, 筛选条件) 筛选条件多为each _ 比较运算符 条件结构 选择列: 选择列/删除其他列Table.SelectColumns 选择记录:= Record.SelectFields( 记录,…
筛选Table.SelectRows-文本与数值(Power Query 之 M 语言)
数据源: 包含文本与数值的任意数据 目标: 对文本和数值进行筛选 M公式: = Table.SelectRows( 表, 筛选条件) 筛选条件: 等于:each [指定列] = "指定值" 不等于:each [指定列] <> "指定值" 大于/大于等于/小于/小于等于:修改以上运算符号 开头为:each Text.StartsWith([指定列], "指定值") 开头不是:each not Text.StartsWith([指定列],…