您好,登錄后才能下訂單哦!
在貨品交易系統(tǒng)里,用戶不僅要看當天的交易情況,還需要查看一周 / 一個月 / 一年的情況,也叫做周報 / 月報 / 年報。下圖所示就是其中訂貨信息周報的效果。
它是如何根據(jù)用戶輸入的一個日期查詢出該日期所在周的訂貨信息表的呢?
其中,arg1 是用戶輸入的日期,對應普通參數(shù);
arg2 是基于 arg1 計算得到的一周的起始日期,對應動態(tài)參數(shù),表達式為:pdate@w(arg1);
arg2 是基于 arg1 計算得到的一周的結束日期,對應動態(tài)參數(shù),表達式為:pdate@we(arg1);
每當有一個輸入日期傳入時,arg2 和 arg3 就會根據(jù)自己的表達式進行重新計算,得到對應的一周日期時間和結束時間這兩個值供數(shù)據(jù)集、報表計算使用。
PS:pdate 函數(shù)使用說明見文章末的附錄。
ds1:
SELECT 訂單. 訂購日期, 訂單. 訂單 ID, 訂單. 貨主地區(qū), 訂單. 貨主城市, 訂單. 運貨商 FROM 訂單 WHERE 訂單. 訂購日期 >? AND 訂單. 訂購日期 <?
并添加兩個數(shù)據(jù)集參數(shù)引用:arg2 和 arg3。
ds2:
SELECT 運貨商. 公司名稱, 運貨商. 運貨商 ID FROM 運貨商
其中,
A2 單元格表達式為:=string(arg2)+“到”+string(arg3)+“訂貨單”
A4 單元格表達式為:=ds1.select(訂購日期),顯示格式為:yyyy 年 MM 月 dd 日
B4 單元格表達式為:=ds1. 訂單 ID
C4 單元格表達式為:=ds1. 貨主地區(qū)
D4 單元格表達式為:=ds1. 貨主城市
E4 單元格表達式為:=ds1. 運貨商,顯示值表達式為 ds2.select(公司名稱, 運貨商 ID==value(),1)
至此,就完成了周報的制作。
周報實現(xiàn)的核心關鍵點在于如何獲取一周的起始時間和結束時間,在這個需求中,可以通過動態(tài)參數(shù)來計算:pdate() 函數(shù)。
1、 動態(tài)參數(shù)和普通參數(shù)的區(qū)別:
普通參數(shù)是直接將輸入的參數(shù)值傳給報表進行運算的,而動態(tài)參數(shù)是一個表達式,報表運算時會先解析該表達式,然后將表達式計算出的結果作為參數(shù)值再傳給報表進行運算。
2、 pdate 函數(shù)使用說明:
函數(shù)說明:
獲得指定日期所在星期 / 月 / 季度的最早的一天和最后的一天
語法:
pdate(dateExp)
參數(shù)說明:
dateExp 返回值為日期或標準日期格式的表達式
返回值:
日期時間型
選項:
@w 獲得指定日期所在星期的星期天
@we 獲得指定日期所在星期的星期六
@m 取得指定日期所在月的月首
@me 取得指定日期所在月的月末
@q 取得指定日期所在季度的首日
@qe 取得指定日期所在季度的末日
缺省為獲得指定日期所在星期的星期天
@y 獲取指定日期所在年的第一天
示例:
例 1:pdate@w(datetime(“19800227”,“yyyyMMdd”)) 1980-02-24
例 2:pdate@we (datetime(“19800227”,“yyyyMMdd”)) 1980-03-01
詳情鏈接: http://c.raqsoft.com.cn/article/1575870748275?r=gxy
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。