原数据

快递运费如何计算方便快捷(快递公司简单二维报价表的运费计算)(1)

要求:

通过重量及分区表来计算相对应的运费。

快递运费如何计算方便快捷(快递公司简单二维报价表的运费计算)(2)

(一) 分析需求:

要计算运费,需要有2个条件,一个是重量所对应的报价表的行,另外一个就是分区所对应的报价表的列。所以要计算运费,首先得计算这2个条件符合。

(二) 导入报价表数据

导入后的基本样式如图,这里我们没有再次处理1&2区这个字段,我可以看下做不做对于后面的公式写法影响大不大,这里先以不处理这列为例。

快递运费如何计算方便快捷(快递公司简单二维报价表的运费计算)(3)

(三) 执行逆透视

选择重量列,执行逆透视其他列的操作,得到一个一维的数据表后直接加载到Power Pivot中当中。

快递运费如何计算方便快捷(快递公司简单二维报价表的运费计算)(4)

(四) Power Pivot计算列书写

var fq=if ('表1'[分区] in {"1","2"},"1 & 2",Format('表1'[分区],"0"))var fqb=Filter(G,'G'[属性]=fq && 'G'[G]>='表1'[重量])var yf=minx(fqb,ROUNDUP([值],1))return yf

解释:

G表代表的是报价表,表1代表的是我们需要计算清单(重量和分区清单)。

首先得计算分区,1,2都是属于"1 & 2"这个分区的,所以我们得进行判断并转换。

因为在清单数据导入的时候,因为分区都是数字样子,所以可能会产生数字格式和文本格式的差异,所以这里使用Format全部进行格式化。

筛选出我们要计算的表,分区一致,因为是有重量段往上进位的影响,所以我们筛选了2个条件。

最后通过获得最小重量段的价格来反应实际的运费。

(五) Power Pivot度量值书写

SumX('表1',var fq=if ('表1'[分区] in {"1","2"},"1 & 2",FORMAT('表1'[分区],"0"))var fqb=filter(G,'G'[属性]=fq && 'G'[G]>='表1'[重量])var yf=minx(fqb,ROUNDUP([值],1))return yf)

只需要在外面嵌套一层SumX即可。

我们再回过头来讲数据清洗,把1&2这个分区给处理,通过重复列然后更改标题即可。

快递运费如何计算方便快捷(快递公司简单二维报价表的运费计算)(5)

这样表就相对比较干净统一了。

MinX(Filter('G副本', 'G副本'[属性]='表1'[分区] && 'G副本'[G]>='表1'[重量]), RoundUp('G副本'[值],1) )

而且相对代码也简单一点。

如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。

,