找回密码
 立即注册

QQ登录

只需一步,快速开始

James.Lv 讲师达人认证 悬赏达人认证 活字格认证 Wyn认证
超级版主   /  发表于:2020-4-27 18:15  /   查看:2598  /  回复:0
本帖最后由 James.Lv 于 2023-1-5 19:09 编辑

如下图:如何在报表表格中实现累计同比计算
image.png80062560.png
当然可以选择通过SQL语法直接得到同比和环比数据进行计算,但是SQL的实现比较复杂,可能比较难理解。
本贴主要介绍通过Wyn Enterprise在表格中实现累计同比计算

image.png943653869.png image.png486026610.png
重点:使用报表的丰富的表达式能力,这块使用的是  LOOKUP  表达式
实现思路,创建两个数据集,一个本期数据,另一个用来作为对比数据,根据累计同比概念获取到累计本期和累计上期的数据,然后进行计算相应的同比增长率

具体实现步骤:
1、创建报表,添加相关数据集(本期数据集和用来对比分析的数据集)。

image.png339013060.png
数据集1:本期数据集,根据销售大区、销售省份、年、月来进行分组统计得到本期数据。
(select year(订购日期) as 年份,month(订购日期) as 月份,销售大区,销售省份,sum(订单金额) as 销售额 from 销售明细  where year(订购日期)=@年份 and month(订购日期)=@月份  group by 年份,月份,销售大区,销售省份 )
数据集2:对比数据集,根据销售大区、销售省份、年来进行分组统计得到累计数据。
(select year(订购日期) as 年份,销售大区,销售省份,sum(订单金额) as 销售额 from 销售明细 where  month(订购日期)<=@月份 group by 年份,销售大区,销售省份)

2、添加表格,绑定本期数据。
在报表设计器页面添加表格,绑定数据集1的数据。

image.png561889953.png
进行预览,查看本期当月数据。
image.png263542479.png

注意:重点来了


3、利用LOOKUP表达式通过数据集2的对比数据计算出本期当月相对应的本年度截至当月累计数据,以及上年度截至当月累计数据。

本例子呢,计算的是两年的本期销售额,本期累计销售额以及上期累计销售额和累计同比增长率。
设计器中添加列,绑定1月-X月累计销售额、去年1月-X月累计销售额、累计同比增长率。

这些列的数据绑定选择为表达式通过LOOKUP函数来计算得到
image.png937520751.png

1月-X月累计销售额:本期累计销售额。(=Lookup(Fields!年份.Value & "|" & Fields!销售大区.Value  & "|" & Fields!销售省份.Value,Fields!年份.Value  & "|" & Fields!销售大区.Value  & "|" & Fields!销售省份.Value, Fields!销售额.Value, "数据集2"))

去年1月-X月累计销售额:上期累计销售额。(=Lookup(Fields!年份.Value-1 & "|" & Fields!销售大区.Value  & "|" & Fields!销售省份.Value,Fields!年份.Value  & "|" & Fields!销售大区.Value  & "|" & Fields!销售省份.Value, Fields!销售额.Value, "数据集2"))

累计同比增长率:累计同比增长率(=(ReportItems!文本框39.Value-ReportItems!文本框36.Value)/ReportItems!文本框36.Value

4、设计完成后进行预览和保存
image.png510619506.png


0 个回复

您需要登录后才可以回帖 登录 | 立即注册
返回顶部