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

  • 相关阅读:
    模板库
    LCT小结
    BZOJ1502: [NOI2005]月下柠檬树
    技术资料分享
    ORM介紹及ORM優點、缺點
    依賴注入入門——Unity(二)
    面向切面編程入門(一)
    依賴注入入門——Unity(一)
    WCF、.Net Remoting、Web Service概念及区别
    深入设计模式(四)——建造者模式
  • 原文地址:https://www.cnblogs.com/edoo/p/13446675.html
Copyright © 2011-2022 走看看