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

  • 相关阅读:
    Cookie:Session,ServletContext
    thrift安装笔记
    Maven笔记
    JVM 几个重要的参数
    dbvisualizer参数设置
    Linux中如何设置java环境变量
    java.net.NoRouteToHostException: No route to host
    新上海滩感想
    也许你的种子永远不会开花,因为他是一棵参天大树
    男子给妻子做了张桌子,他病逝后家人偶然发现...
  • 原文地址:https://www.cnblogs.com/edoo/p/13446675.html
Copyright © 2011-2022 走看看