随笔分类 -  烧脑M

Excel有不少异空间,Power Query是其中之一,他最大的功劳就是把一些乱七八糟的数据给收拾服帖了。 相对而言,Power Query的操作部分相当简单,且内容已成书,所以此地专门用来折腾M语言。
摘要:问题:根据条件将矩阵中的唯一值合并到一个单元格内 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 逆透视的其他列 = Table.UnpivotOtherColumns(源, {"条件"}, "属性", "值"), 删除的列 = Tabl 阅读全文
posted @ 2022-12-17 17:58 熬肥妖 阅读(136) 评论(0) 推荐(0)
摘要:问题:保留矩阵中的唯一值,再合并到一起 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 逆透视的列 = Table.UnpivotOtherColumns(源, {}, "属性", "值"), 删除的列 = Table.RemoveCol 阅读全文
posted @ 2022-12-17 17:53 熬肥妖 阅读(121) 评论(0) 推荐(0)
摘要:问题:为数据添加按类别小计的计数和求和列 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 添加分类计数列 = Table.AddColumn(源, "分类计数", each Table.RowCount(Table.SelectRows( 阅读全文
posted @ 2022-11-19 18:06 熬肥妖 阅读(360) 评论(1) 推荐(0)
摘要:问题:为成员分组,每组4人(重复),每人一个编号(循环) let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 重复 = Table.TransformColumns(Table.AddIndexColumn(源, "重复", 4), {"重复 阅读全文
posted @ 2022-11-19 16:48 熬肥妖 阅读(407) 评论(0) 推荐(0)
摘要:问题:各产品有不同批次,为每个产品按批次计算累计销量的列。 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 已添加索引 = Table.AddIndexColumn(源, "索引"), 插入的减法 = Table.AddColumn(已添 阅读全文
posted @ 2022-11-05 18:09 熬肥妖 阅读(231) 评论(0) 推荐(0)
摘要:问题:矩阵转一列 先列后行: let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 转换 = Table.FromList(List.Combine(Table.ToColumns(源))), 重命名的列 = Table.RenameColum 阅读全文
posted @ 2022-11-05 17:51 熬肥妖 阅读(194) 评论(0) 推荐(0)
摘要:问题:提取指定文件夹(C盘下的数据源文件夹)里所有文件名 let 源 = Folder.Files("C:\数据源"), 筛选的行 = Table.SelectRows(源, each [Attributes]?[Hidden]? <> true), 删除的其他列 = Table.SelectCol 阅读全文
posted @ 2022-10-29 18:25 熬肥妖 阅读(376) 评论(0) 推荐(0)
摘要:问题如下图: let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 逆透视的其他列 = Table.UnpivotOtherColumns(源, {"标题1"}, "属性", "值"), 分组的行 = Table.Group(逆透视的其他列, 阅读全文
posted @ 2022-10-22 18:45 熬肥妖 阅读(273) 评论(0) 推荐(0)
摘要:问题: 以A3为例,茶几点30%,即2099.7元; 沙发占70%,即4899.3元 以此类推 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 按分隔符拆分列 = Table.ExpandListColumn(Table.Transfor 阅读全文
posted @ 2022-10-15 18:49 熬肥妖 阅读(314) 评论(0) 推荐(0)
摘要:问题:左表为“序号与企业名称表”,右表为“百分比表”,根据F列的百分比,扩展E列员工,效果如C列。 两个表均加载到PQ管理器内,以下M在“百分比表”中。 let 源 = Excel.CurrentWorkbook(){[Name="百分比表"]}[Content], 被乘的列 = Table.Tra 阅读全文
posted @ 2022-10-08 22:39 熬肥妖 阅读(110) 评论(0) 推荐(0)
摘要:问题:根据姓名和日期,横向排列考勤时间。 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 分组的行 = Table.Group(源, {"姓名", "日期"}, {"时间", each List.Sort([时间])}), 提取值 = T 阅读全文
posted @ 2022-10-08 22:28 熬肥妖 阅读(374) 评论(0) 推荐(0)
摘要:问题:将“数量”列中的重复内容清除 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 分组的行 = Table.Group(源, {"名称"}, {{"内容", each Table.AddIndexColumn(_,"索引")}}), 展 阅读全文
posted @ 2022-10-02 17:36 熬肥妖 阅读(415) 评论(0) 推荐(0)
摘要:问题:同一文件夹内的多个Csv文件,需要合并到一个工作表里。 示例工作簿在C盘下的数据源文件夹中,每列标题分别为:标题1、标题2、标题3 let 源 = Folder.Files("C:\数据源"), 筛选文件类型 = Table.SelectRows(源, each ([Extension] = 阅读全文
posted @ 2022-10-02 17:26 熬肥妖 阅读(760) 评论(0) 推荐(0)
摘要:问题:在新的一列里显示某列根据指定条件的分类计数/求和…… let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 分组的行 = Table.Group(源, {"类别"}, {{"内容", each _}, {"计数", each Table. 阅读全文
posted @ 2022-09-24 19:43 熬肥妖 阅读(433) 评论(0) 推荐(0)
摘要:问题:多列转一列,如下图,左表转成右表 let 源 = Excel.CurrentWorkbook(){[Name="表2"]}[Content], 拆分列 = Table.ToColumns(源), 列分组 = List.Split(拆分列, 2), 列合并 = List.Transform(列分 阅读全文
posted @ 2022-08-22 17:09 熬肥妖 阅读(460) 评论(0) 推荐(0)
摘要:问题:按换行符拆分,左表拆分成右表 思路1: let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 已添加索引 = Table.AddIndexColumn(源, "索引", 0, 1, Int64.Type), 按分隔符拆分列 = Table 阅读全文
posted @ 2022-08-20 20:59 熬肥妖 阅读(713) 评论(0) 推荐(0)
摘要:问题:同一文件夹内的多个工作簿,每个工作簿内工作表数量不定,需要合并到一个工作表里。 注意:每个工作表标题均在第一行 示例工作簿在C盘下的数据源文件夹中,每列标题分别为:日期、城市/地区、品名、类别、销量、单价、销售额 let 源 = Folder.Files("C:\数据源"), 重命名的列 = 阅读全文
posted @ 2022-08-16 18:30 熬肥妖 阅读(637) 评论(0) 推荐(0)
摘要:问题1:添加累计数量列 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 已添加索引 = Table.AddIndexColumn(源, "索引", 1, 1), 累计求和 = Table.AddColumn(已添加索引, "累计数量", 阅读全文
posted @ 2022-08-13 17:48 熬肥妖 阅读(773) 评论(0) 推荐(0)
摘要:问题:为数据添加小计行 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 分组的行 = Table.Group(源, {"标题1"}, {"数据", each Table.InsertRows(_,Table.RowCount(_),{Re 阅读全文
posted @ 2022-08-13 17:31 熬肥妖 阅读(903) 评论(0) 推荐(0)
摘要:问题:为数据添加汇总行 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 汇总 = Table.InsertRows(源,7,{Record.FromList(List.Transform({0..3},(x)=> List.Transfo 阅读全文
posted @ 2022-08-13 17:24 熬肥妖 阅读(568) 评论(0) 推荐(0)