环比

教学视频

目标

要实现的效果如下图所示:

image-20211108151630218

环比公式:(本期/上期)x 100%

环比增长率公式:((本期 - 上期)/上期)x 100%

了解这两个公式后,我们来看看如何实现上面的例子。

实现

创建一个加载trade表数据的数据集,如下图:

image-20211108152006381

设计一个两行五列的报表,如下图:

image-20211108152051548

D2表达式为:&B2 > 1 ? C2/C2[B2:-1] : 0

这是一个三元表达式,首先根据当前表达式所在位置判断B2单元格的展开序号,如果大于1,那么就取当前单元格对应位置的C2单元格值,然后除以根据当前单元格位置取到的展开后B2单元格的上一格下对应的C2单元格值,否则就返回0。

E2单元格表达式为:&B2 > 1 ? (C2 - C2[B2:-1])/C2[B2:-1] : 0

同样也是一个三元表达式,首先根据当前表达式所在位置判断B2单元格的展开序号,如果大于1,那么就取当前单元格对应位置的C2单元格值减去根据当前单元格位置取到的展开后B2单元格的上一格下对应的C2单元格值,然后除以根据当前单元格位置取到的展开后B2单元格的上一格下对应的C2单元格值,否则就返回0。

保存后预览,可以看到如下图所示效果:

image-20211108152603859

可以看到结果已经计算出来,但还需要对计算后的数字进行百分比的格式化。

选中D2和E2单元格,在属性面板渲染页签,格式化类型修改为数字,具体格式化样式修改为#.##%,如下图:

image-20211108152850696

保存预览就可以得到我们想要的效果。

E2单元格使用的表达式为&B2 > 1 ? (C2 - C2[B2:-1])/C2[B2:-1] : 0,实际使用时可以修改成下面这样一段多行脚本:

if(&B2>1){
    var prev=C2[B2:-1];
    return (C2 - prev)/prev;
}else{
    return 0;
}

因为C2[B2:-1]会在两个地方用到,修改成上面的多行脚本后,用一个变量来接收C2[B2:-1]表达式计算后的值,这样C2[B2:-1]表达式只会计算一次,所以理论上来说性能更好一些。

results matching ""

    No results matching ""