如何根据性别身高体重判定衣服的尺码?
今天在QQ群里看到一个问题,有男士、女士的尺码表,要根据顾客的具体身高、体重、性别来匹配服装的尺码:
我们动手试试看
对于这种数据处理Power Query应该是很方便的,我们先整理尺码表格:
一共有四个表格,男士、女士上衣;男士、女士长裤
我们要统一一下格式:
原表导入到Power Query,然后我们逆透视,添加列统一修改列名称:
四个表格都做成这个样子,然后我们追加为一个新查询:
把四个表的数据追加到一张表中,这个尺码表就是我们要查询的数据源。
我们把身高体重都变成数字,方便后面的运算与查找。
然后就是如何匹配的问题,其实相当于是多个条件同时满足的一种查询,问题是尺码表的身高、体重都是5为间隔的,而顾客的实际身高体重,不可能刚刚好都是185,120这样的数值,所以我们需要把顾客的实际身高体重做一个判定,如果是在Excel中大家可以用MROUND函数,直接计算,Power Query中没有这样的函数,我们要自己创建一个函数:
大家有没有发现一个问题,为什么身高都是加减2这样的范围,其实体重也是一样的:举个例子:
身高182,就是180 2
身高183,就是185-2
这样大家就明白了,每一个整数的身高值都会落在一个尺码表的范围内。
我们用182/5的余数来判断应该向上圆整还是向下圆整,余数大于2就向上圆整,否则向下圆整:
= (Number.IntegerDivide(183,5) (if Number.Mod(183,5)