ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1658|回复: 8

[已解决] power query如何快速显示最近三条记录?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2018-11-30 11:33 | 显示全部楼层 |阅读模式
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
本帖最后由 c-coming 于 2018-11-30 13:50 编辑

现在有个供货进度明细表,希望能整理出各个商品的不同供货商的到货时间最新3条记录和供货价格。大伙有思路提供吗?
最新的一条记录,我还能通过分组依据找到日期最大值,然后合并查询处理。这个好像不太适合了。

各个供货商的最新记录-模拟数据.zip

9.16 KB, 下载次数: 21

TA的精华主题

TA的得分主题

发表于 2018-11-30 11:42 | 显示全部楼层
这样子吗?
  1. let
  2.     Source = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  3.     Custom1 = Table.Group(Source,"产品型号",{"n",each Table.FirstN(Table.Sort(_,{{"收货时间",1}}),3)}),
  4.     Custom2 = Table.Combine(Custom1[n])
  5. in
  6.     Custom2
复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-30 13:17 | 显示全部楼层

结果好像差不多了,不过好像70491N少了个供货商的信息,案例应该有18条信息出来的。

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-30 13:19 | 显示全部楼层
本帖最后由 c-coming 于 2018-11-30 13:21 编辑

差不多了,不过信息好像不全

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-30 13:21 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助

差不多了,不过好像少了个供货商的信息。70491N的Letaron不见了。这供货商只有两条明细的,会不会是这个原因?

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-11-30 13:26 | 显示全部楼层
本帖最后由 c-coming 于 2018-11-30 13:27 编辑

好像自己根据楼上的,摸索出来了
  1. let
  2.     Source = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
  3.     Custom1 = Table.Group(Source,{"产品型号", "供应商"},{"n",each Table.FirstN(Table.Sort(_,{{"收货时间",1}}),3)}),
  4.     #"展开的“n”" = Table.ExpandTableColumn(Custom1, "n", {"PBM采购单价(RMB)", "收货时间"}, {"PBM采购单价(RMB)", "收货时间"})
  5. in
  6.     #"展开的“n”"

复制代码
QQ截图20181130132746.png

TA的精华主题

TA的得分主题

发表于 2018-12-3 13:12 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
也可以Table.Group里面添加索引列 不过在之前要先设定供应商 产品型号以及收货时间的顺序

TA的精华主题

TA的得分主题

发表于 2018-12-3 13:17 | 显示全部楼层
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用  · 内置多项VBA编程加强工具       ★ 免费下载 ★      ★使用手册
我的操作如下  这个可能更好理解
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"供应商", type text}, {"订单编号", type text}, {"产品型号", type text}, {"订单数量", Int64.Type}, {"PBM采购单价(RMB)", Int64.Type}, {"PBM采购金额(RMB)", Int64.Type}, {"下单时间", type date}, {"是否使用新外箱(Y/N)", type text}, {"收货数量", Int64.Type}, {"收货时间", type datetime}, {"送货单号", type text}, {"对账单号/发票号", type any}, {"发票金额", Int64.Type}}),
    #"Changed Type1" = Table.TransformColumnTypes(#"Changed Type",{{"收货时间", type datetime}}),
    #"Sorted Rows" = Table.Sort(#"Changed Type1",{{"供应商", Order.Ascending}, {"产品型号", Order.Ascending}, {"收货时间", Order.Descending}}),
Group = Table.Group(#"Sorted Rows",{"供应商","产品型号"},{"T", each Table.AddIndexColumn(_,"Index",0)}),
    #"Expanded T" = Table.ExpandTableColumn(Group, "T", {"PBM采购单价(RMB)", "收货时间", "Index"}, {"PBM采购单价(RMB)", "收货时间", "Index"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded T", each ([Index] = 0 or [Index] = 1 or [Index] = 2)),
    #"Removed Columns" = Table.RemoveColumns(#"Filtered Rows",{"Index"}),
    #"Changed Type2" = Table.TransformColumnTypes(#"Removed Columns",{{"收货时间", type datetime}})
in
    #"Changed Type2"

各个供货商的最新记录-模拟数据.zip

19.67 KB, 下载次数: 16

TA的精华主题

TA的得分主题

 楼主| 发表于 2018-12-3 17:03 | 显示全部楼层
好的,谢谢各位老大的指导
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

最新热点上一条 /1 下一条

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-4-19 06:55 , Processed in 0.046145 second(s), 11 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表