商友快速報表常用東東

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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章