M函数和M公式是Power Query专用的函数与公式,M代码是Power Query专用的用于实现查询功能的代码.M函数公式和M代码统称M语言. 查看M公式:[编辑栏] 查看方法:在Power Query编辑器的[视图]选项卡下,勾选[编辑栏],选取不同的[应用的步骤]即可看到[功能区]和[查询表]之间的M公式. 查看M代码:[高级编辑器] 查看方法:在Power Query编辑器的[视图]或者[主页]选项卡下,单击[高级编辑器]即可.…
数据源: 任意超级表 目标: 将超级表中的数据加载到Power Query编辑器中 操作过程: 选取超级表中任意单元格(选取普通表时会自动增加插入超级表的步骤)>数据>来自表格/区域 M公式:  = Excel.CurrentWorkbook(){[Name="超级表名"]}[Content] 扩展: 以二进制形式返回文件内容:= File.Contents("路径\文件名.后缀名") 从工作簿:= Excel.Workbook(二进制Excel工作簿,…
M语言基本上和其他语言一样,用敲键盘的方式写入.修改.删除,这个是废话. M语言可以在[编辑栏]或[高级编辑器]里直接写入.修改.删除,这个也是废话. M语言还有个地方可以写入.修改.删除,就是[自定义列],在Power Query编辑器的[添加列]选项卡下. 在[自定义列]里编辑M公式,除了可以用键盘以外,还可以用鼠标--需要输入列名时,双击[可用列]里的指定列,或者选取列名后单击[插入]. 好吧,这统统都是废话--…
数据源: 任意工作簿 目标: 使用自定义函数实现将数据源导入Power Query编辑器 操作过程: PowerQuery编辑器>主页>新建源>其他源>空查询 编辑栏内写入公式>调用 M公式: = (自定义参数名) => Excel.Workbook(File.Contents(自定义参数名), null, true) 固定结构: M公式 = (参数1,...,参数n) => 包含参数的表达式 M代码(生成自定义函数) (参数1,...参数n) => let…
名词 查询表 函数 行{}/列[] 单元格 表(Table) 列表(List) 记录(Record) 引用[查询表] =查询表表名 引用[应用的步骤] =步骤名 引用表中的[单元格](深化) =表{行数}[列标题名] 行数从0开始 (未完)…
数据源: "品名"一列 目标: 提取品名中的首字符,生成新列:"品名简称" 解决方案: 在[自定义列]中使用M函数Text.Start 步骤: 打开[自定义列]对话框 修改新列名为"品名简称" 光标移至等号后,输入字母"t"(不限大小写) 通过上下键找到M函数"Text.Start" 按下[Tab]键或[Enter]键完成M函数名的输入(亦可直接输入"Text.Start",但手动输入必…
数据源: "品名"."数量"."单价"三列 目标: 计算销售单价(单价*1.2) 解决方案: 在[自定义列]中使用乘法四则运算 步骤: 打开[自定义列]对话框 修改新列名为"销售单价" 鼠标双击[可用列]中的"单价"(亦可将光标移至等号后再以键盘敲入"[单价]") 键盘敲入"*1.2" 单击[确定] 最终效果: 目标: 计算销售金额(数量*销售单价) 解决方案: 在[…
返回指定字段: = Record.Field( 记录, "字段名") = Record.FieldOrDefault( 记录, "字段名", 找不到时返回的值) 当字段名不存在于记录中时,Record.Field返回错误,而Record.FieldOrDefault返回null或第三参数 返回字段数目: = Record.FieldCount( 记录) 返回字段名: = Record.FieldNames( 记录) 返回字段内容: = Record.FIeldVal…
最近在写一个图像处理的程序时候,遇到一些传参的问题,最后发现引用的效率高一些,在此提醒各位道友,多多关注引用的应用及使用. 1.在引用的使用中,单纯给某个变量取个别名是毫无意义的,不要为了耍酷而乱用, 引用的目的主要用于在函数参数传递中,解决大块数据或对象的传递效率和空间不如意的问题 用引用传递函数的参数,能保证参数传递中不产生副本,提高传递的效率, 而且如果明确是src,则一定要使用const加以保护,这样就保证了引用传递的安全性 2.指针传参虽然也常用而且也可以避免大量参数压栈而提高程序运行…
转换列: = Table.TransformColumns( 表, {{"列名1", 转换函数1, 数据类型1},-,{"列名n", 转换函数n, 数据类型n}}, 剩余列转换函数, 处理不存在的列) 示例:除"品名"列加前缀"N-"以外,其他所有列乘以10 = Table.TransformColumns(表, {"品名", each "N-" & _}, each _ *10…