前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >PQ-综合实战:根据关键词匹配查找对应内容

PQ-综合实战:根据关键词匹配查找对应内容

作者头像
大海Power
发布2021-08-30 09:41:11
发布2021-08-30 09:41:11
1.8K0
举报

今天的文章有点儿长,步骤有点儿多,但这个综合操作很值得练好,以后扩展应用的空间很大。

小勤:大海,公司现在要对产品根据关键词进行分类,有位大神写了个公式,不是很复杂,但基本效果实现了:

大海:嗯。这个公式写得很巧妙啊,将lookup函数用得炉火纯青!

小勤:但这个公式有个问题,关键词分类表增加内容后,得去再调整公式,因为公式的引用范围只能是对全部分类表的绝对引用,不能引用空行进行预留扩展。

大海:这倒是。因为预留空值就都得不到正确结果了。

小勤:那怎么办呢?

大海:这种问题用Power Query比较合适,操作也不复杂,关键是能随数据一键刷新。

Step-1:以仅创建链接的方式获取关键词表数据(最后不需要上载该部分数据到工作表中)

Step-2:在关键词查询里添加自定义列(用于与待分类表做连接合并)

Step-3:获取待分类表中的数据

Step-4:对待分类表添加自定义列(用于与关键词查询做连接合并)

Step-5:用前面步骤添加的自定义字段进行合并查询

Step-6:展开合并表

展开后,关键词表的所有行都会重复到待分类表中的所有行中。

Step-7:添加自定义列,判断待分类内容是否包含关键词

输入公式:Text.Contains([物料名称],[NewColumn.关键词])

即用于判断当前行的“物料名称”中的内容是否包含“NewColumn.关键词”中的内容。

函数说明:

Text.Contains(文本参数1,文本参数2)

l 参数1:待判断内容,必须是文本格式的内容

l 参数2:是否被包含的内容,必须是文本格式的内容

即判断文本参数1是否包含文本参数2,如果包含,返回是(True),如果不包含,返回否(False)。

如:Text.Contains(“Excel到PowerBI”,”P”),返回True。

Step-8:先对物料名称升序排序,再对判断列降序排序,为删除重复项(剔除不包含关键字)做准备

通过该步骤,将相同物料名称包含所有关键词的情况排在一起,并且使得包含关键词的情况排在前面,而不包含的情况往后排。

Step-9:添加索引列,避免后续删重复行时可能出现的错位

Step-10:基于物料名称列删除重复项,即对每个物料仅保留第一行,如果该物料包含关键词,则保留了关键词行,如果没有包含关键词,也将保留一行,为后续添加“其他”类别做准备。

Step-11:添加自定义列,根据是否包含关键词的情况读取关键词信息或标识为“其他”类别 公式:if [包含关键词] then [NewColumn.分类] else "其他"

Step-12:选择要保留的列(删除不需要的列)

Step-13:数据加载

小勤:这个步骤挺多的啊,要两表合并再展开、然后再判断删重复……

大海:对的。因为现在没有学自定义的函数部分,而且又要处理不包含关键词的情况,所以操作步骤比较多,不过这个方法的适用性其实是很强的,比如当出现一项内容中包含多个关键词的情况时,通过这种方法灵活处理也能实现。

小勤:啊?好像我刚好有个例子就是包含多个关键词的,用公式真是搞不定,下次我回头找出来你帮忙解决一下吧。

大海:好的,到时我们一起看一下。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-09-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Excel到PowerBI 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 小勤:大海,公司现在要对产品根据关键词进行分类,有位大神写了个公式,不是很复杂,但基本效果实现了:
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档