<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    Java報表軟件技術討論

    Style Report報表專題
    posts - 97, comments - 3, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    交叉表(Cross Tabulations)是一種常用的分類匯總表格。使用交叉表查詢,顯示源于表中某個字段的匯總值,并將它們分組,其中一組列在數據表的左側,另一組列在數據表的上部。行和列的交叉處可以對數據進行多種匯總計算,如:求和、平均值、記數、最大值、最小值等。使用交叉表查詢數據非常直觀明了,被廣泛應用。

     

    交叉報表是報表當中常見的類型,屬于基本的報表,是行、列方向都有分組的報表。這里牽涉到另外一個概念即分組報表。這是所有報表當中最普通,最常見的報表類型,也是所有報表工具都支持的一種報表格式。從一般概念上來講,分組報表就是只有縱向的分組。傳統的分組報表制作方式是把報表劃分為條帶狀,用戶根據一個數據綁定向導指定分組,匯總字段,生成標準的分組報表。

     

     

    例如下圖是典型的分組交叉表格是一份銷售人員銷售情況的匯總表,其中垂直方向是對銷售收入來源進行的分組(包括銷售地區、客戶信息), 而水平方向中則是對銷售收入和平均價格進行匯總。此匯總表復雜百出,涉及到縱向分組,又涉及到橫向求和。

    java報表工具技巧--交叉分部報表制作

    接下來看用Style Report 這款java報表工具如何實現此表的制作,過程步驟比較多,請耐心閱讀:

     

     

    1. 打開報表設計器,在工具欄中選擇“新建”。 在“新建資源”對話框中,選擇“空白表格式報表”。

     

    2. 在報表的空白處點擊右鍵菜單,選擇“腳本”選項,然后打開報表腳本編輯窗口。

     

    3. 在報表腳本編輯窗口的“裝載”標簽下輸出腳本:

     

        var q1 = runQuery('customers');

     

        var q2 = runQuery('Order details');

     

    以上腳本是將兩個報表數據查詢('customers' 和 'Order details')中的數據存放在q1,q2兩個變量中。

     

    4. 關閉報表腳本編輯窗口,在右側的工具箱中選擇”表格“組件,放入報表中。

     

    5. 點擊表格,打開右鍵菜單,在右鍵菜單中選擇”表格->轉換為公式表“。

    java報表工具技巧--交叉分組報表制作

    6. 點擊表格,打開右鍵菜單,在右鍵菜單中選擇”屬性”,打開表格屬性窗口,選擇“標題和結尾”標簽,在表格行中輸入“6”,在表格列中輸入“4”,標題行為“0”。 
    java報表工具技巧--交叉分組報表制作

    下面的步驟中進行垂直方向上的數據分組設定,數據分組為兩層分組,分別是地區和客戶。

     

    7. 點擊表格中cell[2,0]單元格(第三行,第一列),在下方的表格屬性窗口中選擇“數據“標簽,然后在公式輸入框中輸入以下腳本:

     

        toList(q1['state']);

     

    q1['state']是提取“customers”數據查詢中的“state"列的數據,toList 函數的作用是獲取q1['state']中沒有重復記錄的所有數據。

     java報表工具技巧--交叉分組報表制作

    8. 在屬性窗口,選擇”擴展單元格“和”垂直“方向的擴展。這個設置的作用是將表格單元格按照真實的數據列進行擴展。

     

    9. 設置表格單元格的名稱為"st",然后點擊”應用“按鈕。

    java報表工具技巧--交叉分組報表制作

    10. 按住”Shift“鍵同時選中 cell[3,0]和 cell[4,0]兩個表格單元格,然后打開右鍵菜單,在右鍵菜單中選擇”表格->合并單元格“。
    11. 在下方的屬性窗口中選擇“數據“標簽”,然后在公式輸入框中輸入以下腳本:
        toList(q1['company_name@state:$st']);
    q1['company_name@state:$st']是提取“customers”數據查詢中的“company_name"列的數據結果,并且”company_name“將根據對應的”state“列進行分組。
    12. 在屬性窗口,選擇”擴展單元格“和”垂直“方向的擴展,設置單元格的名稱為"comp",在行分組中選中”st“,然后點擊”應用“按鈕。java報表工具技巧--交叉分組報表制作

    通過以上的步驟,垂直方向上的兩層分組(第一層:state,第二層:company_name)就被建立完成了

     

    13. 按住”Shift“鍵同時選中 cell[0,3]和 cell[1,3]兩個表格單元格,然后打開右鍵菜單,在右鍵菜單中選擇”表格->合并單元格“。

     

    給對應的表頭加上對應的文字。

     

    Cell[0,1] = '數量合計'

     

    Cell[0,2] = '毛利額'

     

    Cell[1,1] = '平均單價'

     

    Cell[1,2] = '折扣金額'

     

    Cell[5,0] = '銷售合計'

     

    Merged Cell[0,3] = '凈收入'
    java報表工具技巧--交叉分組報表制作


    14. 創建合計列,合計列是指定數據列的聚合,合計列被加入到最低層的分組上。加入下面的公式到對應的表格單元格中。

     

    在 Cell[3,1]單元格中插入:

     

        sum(q2['Quantity@Company:$comp']);

     

    在 Cell[4,1]單元格中插入:

     

        average(q2['Price@Company:$comp']);

     

    在 Cell[3,2]單元格中插入:

     

        sum(q2['Total@Company:$comp']);

     

    在 Cell[4,2]單元格中插入:

     

        sum(q2['=Total*Discount@Company:$comp']);

     

    設置Cell[3,2]表格單元格的名稱為:"grossRevenue"

     

    設置Cell[4,2]表格單元格的名稱為:"discountRevenue"

     

    15. 創建凈收入數據列,"凈收入=總收入-折扣金額"。首先合并表格單元格,按住”Shift“鍵同時選中 cell[3,3]和 cell[4,3]兩個表格單元格,然后打開右鍵菜單,在右鍵菜單中選擇”表格->合并單元格“。然后在合并的表格單元格輸入以下腳本:

     

        $grossRevenue-$discountRevenue;

     

    16. 設置合并的表格單元格的名稱為”netRevenue“ ,凈收入為每個地區中客戶的凈收入。

     

    17. 設置Cell[2,3]表格單元格的腳本為:

     

        sum($netRevenue);

     

    此凈收入為每個地區的合計

     

    18. 設置Cell[5,3]表格單元格的腳本為:

     

        sum($netRevenue);

     

    此凈收入為所有地區的總計

    java報表工具技巧--交叉分組報表制作

    最后依照最初的表格,在各表格單元格中設置字體格式、數字格式等。點擊Preview即可得到此表: 

    java報表工具技巧--交叉分組報表制作

     

     

     

    主站蜘蛛池模板: 久久免费精品视频| 免费看少妇高潮成人片| 性做久久久久久久免费看| 亚洲精品亚洲人成在线麻豆| 久久这里只精品国产免费10| 亚洲VA中文字幕无码毛片| 无码人妻AV免费一区二区三区| 亚洲av日韩av不卡在线观看 | 国内精品久久久久久久亚洲| 有码人妻在线免费看片| 激情97综合亚洲色婷婷五| a级成人毛片免费图片| 亚洲高清日韩精品第一区| 国产99视频精品免费观看7| 亚洲精品无码久久久久YW| mm1313亚洲精品国产| 中文字幕免费在线看电影大全| 国产v亚洲v天堂无码网站| 91禁漫免费进入| 亚洲欧美日韩一区二区三区| jizzjizz亚洲| 久久免费精彩视频| 天天爽亚洲中文字幕| 亚洲国产成人a精品不卡在线| 久久精品无码专区免费| 亚洲网站在线播放| 日韩免费高清视频网站| 香蕉免费在线视频| 伊人久久五月丁香综合中文亚洲| 国产高清免费在线| 美女视频黄的免费视频网页| 日本亚洲色大成网站www久久| 国产男女性潮高清免费网站| 国产vA免费精品高清在线观看| 亚洲精品电影在线| 亚洲不卡AV影片在线播放| 久久精品电影免费动漫| 亚洲av无码一区二区三区天堂| 亚洲情XO亚洲色XO无码| 免费做爰猛烈吃奶摸视频在线观看 | 免费少妇a级毛片人成网|