ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

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

[求助] 如何使用M语言筛选表格,条件是某个list里的所有元素?

[复制链接]

TA的精华主题

TA的得分主题

发表于 2019-3-4 16:08 | 显示全部楼层 |阅读模式
大师们好,
我想使用PQ筛选一个链接表格中的某一列,条件是某一个list的所有元素。而这个list来自于这个表格中某一个sheet中的一个表格区域的某一列。如图。
我想使用途中Group列的所欲单元格作为条件,以or的逻辑筛选我的一个powerquery表格中某一列。
PW部分程序如下,我现在只能做到筛选一个单元格。其中红色部分为筛选内容。
谢谢了。

let
    源 = PRICING,
    筛选的行1 = Table.SelectRows(源, each true),
    删除的列2 = Table.RemoveColumns(筛选的行1,{"PROPOSER", "APPROVAL"}),
    插入的合并列 = Table.AddColumn(删除的列2, "信息", each Text.Combine({[COMPANY], [#"CUST."],[UNIT], [PRICE TERM], [CURRENCY], Text.From([STATUS], "zh-CN"), [#"FC-LCL"]}, ";"), type text),
    grp = Excel.CurrentWorkbook(){[Name="SHLIST"]}[Content]{0}[GROUP],
    cust = Excel.CurrentWorkbook(){[Name="SHLIST"]}[Content]{0}[#"CUST."],
    fclcl = Excel.CurrentWorkbook(){[Name="SHLIST"]}[Content]{0}[#"FC-LCL"],
    筛GROUP =  if grp <> null then Table.SelectRows(插入的合并列, each Text.Contains([GROUP], grp) ) else Table.SelectRows(插入的合并列, each Text.Contains([GROUP], "") ) ,
    筛CUST =  if cust <> null then Table.SelectRows(筛GROUP, each Text.Contains([#"CUST."], cust) ) else Table.SelectRows(筛GROUP, each Text.Contains([#"CUST."], "") ) ,
    筛FCLCL =  if fclcl <> null then Table.SelectRows(筛CUST , each Text.Contains([#"FC-LCL"], fclcl) ) else Table.SelectRows(筛CUST, each Text.Contains([#"FC-LCL"], "") ) ,
    删除的列3 = Table.RemoveColumns(筛FCLCL,{"COMPANY", "CUST.", "UNIT", "PRICE TERM", "CURRENCY", "STATUS", "FC-LCL"}),
    排序的行 = Table.Sort(删除的列3,{{"CAT NO", Order.Ascending}}),
    合并的列 = Table.CombineColumns(Table.TransformColumnTypes(排序的行, {{"DATE", type text}}, "zh-CN"),{"信息", "DATE"},Combiner.CombineTextByDelimiter(":", QuoteStyle.None),"已合并"),
    删除的列 = Table.RemoveColumns(合并的列,{"CUST. NO."}),
    已透视列 = Table.Pivot(删除的列, List.Distinct(删除的列[已合并]), "已合并", "UNIT PRICE")
in
    已透视列

1.JPG

TA的精华主题

TA的得分主题

 楼主| 发表于 2019-3-4 16:19 | 显示全部楼层
顶,请大家帮忙看看,着急。

TA的精华主题

TA的得分主题

发表于 2019-3-4 23:25 | 显示全部楼层

TA的精华主题

TA的得分主题

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

谢谢提醒,我发个文件
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

关闭

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

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

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

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

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

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

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