zoukankan      html  css  js  c++  java
  • 报表工具中如何在表格实现累计同比

    如下图:如何在报表工具中表格中实现累计同比计算

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

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

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


    数据集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的数据。


    进行预览,查看本期当月数据。


    注意:重点来了


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

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

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


    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、设计完成后进行预览和保存

  • 相关阅读:
    Notes about "Exploring Expect"
    Reuse Sonar Checkstyle Violation Report for Custom Data Analysis
    Eclipse带参数调试的方法
    MIT Scheme Development on Ubuntu
    Manage Historical Snapshots in Sonarqube
    U盘自动弹出脚本
    hg的常用配置
    Java程序员的推荐阅读书籍
    使用shared memory 计算矩阵乘法 (其实并没有加速多少)
    CUDA 笔记
  • 原文地址:https://www.cnblogs.com/edoo/p/13446675.html
Copyright © 2011-2022 走看看