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

浙公网安备 33010602011771号