【发布时间】:2020-06-16 01:48:08
【问题描述】:
我想过滤多个文本列([Name]、[GenericName]、或 [SimpleGenericName])是否包含列表中的子字符串。文本也是大小写混合的,所以我也需要在那里做一个 Text.Lower([Column]) 。
我试过公式:
= Table.SelectRows(#"Sorted Rows", each List.Contains(MED_NAME_LIST, Text.Lower([Name])))
但是,这不起作用,因为 [名称] 列与列表中的那些项目不完全匹配(例如,如果列表包含“甲基强的松龙”,它不会选择“甲基强的松龙标签”)
一个工作过滤器的例子,列出了所有的列表:
= Table.SelectRows(#"Sorted Rows", each Text.Contains(Text.Lower([Name]), "methylprednisolone") or Text.Contains(Text.Lower([Name]), "hydroxychloroquine") or Text.Contains(Text.Lower([Name]), "remdesivir") or Text.Contains(Text.Lower([GenericName]), "methylprednisolone") or Text.Contains(Text.Lower([GenericName]), "hydroxychloroquine") or Text.Contains([GenericName], "remdesivir") or Text.Contains(Text.Lower([SimpleGenericName]), "methylprednisolone") or Text.Contains(Text.Lower([SimpleGenericName]), "hydroxychloroquine") or Text.Contains([SimpleGenericName], "remdesivir"))
我想让这个更简洁,而不是把所有这些都写出来,因为我还希望能够从引用的表中扩展列表以使其成为动态搜索。
提前谢谢你
【问题讨论】:
标签: list filter substring powerquery