1. 概述
1.1 問題描述
若希望透過日期元件控制所選擇的年月,點選查詢自動擴展顯示出所選年月中的每一天的日期,要如何實現呢?
1.2 實現思路
新增一個日期元件用於選擇年月,然後使用 Range函式生成一個日期序列。
2. 操作步驟
2.1 新增年月日期元件
在參數面板中拖入一個日期元件和查詢按鈕,在日期元件屬性中將元件名改為 date,並設定日期格式為 yyyy-MM,勾選傳回日期屬性。
2.2 插入公式
在報表中的 A1 儲存格插入公式:
RANGE(DATE(YEAR($date), MONTH($date), 1), DATE(YEAR($date), MONTH($date), DAY(DATEINMONTH($date, -1))))
或RANGE($date, DATEINMONTH($date,-1))
如下圖所示:
注:常見的日期公式詳情參考常見日期處理函式。
公式說明:
公式 | 說明 |
---|---|
DATEINMONTH($date, -1) | $date 表示當前年月日期元件所選時間 DATEINMONTH($date, -1) 表示傳回元件所選月份最後一天的日期 若選擇2020-10 則傳回10月最後一天即 31 |
RANGE($date, DATEINMONTH($date,-1)) | 傳回從元件所選月份第一天到最後一天的序列 |
2.3 設定擴展及儲存格格式
設定 A1 儲存格的擴展屬性為縱向擴展,並設定儲存格格式以日期型 yyyy-MM-dd 顯示,如下圖所示
2.4 效果查看
2.4.1 PC 端
儲存報表并點擊「分頁預覽」,效果詳情參見本文 1.1 節。
2.4.2 行動端
App 與 HTML5 端效果相同,如下圖所示:
3. 範本下載
點選下載範本:根據選擇年月自動擴展當月每一天日期.cpt