報表例子——用BIRT實現不規則月份統計,報表例子birt

來源:互聯網
上載者:User

報表例子——用BIRT實現不規則月份統計,報表例子birt

      來源:     http://developer.actuate.com/community/forum/index.php?/topic/36323-months-and-quarters-group-issue/

      不規則月份統計:如果起始時間是2014-01-10,則將2014-01-10到2014-02-09作為一組,將2014-02-10到2014-03-9作為一組。如果起始時間是2014-01-31,則將2014-02-27作為一組,將2014-02-28到2014-03-30作為一組。

      集算器代碼:


        A1:根據起止時間查詢資料庫,其中startDate和endDate是外部參數。

        A2:根據起止時間算出月份間隔。比如2014-01-31和2014-07-31間隔6個月。

        B2:根據起始時間和日期間隔算出不規則月份的開始日期,並將起始時間插入第1位。“|”表示合并,“~”表示集合中的當前成員,即數字1到6,After函數可以正確計算不規則月份。結果如下:


        A3:按B2區間對A1分組,統計出不規則月份的銷售額,並將B2作為最後一列。函數pseg可返回資料所在的區間號。~.sum(Amount)中的~表示分組後的當前組。#表示A1當前組號。計算結果如下:

        A4:取出A3的第2和第3列,返回給報表工具。集算器對外提供JDBC介面,報表工具會將集算器識別為普通資料庫。

 

        下面用BIRT設計簡單的list表:


     報表調用集算器的方法和調用預存程序一樣,比如將本指令碼儲存為BirtUnregulMonth.dfx,則在BIRT的預存程序設計器中可以用callBirtUnregulMonth(?,?)來調用。預覽後表樣如下:


著作權聲明:本文為博主原創文章,未經博主允許不得轉載。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.