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

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

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

    Java報(bào)表軟件技術(shù)討論

    Style Report報(bào)表專題
    posts - 97, comments - 3, trackbacks - 0, articles - 3
      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

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

     

    交叉報(bào)表是報(bào)表當(dāng)中常見的類型,屬于基本的報(bào)表,是行、列方向都有分組的報(bào)表。這里牽涉到另外一個(gè)概念即分組報(bào)表。這是所有報(bào)表當(dāng)中最普通,最常見的報(bào)表類型,也是所有報(bào)表工具都支持的一種報(bào)表格式。從一般概念上來講,分組報(bào)表就是只有縱向的分組。傳統(tǒng)的分組報(bào)表制作方式是把報(bào)表劃分為條帶狀,用戶根據(jù)一個(gè)數(shù)據(jù)綁定向?qū)е付ǚ纸M,匯總字段,生成標(biāo)準(zhǔn)的分組報(bào)表。

     

     

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

    java報(bào)表工具技巧--交叉分部報(bào)表制作

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

     

     

    1. 打開報(bào)表設(shè)計(jì)器,在工具欄中選擇“新建”。 在“新建資源”對話框中,選擇“空白表格式報(bào)表”。

     

    2. 在報(bào)表的空白處點(diǎn)擊右鍵菜單,選擇“腳本”選項(xiàng),然后打開報(bào)表腳本編輯窗口。

     

    3. 在報(bào)表腳本編輯窗口的“裝載”標(biāo)簽下輸出腳本:

     

        var q1 = runQuery('customers');

     

        var q2 = runQuery('Order details');

     

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

     

    4. 關(guān)閉報(bào)表腳本編輯窗口,在右側(cè)的工具箱中選擇”表格“組件,放入報(bào)表中。

     

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

    java報(bào)表工具技巧--交叉分組報(bào)表制作

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

    下面的步驟中進(jìn)行垂直方向上的數(shù)據(jù)分組設(shè)定,數(shù)據(jù)分組為兩層分組,分別是地區(qū)和客戶。

     

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

     

        toList(q1['state']);

     

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

     java報(bào)表工具技巧--交叉分組報(bào)表制作

    8. 在屬性窗口,選擇”擴(kuò)展單元格“和”垂直“方向的擴(kuò)展。這個(gè)設(shè)置的作用是將表格單元格按照真實(shí)的數(shù)據(jù)列進(jìn)行擴(kuò)展。

     

    9. 設(shè)置表格單元格的名稱為"st",然后點(diǎn)擊”應(yīng)用“按鈕。

    java報(bào)表工具技巧--交叉分組報(bào)表制作

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

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

     

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

     

    給對應(yīng)的表頭加上對應(yīng)的文字。

     

    Cell[0,1] = '數(shù)量合計(jì)'

     

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

     

    Cell[1,1] = '平均單價(jià)'

     

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

     

    Cell[5,0] = '銷售合計(jì)'

     

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


    14. 創(chuàng)建合計(jì)列,合計(jì)列是指定數(shù)據(jù)列的聚合,合計(jì)列被加入到最低層的分組上。加入下面的公式到對應(yīng)的表格單元格中。

     

    在 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']);

     

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

     

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

     

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

     

        $grossRevenue-$discountRevenue;

     

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

     

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

     

        sum($netRevenue);

     

    此凈收入為每個(gè)地區(qū)的合計(jì)

     

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

     

        sum($netRevenue);

     

    此凈收入為所有地區(qū)的總計(jì)

    java報(bào)表工具技巧--交叉分組報(bào)表制作

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

    java報(bào)表工具技巧--交叉分組報(bào)表制作

     

     

     

    主站蜘蛛池模板: 羞羞网站在线免费观看| 最近国语视频在线观看免费播放 | 美女被羞羞网站免费下载| 亚洲无线一二三四区手机| 成在人线av无码免费高潮喷水 | 亚洲精品综合久久中文字幕 | 亚洲日韩精品A∨片无码| 日韩内射激情视频在线播放免费 | 亚洲色欲啪啪久久WWW综合网| 亚洲成av人片在线观看天堂无码 | 国产综合成人亚洲区| 亚洲国产成人私人影院| 日韩中文无码有码免费视频| a级毛片视频免费观看| 亚洲欧洲无码一区二区三区| 久久久青草青青亚洲国产免观| 最近高清国语中文在线观看免费| 中文字幕免费在线看| 亚洲精品人成网线在线播放va| 国产亚洲精AA在线观看SEE| 四虎在线免费播放| 99爱在线观看免费完整版| 日本高清不卡中文字幕免费| 亚洲xxxx18| 亚洲伦理一区二区| 久久久久国产成人精品亚洲午夜| 毛片a级毛片免费观看免下载 | 亚洲av日韩av欧v在线天堂| 中文字幕人成无码免费视频| 免费观看一区二区三区| 国产精品亚洲综合天堂夜夜| 亚洲Av高清一区二区三区| 亚洲VA中文字幕无码一二三区| 亚洲第一网站男人都懂| 最近中文字幕mv免费高清电影| 亚洲视频免费在线观看| 国产99久久久国产精免费| 国产精品久久久久久亚洲影视| 亚洲一级大黄大色毛片| 亚洲人成在线影院| 亚洲国产精品国自产拍AV|