如何透過動態引數實現週報製作
需求描述
在貨品交易系統裡,使用者不僅要看當天的交易情況,還需要檢視一週 / 一個月 / 一年的情況,也叫做週報 / 月報 / 年報。下圖所示就是其中訂貨資訊週報的效果。
它是如何根據使用者輸入的一個日期查詢出該日期所在周的訂貨資訊表的呢?
實現步驟
1、 引數配置
其中,arg1 是使用者輸入的日期,對應普通引數;
arg2 是基於 arg1 計算得到的一週的起始日期,對應動態引數,表示式為:pdate@w(arg1);
arg2 是基於 arg1 計算得到的一週的結束日期,對應動態引數,表示式為:pdate@we(arg1);
每當有一個輸入日期傳入時,arg2 和 arg3 就會根據自己的表示式進行重新計算,得到對應的一週日期時間和結束時間這兩個值供資料集、報表計算使用。
PS:pdate 函式使用說明見文章末的附錄。
2、 資料集配置
ds1:
SELECT 訂單. 訂購日期, 訂單. 訂單 ID, 訂單. 貨主地區, 訂單. 貨主城市, 訂單. 運貨商 FROM 訂單 WHERE 訂單. 訂購日期 >? AND 訂單. 訂購日期 <?
並新增兩個資料集引數引用:arg2 和 arg3。
ds2:
SELECT 運貨商. 公司名稱, 運貨商. 運貨商 ID FROM 運貨商
3、 報表單元格配置
其中,
A2 單元格表示式為:=string(arg2)+“到”+string(arg3)+“訂貨單”
A4 單元格表示式為:=ds1.select(訂購日期),顯示格式為:yyyy 年 MM 月 dd 日
B4 單元格表示式為:=ds1. 訂單 ID
C4 單元格表示式為:=ds1. 貨主地區
D4 單元格表示式為:=ds1. 貨主城市
E4 單元格表示式為:=ds1. 運貨商,顯示值表示式為 ds2.select(公司名稱, 運貨商 ID==value(),1)
至此,就完成了週報的製作。
總結
週報實現的核心關鍵點在於如何獲取一週的起始時間和結束時間,在這個需求中,可以透過動態引數來計算:pdate() 函式。
附錄:
1、 動態引數和普通引數的區別:
普通引數是直接將輸入的引數值傳給報表進行運算的,而動態引數是一個表示式,報表運算時會先解析該表示式,然後將表示式計算出的結果作為引數值再傳給報表進行運算。
2、 pdate 函式使用說明:
函式說明:
獲得指定日期所在星期 / 月 / 季度的最早的一天和最後的一天
語法:
pdate(dateExp)
引數說明:
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
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69900830/viewspace-2669022/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何製作動態層分組報表
- 報表如何透過引數控制資料許可權
- 教你如何製作動態海報,快來看看吧!
- 如何透過前端表格控制元件實現自動化報表?前端控制元件
- 透過v$parameter 檢視 issys_modifiable 狀態判斷是否動態引數
- 動態引數,靜態引數
- 如何透過css變數實現主題切換?CSS變數
- 攻略:如何製作動態的GIF圖
- 如何製作有趣的GIF動態圖
- web 端展現報表時查詢表單如何實現引數聯動Web
- 如何製作動態圖,GIF怎麼在電腦上製作
- 抖音GIF表情包製作教程 如何製作QQ動態表情包
- 自己怎麼製作GIF表情包 QQ動態圖如何製作
- BIRT 中根據引數實現動態日期分組
- 關於靜態引數和動態引數
- 實際案例:如何實現報表回寫時引數聯動輸入資料
- 怎麼製作gif動態圖 QQ動態表情包怎麼製作
- Mac影片動態桌布如何製作?Dynamic Wallpaper for MacMac
- Oracle動態、靜態引數引數修改規則Oracle
- 動態呼叫帶引數的儲存過程儲存過程
- Ruby Ruport實踐—報表引數實現
- vue-router如何實時地址不變,動態替換路由引數(位址列引數)Vue路由
- 怎麼製作動態列報表(非常規交叉表)
- 動態引數與靜態引數的判斷、修改
- jmeter如何實現引數自增JMeter
- 如何製作GIF表情包,動態GIF怎麼做
- 如何透過AST樹去獲取JS函式引數名ASTJS函式
- 鈑金件如何實現自動引數化設計
- 如何透過代理IP實現Facebook群控?
- Ruby Ruport實踐—報表引數實現(二)
- 動態路由(URL引數)路由
- BIRT 中如何根據引數動態拼接 SQLSQL
- Oracle 靜態引數與動態引數型別介紹Oracle型別
- 如何檢視oracle引數是靜態或者是動態Oracle
- 華為工單寶:助力製造業實現數字化轉型,透過專案管理實現售後服務自動化專案管理
- 作為企業,如何透過資料工具實現數字化轉型?收藏這7點就夠了
- 實現動態大數結構
- 透過alert日誌重建引數檔案