自从小黄书有幸被拉登老师选为其训练营的教材,也让我有机会接触到更多营里小伙伴们的实际工作案例。
下面这个就是其中一个工作案例——有哪些产品(品种)存放在了不标准的仓位上。
这个问题本身并不复杂,但是,这个案例却有一些很值得说一说的内容。
首先,是一个涉及到问题简化(或者说优化)的思路——把非相关的(干扰)数据去掉。
因为,在这个问题上,我们只要识别出不标准的仓位,因此,标准的仓位信息其实我们用不着,因此,在进行处理之前,可以直接先通过筛选过滤掉,这样不仅能使得后续的处理更加简单,还能减少数据的处理量(判断范围),从而提升处理效率:
将标准的数据去除后,我们只需要判断某个品种所存放的仓位是否包含有非标准的仓位(参数表中的仓位)即可,因此,直接写公式得到结果:
代码语言:javascript复制= if List.AnyTrue(
List.Transform(
参数[仓位],
(x)=>Text.Contains([仓位],x)
)
)
then "不标准"
else ""
关于List.Transform,是经常用来做批量处理的函数,前面的文章《用Power Query轻松批量抓取A股数据,及列表转换函数(List.Transform)的使用》里有详细讲解。
而List.AnyTrue函数,功能如其名称,只要一个List里有任何一个值为True,结果即为True,是判断多条件“或”的常用函数——请记住它!