1. 概述
1.1 版本
報表伺服器版本 |
---|
11.0 |
1.2 應用場景
查詢起止日期後,有時需要自動傳回所有中間日期。
一般情況下,使用者可以使用RANGE函式,將日期轉換為數字,然後進行補全。但當跨月查詢時,日期需要增加到99才會進位,此方法就會出現偏差。
本文使用RANGE函式,疊加DATEDIF函式,優化傳回日期值的方案。
2. 範例
本文以縱向擴展作為範例,橫向擴展可在範本中切換sheet查看。
2.1 設計參數面板
1)建立一張普通報表。
2)新增日期元件「date_日期_起」、「date_日期_止」和查詢元件。
2.2 設計報表
1)報表頁面設計如下圖所示:
2)A2儲存格輸入公式:RANGE(0,DATEDIF(date_日期_起,IF(LEN(date_日期_止) > 0,date_日期_止,date_日期_起),"D"))
透過DATEDIF函式計算起止日期間隔天數,並且從0至間隔天數透過RANGE函式補全天數間隔。
其中止日期增加的判斷是因為允許只查詢起日期單個日期,如果止日期為空則DATEDIF中的起止日期相同,天數間隔也將為0。
3)B2儲存格輸入公式:DATEDELTA($date_日期_起,A2)
透過起日期加上間隔天數計算出日期
2.3 效果預覽
預期效果如下圖所示。
3. 範本下載
點選下載範本:日期擴展.cpt