随笔分类 -  烧脑M

Excel有不少异空间,Power Query是其中之一,他最大的功劳就是把一些乱七八糟的数据给收拾服帖了。 相对而言,Power Query的操作部分相当简单,且内容已成书,所以此地专门用来折腾M语言。
摘要:数据源: 任意二维表,至少一列条件列,至少两列同属性统计列(少于两列不再是二维表) 目标: 二维表转成一维表 操作过程: 选取统计列》【转换】》【逆透视列】 M公式: = Table.UnpivotOtherColumns( 表, {"条件列1",...,"条件列n"}, "属性列", "值列") 阅读全文
posted @ 2021-12-19 20:30 熬肥妖 阅读(452) 评论(0) 推荐(0)
摘要:数据源: 任意一维表,至少两列,条件列和统计列各一列,条件列即透视列 有两列以上统计列时,其中之一为透视列 目标: 一维表转成二维表 操作过程: 选取条件列(之一)》【转换】》【透视列】》【值列】选取统计列》【高级选项】》选取聚合值函数【确定】 M公式: = Table.Pivot( 表, 新标题列 阅读全文
posted @ 2021-12-19 19:55 熬肥妖 阅读(1125) 评论(1) 推荐(0)
摘要:数据源: 至少两列 目标: 列顺序重新排列 操作过程: 选取待移动的列》鼠标拖放列标题 选取待移动的列》【转换】》【移动】》选取 M公式: = Table.ReorderColumns( 表, {"顺序列1",..., "顺序列n"}, 处理不存在的列) 处理不存在的列 0:代表MissingFie 阅读全文
posted @ 2021-12-11 20:26 熬肥妖 阅读(794) 评论(0) 推荐(0)
摘要:数据源: 任意列中包含空单元格 目标: 将空单元格填充为其上或其下单元格中的内容 操作过程: 选取指定列》【转换】》【填充】》【向下】 选取指定列》【转换】》【填充】》【向上】 M公式: 向下填充:= Table.FillDown( 表, {”列名1",...,"列名n"}) 向上填充:= Tabl 阅读全文
posted @ 2021-12-11 20:05 熬肥妖 阅读(698) 评论(0) 推荐(0)
摘要:数据源: 任意数据源,一列数值,一列非数值(文本) 目标: 对数值列进行求和等计算,对非数值列进行计数等计算 操作过程: 选取待计算的列》【转换】》【统计信息】》选取 M公式: 求和:= List.Sum( 数值列表, 精度) 精度: Precision.Double / 0 / 缺省:双精度 Pr 阅读全文
posted @ 2021-12-09 20:04 熬肥妖 阅读(3335) 评论(0) 推荐(0)
摘要:数据源: 任意五行两列 目标: 计算行数(包括空行) 操作过程: 【转换】》【对行进行计数】 M公式: = Table.RowCount( 表 ) 扩展: 对表中列进行计数:= Table.ColumnCount( 表 ) 对列表进行计数:= List.Count( 列表 ) 对列表进行不包含nul 阅读全文
posted @ 2021-12-08 20:57 熬肥妖 阅读(2916) 评论(0) 推荐(0)
摘要:数据源: 任意五行两列 目标: 将原排列顺序颠倒 操作过程: 【转换】》【反转行】 M公式: = Table.ReverseRows( 表 ) 扩展: 反转列表:= List.Reverse( 列表 ) 反转字符串:= Text.Reverse( "字符串" ) 阅读全文
posted @ 2021-12-08 20:37 熬肥妖 阅读(250) 评论(0) 推荐(0)
摘要:数据源: 任意五行两列 目标: 转置成两行五列 操作过程: 【转换】》【转置】 M公式: = Table.Transpose( 表 ) 阅读全文
posted @ 2021-12-08 20:28 熬肥妖 阅读(342) 评论(0) 推荐(0)
摘要:数据源: 任意超级表 目标: 将超级表中的数据加载到Power Query编辑器中 操作过程: 选取超级表中任意单元格(选取普通表时会自动增加插入超级表的步骤)》数据》来自表格/区域 M公式: = Excel.CurrentWorkbook(){[Name="超级表名"]}[Content] 扩展: 阅读全文
posted @ 2021-12-06 19:55 熬肥妖 阅读(3641) 评论(0) 推荐(0)
摘要:按相同分隔符合并: =Combiner.CombineTextByDelimiter("分隔符", 引号字符) 分隔符 直接输入 特殊符号 制表符:#(tab) 回车:#(cr) 换行:#(lf) 不间断空格:#(00A0) 引号字符 QuoteStyle.Csv/1:(半角)引号不显示 Quote 阅读全文
posted @ 2021-12-04 20:40 熬肥妖 阅读(1485) 评论(0) 推荐(0)
摘要:数据源: 任意表,表中列数超过两列 目标: 其中两列合并为一列 操作过程: 选取两列》【转换】》【合并列】》选取或输入分隔符》输入新列名》【确定】 M公式: = Table.CombineColumns( 表,{"合并列1", "合列列2",...,"合并列n"}, 合并函数,"新列名") 合并函数 阅读全文
posted @ 2021-12-04 20:30 熬肥妖 阅读(1572) 评论(0) 推荐(0)
摘要:数据源: 销量表和部门表 目标: 其中一表的数据追加到另一表后面,相同列直接追加,不同列增加新列 操作过程: 选取销量表》【主页】》【追加查询】/【将查询追加为新查询】》选择要追加的表》【确定】 M公式: = Table.Combine({表1,表2,...,表n}, {"追加列1",...,"追加 阅读全文
posted @ 2021-12-04 19:32 熬肥妖 阅读(1482) 评论(0) 推荐(0)
摘要:数据源: 任意数据源,表中有待展开的列 目标: 展开列 操作过程: 选取持展开的列》【转换】》【展开】》选取展开列》设置标题名前缀》【确定】 单击列标题上的【展开】按钮》【展开】 M公式: 展开表:= Table.ExpandTableColumn( 表, "待展开列", {"展开列1",..., 阅读全文
posted @ 2021-11-27 19:43 熬肥妖 阅读(3964) 评论(0) 推荐(0)
摘要:数据源: “销量表”和“部门表”两个查找表,每个表中都有“姓名”列 目标: 根据“姓名列”将“部门表”中对应的部门合并到“销量表”中。 操作过程: 选取“销量表”》【主页】》【合并查询】/【将查询合并为新查询】》选取“部门表”》选取匹配列》【确定】 展开Table.Expand… M公式: = Ta 阅读全文
posted @ 2021-11-27 19:40 熬肥妖 阅读(3703) 评论(0) 推荐(0)
摘要:数据源: 任意数据源,数据中有错误值 目标: 将错误值替换为0 操作过程: 【转换】》【替换值】》【替换错误】 M公式: = Table.ReplaceErrorValues( 表, {{"列名1", "替换值1"},…,{"列名n","替换值n"}}) 效果:如图 阅读全文
posted @ 2021-11-24 21:18 熬肥妖 阅读(856) 评论(0) 推荐(0)
摘要:数据源: “姓名”“基数”等列 目标: 修改“姓名”列标题为“员工姓名” 操作过程: 【转换】》【重命名】》修改标题名》回车 双击标题名》修改标题名》回车 M公式: = Table.RenameColumns( 表,{{ "原列名1", "新列名1"},...,{ "原列名n", "新列名n"}}, 阅读全文
posted @ 2021-11-18 19:16 熬肥妖 阅读(989) 评论(0) 推荐(1)
摘要:按相同分隔符拆分: =Splitter.SplitTextByDelimiter("拆分符号", 引号字符) 拆分符号 直接输入 特殊符号 制表符:#(tab) 回车:#(cr) 换行:#(lf) 不间断空格:#(00A0) 引号字符 QuoteStyle.Csv/1:(半角)引号不显示 Quote 阅读全文
posted @ 2021-11-11 20:03 熬肥妖 阅读(1966) 评论(0) 推荐(0)
摘要:数据源: “姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列5行数据 目标: 删除掉前面三行(只留下后面两行数据) 操作过程: 【主页】》【删除行】》【删除最前面几行】》输入删除的行数》【确定】 M公式: 删除行:= Table.Skip( 表, 删除的行数或条件) 说 阅读全文
posted @ 2021-08-24 15:44 熬肥妖 阅读(1428) 评论(0) 推荐(0)
摘要:数据源: “姓名”“基数”“个人比例”“个人缴纳”“公司比例”“公司缴纳”“总计”,共7列5行数据 目标: 删除掉后面三行(保留前面两行) 操作过程: 【主页】》【删除行】》【删除最后几行】》输入删除的行数》【确定】 M公式: = Table.RemoveLastN( 表, 删除的行数或条件) 说明 阅读全文
posted @ 2021-08-18 14:57 熬肥妖 阅读(424) 评论(0) 推荐(0)
摘要:数据源: 任意数据源,包括文本和非文本两列 目标: 对数据进行替换操作 操作过程: 【主页】(或【转换】)》【替换值】 M公式: = Table.ReplaceValue( 表, 查找值, 替换值, 替换种类, { "列名1",..., "列名n"}) 替换种类: Replacer.ReplaceV 阅读全文
posted @ 2021-07-11 14:09 熬肥妖 阅读(4956) 评论(0) 推荐(0)