随笔分类 -  烧脑M

1 2 3 4 5 ··· 8 下一页
Excel有不少异空间,Power Query是其中之一,他最大的功劳就是把一些乱七八糟的数据给收拾服帖了。 相对而言,Power Query的操作部分相当简单,且内容已成书,所以此地专门用来折腾M语言。
摘要:问题:表1和表2,需要根据表2中金额下限的设置反应对应的等级(=LOOKUP(A2,D$2:E$4)的结果)。 let 源1 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 源2 = Excel.CurrentWorkbook(){[Name="表2 阅读全文
posted @ 2025-01-25 19:55 熬肥妖 阅读(64) 评论(0) 推荐(0)
摘要:问题: 由问题+答案生成结果 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 结果 = Table.AddColumn(源, "结果", each Text.Combine(List.Combine(List.Zip({Text.Spli 阅读全文
posted @ 2024-06-22 17:26 熬肥妖 阅读(75) 评论(0) 推荐(0)
摘要:问题:一个单元格内若干个加号,计算其个数 //非M版 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 复制的列 = Table.DuplicateColumn(源, "名称", "名称 - 复制"), 按分隔符拆分列 = Table.Ex 阅读全文
posted @ 2024-05-12 13:50 熬肥妖 阅读(111) 评论(0) 推荐(0)
摘要:问题:左表转成右表 let 源 = Excel.CurrentWorkbook(){[Name="表1_5"]}[Content], 添加公司名列 = Table.TransformColumns(Table.ExpandTableColumn(Table.Group(源, {"件号"}, {"内容 阅读全文
posted @ 2024-05-12 13:42 熬肥妖 阅读(95) 评论(0) 推荐(0)
摘要:问题:如何进行自定义排序 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 排序的行 = Table.Sort(源,each List.PositionOf(Table.ToList(排序依据表),[数据])) in 排序的行 阅读全文
posted @ 2024-01-21 11:43 熬肥妖 阅读(633) 评论(0) 推荐(0)
摘要:问题:增加数量列,来源于表2,与代码相同行,指定有效期内数据的和。 表1: let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 已添加索引 = Table.AddIndexColumn(源, "索引"), 插入起始月份 = Table.Add 阅读全文
posted @ 2024-01-14 16:07 熬肥妖 阅读(173) 评论(0) 推荐(0)
摘要:问题:数据中存在重复的都删除 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 分组的行 = Table.Group(源, {"数据"}, {"计数", each Table.RowCount(_)}), 筛选的行 = Table.Sele 阅读全文
posted @ 2024-01-14 15:53 熬肥妖 阅读(162) 评论(0) 推荐(0)
摘要:let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 添加姓名列 = Table.AddColumn(源, "姓名", each if [列10] = "姓名:" then [列5] & [列11] else null), 姓名列填充 = Ta 阅读全文
posted @ 2023-12-10 15:20 熬肥妖 阅读(83) 评论(0) 推荐(0)
摘要:问题:左表转成右表 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 分组的行 = Table.Group(源, {"机房名称", "网络制式"}, {"合并", each Text.Combine([BBU名称],",")}), 按分隔符 阅读全文
posted @ 2023-12-03 13:27 熬肥妖 阅读(170) 评论(0) 推荐(0)
摘要:let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 添加姓名列 = Table.AddColumn(源, "姓名", each if not Text.Contains([11], ":") or [11] = null then [11] 阅读全文
posted @ 2023-11-26 17:34 熬肥妖 阅读(92) 评论(0) 推荐(0)
摘要:问题1:有明确的分隔符 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 行号 = Table.AddIndexColumn(源, "行号"), 按分号拆分成行 = Table.ExpandListColumn(Table.Transfor 阅读全文
posted @ 2023-11-12 17:37 熬肥妖 阅读(146) 评论(2) 推荐(0)
摘要:问题:如何根据周数计算月 假设:以每周第一天为标准,一周从周一开始计 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 当前年 = Table.AddColumn(源, "23年", each Date.Month(Date.AddDays 阅读全文
posted @ 2023-09-24 09:53 熬肥妖 阅读(303) 评论(0) 推荐(0)
摘要:问题:在PQ的某些操作,如展开,需要引用标题名,但是标题名是固定的,如果数据源中的标题发生变化,如何让其联动变化? 解决:利用Table.ColumnNames函数提取标题名实现联动。 以合并查询为例,当前表(表2)与源表进行合并,合并后展开的列有“日期”“城市/地区”“名称”“类别”“销量”“单价 阅读全文
posted @ 2023-08-07 15:46 熬肥妖 阅读(212) 评论(0) 推荐(0)
摘要:问题:各国所属公司数量从多到少依次排列 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 按不同国家分别处理 = Table.Group(源, {"国家"}, {"公司", each Table.AddIndexColumn(Table.S 阅读全文
posted @ 2023-07-16 18:04 熬肥妖 阅读(57) 评论(0) 推荐(0)
摘要:问题:如下图 let 源 = Excel.CurrentWorkbook(){[Name="表1"]}[Content], 已添加条件列 = Table.AddColumn(源, "自定义", each if [列1] = "A" then [列2] else null), 向下填充 = Table 阅读全文
posted @ 2023-06-17 19:35 熬肥妖 阅读(163) 评论(0) 推荐(0)
摘要:问题:一列数据存在若干横杠,只需要删除第一个文字前的横杠。 思路一: let 源 = Excel.CurrentWorkbook(){[Name="表2"]}[Content], 每个单元格一个字符 = Table.SplitColumn(源, "列1", Splitter.SplitTextByR 阅读全文
posted @ 2023-06-17 19:32 熬肥妖 阅读(214) 评论(0) 推荐(0)
摘要:问题:多个如下图结构的表数据重组 效果如下: 数据整理: let 源 = Excel.Workbook(File.Contents("路径\文件名.xlsx"), null, true), 筛选掉无关工作表 = Table.SelectRows(源, each Text.Contains([Name 阅读全文
posted @ 2023-06-03 21:34 熬肥妖 阅读(230) 评论(0) 推荐(0)
摘要:问题:删除指定内容(丙)行 VS 删除指定行(第3行) 删除指定内容(丙)行 = Table.SelectRows(步骤名, each ([列名] <> "丙")) 删除指定行(第3行) = Table.AlternateRows(步骤名,2,1,Table.RowCount(步骤名)) 阅读全文
posted @ 2023-05-29 19:33 熬肥妖 阅读(2421) 评论(0) 推荐(0)
摘要:问题:两表比对,结果如下A10:E13中的显示,要求,不使用自定义的M函数,全部使用Power Query的内置功能。 let 源 = Table.NestedJoin(表1, {"单号"}, 表2, {"单号"}, "表2", JoinKind.FullOuter), #"展开的“表2”" = T 阅读全文
posted @ 2023-05-13 22:05 熬肥妖 阅读(160) 评论(0) 推荐(0)
摘要:问题:两表合并,合并后物流部门表部分不变,检验批次和检验员提取唯一值,检验日期和时间取小于对应生产日期和时间中的最大值。 let 源 = Table.NestedJoin(物流表, {"物料号"}, 检验表, {"物料号"}, "检验表", JoinKind.LeftOuter), 展开检验表 = 阅读全文
posted @ 2023-05-13 22:01 熬肥妖 阅读(341) 评论(0) 推荐(0)

1 2 3 4 5 ··· 8 下一页