原数据
要求:
通过重量及分区表来计算相对应的运费。
要计算运费,需要有2个条件,一个是重量所对应的报价表的行,另外一个就是分区所对应的报价表的列。所以要计算运费,首先得计算这2个条件符合。
导入后的基本样式如图,这里我们没有再次处理1&2区这个字段,我可以看下做不做对于后面的公式写法影响大不大,这里先以不处理这列为例。
选择重量列,执行逆透视其他列的操作,得到一个一维的数据表后直接加载到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
解释:
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这个分区给处理,通过重复列然后更改标题即可。
这样表就相对比较干净统一了。
MinX(Filter('G副本', 'G副本'[属性]='表1'[分区] && 'G副本'[G]>='表1'[重量]), RoundUp('G副本'[值],1) )
而且相对代码也简单一点。
如果觉得有帮助,那麻烦您进行转发,让更多的人能够提高自身的工作效率。