1.快速报表支持的界面条件
paramFormRQ.aspx,只能选择日期参数的界面;
paramFormNY.aspx,可选择日、月、年,
SelFDSPFL.aspx,可选择日、月、年、分店、分类

其中  前2项随选择日,月 自动获得, 若有分类及分店条件则需要手工写第三项.
2.定义菜单时 [程序名]支持下面3种
:RQ    :SPFL   :FDBH    其中:RQ是必有项目

3.将日期转换为年月的方法:

declare  @NIANYUE INT
select   @NIANYUE=YEARMONTH FROM JZQJ  WHERE :RQ>=KSRQ  AND :RQ<=JSRQ --记帐年月
declare  @KSRQ  DATETIME, @JSRQ  DATETIME
SELECT   @KSRQ=KSRQ,@JSRQ=JSRQ FROM JZQJ WHERE  YEARMONTH=@NIANYUE
declare  @NIAN  int, @YUE  int
select   @NIAN =convert(int,substring(convert(char(10),@NIANYUE),1,4))
select   @YUE =convert(int,substring(convert(char(10),@NIANYUE),5,6))
declare  @NIAN_KSRQ  DATETIME,@NIAN_JSRQ  DATETIME
SELECT   @NIAN_KSRQ=MIN(KSRQ),@NIAN_JSRQ=MAX(JSRQ)
FROM JZQJ WHERE  YEARMONTH>=@NIANYUE*100+1 AND YEARMONTH<=@NIANYUE+@YUE
select @NIANYUE=convert(int,datepart(yy,:RQ)*100)+convert(int,datepart(mm,:RQ)) --自然年月
4.其他参数转换方法
declare  @DEPTID  char(10)
SELECT @DEPTID =DEPTID+'%'  FROM FD WHERE FDBH=:FDBH
5.SPZHSJ_XM.YWLX
10:不含税销售成本  14:含税销售成本  30:销售金额  22:不含税销售金额  28:毛利
6. 数据源中的临时表必须开始 最后各删一次
if (select object_id('#DU_1')) is not null drop table #DU_1
...
DROP TABLE #DU_1
注--用单引号' 若用"则错误
7.周转天数,周转率的计算
周转天数=15* (期初存货+期末存货)]/ 产品销售成本
存货周转率=(商品销售成本/平均存货)*100%
     平均存货=(期初存货+期末存货)/2


公式:  存货周转天数=360/存货周转率
          =[360*(期初存货+期末存货)/2]/ 产品销售成本
期中库存为日库存*期间天数,成本为期间成本合计值
若看月数据, 则把360改成30即可.
存货周转天数=30/存货周转率
       =[30*(期初存货+期末存货)/2]/ 产品销售成本
8.字符函数的使用
sum((1-abs(sign(B.YWLX-24)))*B.JE)
9.防止分母为0的情况
UPDATE #DU1  SET CY_SY=XSJE-XSJE_SY,
BL_SY= (CASE XSJE_SY  WHEN 0 THEN 1  ELSE (XSJE-XSJE_SY)/XSJE_SY END )
10.系统不用自然月 而是25号做分界,相关日期函数不能直接使用只能变更
改动类似如下:
--and DATEPART(MONTH,DATE)<=@YUE
--AND DATEPART(YEAR,DATE)=@NIAN
select @NIANYUE=YEARMONTH FROM JZQJ  WHERE :RQ>=KSRQ  AND :RQ<=JSRQ
....
AND YEARMONTH<=@NIANYUE
AND YEARMONTH>=@NIAN*100+1
--select @NY=datepart(yy,:RQ)*100+datepart(mm,:RQ)
SELECT @NY=YEARMONTH FROM JZQJ  WHERE :RQ>=KSRQ  AND :RQ<=JSRQ