[已解决] 使用Power query多条件匹配数据

  [复制链接]
查看129690 | 回复130 | 2020-9-16 05:41:11 | 显示全部楼层 |阅读模式
各位老师好!
关于Power Query,多条件匹配数据,请教一下:
我们公司有好几个仓库,每个仓库发给客户的货物,对客户都有补贴,补贴的标准,价格梯次很多,不通的仓库、客户、单次运输吨位、运输方式不同,补贴价格就不一样,我们有两个表,一个是运输记录表,一个是补贴单价表,需要使用PQ将对应的补贴价格匹配到运输记录表里面,生成一个匹配表,基础数据和匹配结果见附件。
烦请老师解答。

9877012119041.rar (20.23 KB, 下载次数: 0)
回复

使用道具 举报

QQ小敏 | 2020-9-16 05:48:12 | 显示全部楼层
合并查询后  一个if 判断
9877012119042.rar (36.8 KB, 下载次数: 0)
回复

使用道具 举报

冷无情 | 2020-9-16 05:52:12 | 显示全部楼层
  1. let

  2.   pricelist = [a=Table.PromoteHeaders(Excel.Workbook(File.Contents("你的文件位置\补贴单价表.xlsx"), null, true)[Data]{0}),

  3.      b=Table.Group(a,List.FirstN(Table.ColumnNames(a),3),{"n",each Table.FromColumns({List.Transform([单次运输吨位区间],each Number.From(Text.Split(Text.Remove(_,"吨"),"-"){0})),[#"补贴单价(元/吨)"]})})

  4.       ][b],

  5.   Source = Table.PromoteHeaders(Excel.Workbook(File.Contents("你的文件位置\运输明细表.xlsx"), null, true)[Data]{0}),

  6.   Custom1 = Table.NestedJoin(Source,List.Range(Table.ColumnNames(Source),1,3),pricelist,List.FirstN(Table.ColumnNames(pricelist),3),"补贴单价",JoinKind.LeftOuter),

  7.   Custom2 = Table.ReplaceValue(Custom1,each [补贴单价],each [#"货物重量-吨位"],(x,y,z)=>List.Last(Table.SelectRows(y[n]{0},each [Column1]<=z)[Column2]),{"补贴单价"}),

  8.   Custom3 = Table.AddColumn(Custom2,"补贴总价",each [#"货物重量-吨位"]*[补贴单价]),

  9.   #"Changed Type" = Table.TransformColumnTypes(Custom3,{{"装货日期", type date}})

  10. in

  11.   #"Changed Type"
复制代码
回复

使用道具 举报

hanny | 2021-4-27 18:57:19 | 显示全部楼层
呵呵,低调,低调!
回复

使用道具 举报

VBS | 2021-6-10 13:22:54 | 显示全部楼层
我也来支持一下,这里的老师和其他机构不一样,其他就是让付费。
回复

使用道具 举报

veronica | 2021-6-14 09:46:17 | 显示全部楼层
介是神马?!!
回复

使用道具 举报

NSX | 2021-6-25 12:03:51 | 显示全部楼层
确实不错,顶先
回复

使用道具 举报

天天压马路 | 2021-7-18 20:04:10 | 显示全部楼层
这个不错,学习了
回复

使用道具 举报

lidazhang | 2021-9-3 14:19:47 | 显示全部楼层
这套视频很不错!!!!
回复

使用道具 举报

MuscleMax | 2021-10-26 16:37:59 来自手机 | 显示全部楼层
LZ帖子不给力,勉强给回复下吧
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则