多条件筛选

Power Query 安安羽羽 ⋅ 于 2020-06-12 13:22:02 ⋅ 最后回复由 叮当 2020-10-04 00:04:26 ⋅ 1653 阅读

大神好,

左边的表格是各个工厂的库存类别,我要做个筛选

  1. 如果plant是2611、2618,全部保留
    2.如果plant 是2001,2011,2016,2026,能筛选text 里包含7920和3100
    3.其他的plant ,筛选text 里包含 trading 或者finished或者fin
    我现在的做法是拆成两个查询分别做条件1 和条件2&3的筛选,再合并查询。有更简洁的做法吗
    file

file

链接:https://pan.baidu.com/s/1wY03qtpWq9xXeLcOj1Uk_A
提取码:anz6

回复数量: 5
  • Alex MOD 社区清洁工
    2020-06-12 14:25:30

    无非是andor套一套呗

  • deadzlq 无我,亦无期
    2020-06-13 22:47:21

    参考M函数Table.SelectRows解法

    let
        Source = Excel.CurrentWorkbook(){[Name="表1"]}[Content],
        Result = Table.SelectRows(Source,each List.Contains({"2611","2618"},[Plant]) or 
            List.Contains({"2001","2011","2016","2026"},[Plant]) and Text.Contains([text],"7920") and Text.Contains([text],"3100") or
            Text.Contains(Text.Upper([text]),"TRADING") or Text.Contains(Text.Upper([text]),"FINISHED"))
    in
        Result

    file

  • 安安羽羽
    2020-06-15 13:53:40

    您好,我按您的代码操作了一下,条件2 .如果plant 是2001,2011,2016,2026,能筛选text 里包含7920和3100 没有实现。
    另外条件3 还想增加个筛选
    1.如果plant是2611、2618,全部保留
    2.如果plant 是2001,2011,2016,2026,能筛选text 里包含7920和3100
    3.其他的plant ,筛选text 里包含 trading 或者finished或者fin,且不包含semi
    谢谢您再帮我看下

  • 安安羽羽
    2020-06-16 16:37:47

    哪位大佬帮我看下吗 在线等 谢谢谢谢谢

  • 叮当
    2020-10-04 00:04:26

    学习大佬的写法,补充回复:
    3.的新问题,再增加一个步骤
    = Table.SelectRows(Result, each List.Contains({"2611", "2618"},[Plant]) or not Text.Contains(Text.Upper([text]), "SEMI"))

    2.的问题,把 and 改为 or
    file

暂无评论~~
  • 请务必阅读并严格遵守《社区管理规范与使用说明》
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`, 更多语法请见这里 Markdown 语法
  • 支持表情,使用方法请见 发送表情,可用的 Emoji 见 :metal: :point_right: Emoji 列表 :star: :sparkles:
  • 上传图片, 支持拖拽和剪切板粘贴上传, 格式限制 - jpg, png, gif
  • 不支持上传附件,请尽可能用文字和图片将问题描述清楚,如实在需要上传附件,可上传到 共享网盘 后分享链接
  • 发布框支持本地存储功能,会在内容变更时保存,「提交」按钮点击时清空
  请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
Ctrl+Enter