隨筆 - 225  文章 - 98  trackbacks - 0
          <2011年1月>
          2627282930311
          2345678
          9101112131415
          16171819202122
          23242526272829
          303112345

          隨筆分類

          相冊

          報表工具廠商們

          搜索

          •  

          最新評論

          閱讀排行榜

           

              Java報表工具定時器中,參數尤為重要,特別是時間參數,在涉及到時間的定時任務中都需要用到它的公式。下面就以FineReport報表工具為例,詳細介紹一下定時器的參數。

          1.    時間參數

          定時器中主要用到的時間參數如下:

          日報

          當前日期的前一天:Format(today()-1,”yyyy-MM-dd”)

          周報

          當前日期的上一周的第一天:

          Format(dateInWeek((today()-7),1)”yyyy-MM-dd”)

          當前日期的上一周的最后一天:

          Format(dateInWeek((today()-7),7),"yyyy-MM-dd")

          當前日期的上上周的第一天:

          Format(dateInWeek(dateDelta(dateInWeek((today()-7),1),-7),1),"yyyy-MM-dd")

          當前日期的上上周的最后一天:

          Format(dateInWeek(dateDelta(dateInWeek((today()-7),7),-7),7),"yyyy-MM-dd")

          月報

          當前日期的上一個月的第一天:

          Format(dateInMonth(monthDelta(today(),-1),1),"yyyy-MM-dd")

          當前日期的上一個月的最后一天:

          Format(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),"yyyy-MM-dd")

          當前日期的上上月的第一天:

          Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),1),-1),1),"yyyy-MM-dd")

          當前日期的上上月的最后一天:

          Format(dateInMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1),daysOfMonth(monthDelta(dateInMonth(monthDelta(today(),-1),daysOfMonth(monthDelta(today(),-1))),-1))),"yyyy-MM-dd")

          年報

          當前日期的上一年的第一天:

          Format(dateInYear(yearDelta(today(),-1),1),"yyyy-MM-dd")

          當前日期的上一年的最后一天

          Format(dateInYear(yearDelta(today(),-1),daysOfYear(yearDelta(today(),-1))),"yyyy-MM-dd")

          2.    其他類型參數值

          報表當中除了時間參數之外,為了節省報表制作的工作量和減少報表文件的總量,我們往往要在報表里面加入其他的參數。例如主機名,指標名等等。

          首先我們在報表里面定義這些參數的時候,建議使用中文的參數名稱,這樣在定時生成之后,在報表查看時上方的參數名稱也就是直接讀的在報表

          當中定義的參數名稱。中文對于最終用戶來說比較容易理解。

          在報表當中有這些參數的時候,定時生成的時候,我們需要設定參數包含哪些具體的值。比如exchange郵件服務器的性能報表,在哪幾臺機器上

          exchangeexchange又包含哪些參數指標。這些我們都需要通過定義全局數據源得到。

          也就是說,我們先定義好一個全局數據源,該數據源返回的結果是exchange服務器所在的所有主機。

          然后在設置定時生成的時候,主機這個參數的參數類型,設置為。選擇我們已經定義好的全局數據源,以及該數據源中代表主機的列即可。這樣在這個數據源內返回了多少結果,則報表在生成的時候,會每一個值生成一個報表。有一種特殊的情況,也許要通過多定義一些全局數據源來實現。例如我們的報表當中,有一部分是windows主機的性能報表。但是windows的主機又分為OACallCenter。如果分開來設計報表的話,是一種重復勞動。

          解決的辦法,就是通過定義不同的全局數據源。還是以主機這個參數舉例。在全局數據源里面定義兩個不同的數據源分別返回的結果是OA的主機和CallCenter的主機。 然后我們只要設計一張Windows主機的報表即可。在定義定時任務時,可以定義兩個不同的action, 只是主機這個參數定義的時候,選擇的數據源不同。選擇OA的主機,那么生成的報表就是OA的性能報表,選擇CallCenter的主機,生成的即是CallCenter的報表。 再舉一個例子。各個業務系統的報表,也可以通過這個方法,大大減少報表的數量。例如業務系統的日報,我們只需要設計一張報表。在設置定時生成的時候,業務系統這個參數,可以分別設置固定的值,即十個不同的action

           

          文章轉自:http://blog.vsharing.com/fanfanzheng/A1305575.html



          了解Java報表工具就從這里開始
          posted on 2011-01-07 23:11 season 閱讀(102) 評論(0)  編輯  收藏 所屬分類: Java報表—技術知識
          主站蜘蛛池模板: 肇州县| 六安市| 奎屯市| 山阴县| 镇坪县| 红安县| 台中县| 芦山县| 东辽县| 博兴县| 汕头市| 永顺县| 班戈县| 龙陵县| 巴楚县| 牟定县| 古田县| 嵊泗县| 朝阳市| 综艺| 松潘县| 柘城县| 兴和县| 山丹县| 新乡市| 桂林市| 化隆| 施甸县| 集贤县| 宜宾市| 大宁县| 临夏县| 壶关县| 资源县| 华阴市| 个旧市| 太白县| 桓仁| 海淀区| 洪洞县| 定襄县|