1. 概述
1.1 版本
報表伺服器版本 | 功能變更 |
---|---|
11.0 | - |
1.2 應用場景
希望在只選擇年份的時候,是按照月份進行匯總統計;同時選擇年份和月份的時候,按照當前年月顯示明細資料。
1)只選擇年份時,如下圖所示:
2)同時選擇年份和月份時,如下圖所示:
1.3 實現思路
用年份和月份參數來控制行高。
2. 範例
2.1 建立報表
建立一張普通報表,如下圖所示:
2.2 準備資料
1)建立資料庫查詢 ds1,輸入 SQL 查詢語句:
SELECT 訂購日期,strftime('%Y',訂購日期) as 年,strftime('%m',訂購日期) as 月 ,運貨費,貨主省份
FROM s訂單
where 1=1
${if(len(a)=0,'',"and strftime('%Y',訂購日期) in ('"+a+"')")}
${if(len(b)=0,'',"and strftime('%m',訂購日期) in ('"+b+"')")}
order by 訂購日期
表示從資料庫表 s訂單 中選擇訂購日期、訂購日期的年份、訂購日期的月份、運貨費和貨主省份欄位,並且根據年份和月份的參數進行過濾。
如下圖所示:
2)建立資料庫查詢 ds2,輸入 SQL 查詢語句:
SELECT strftime('%Y',訂購日期) as 年
FROM s訂單
ORDER BY 訂購日期
表示從 s訂單 中選擇訂購日期的年份資料。
如下圖所示:
3)建立資料庫查詢 ds3,輸入 SQL 查詢語句:
SELECT strftime('%m',訂購日期) as 月
FROM s訂單
where 1=1
${if(len(a)=0,'',"and strftime('%Y',訂購日期) in ('"+a+"')")}
order by 訂購日期
表示從資料庫表 s訂單 中選擇訂購日期的月份資料,並且根據年份參數進行過濾。
如下圖所示:
2.3 參數綁定元件
1)點選參數面板的編輯按鈕進入參數面板編輯介面,將參數全部新增至參數面板中。如下圖所示:
2)參數a和參數b分別綁定下拉框元件。以參數a為例,如下圖所示:
3)分別點選右側的「Labela」、「Labelb」,修改標籤元件的元件值。如下圖所示:
4)設定參數a的資料字典為「資料查詢」,資料集為「ds2」,實際值和顯示值都為「年」。如下圖所示:
5)設定參數b的資料字典為「資料查詢」,資料集為「ds3」,實際值和顯示值都為「月」。如下圖所示:
2.4 設計報表
1)B1-D1 儲存格分別輸入正文。
2)B2-D3 儲存格分別拖入「ds1」中的欄位,設計報表樣式。如下圖所示:
注:第二行按照月份進行展示,第三行按照日期進行展示。
4)選中 D2 儲存格,點選右側的的「儲存格元素」,資料設定為「匯總>求和」。如下圖所示:
2.5 新增條件屬性
1)為 B2 儲存格新增條件屬性,屬性為「行高 0公釐」,公式條件類型為「公式」,輸入公式:len($b) != 0,表示當參數b中有值時,該行行高設為 0,即隱藏該行,展示第三行。如下圖所示:
2)為 C2 儲存格新增條件屬性,屬性為「行高 0公釐」,公式條件類型為「公式」,輸入公式:len($b) = 0,表示當參數b中無值時,該行行高設為 0,即隱藏該行,展示第二行。如下圖所示:
2.6 效果預覽
2.6.1 PC端
PC 端效果如 1.2 節所示。
2.6.2 行動端
App 效果如下圖所示:
H5 效果如下圖所示:
3. 下載範本
已完成範本可參見:%FR_HOME%\webroot\WEB-INF\reportlets\doc\SpecialSubject\OrderReport\日期匯總.cpt
點選下載範本:日期匯總.cpt