excel伺服器教程之普通匯總
工具/原料
excel伺服器教程
建立《銷售日報》模板
建立如下圖所示的《銷售日報》模板
2) 定義兩個資料表
用表間公式彙總資料
在《銷售日報》模板上定義一條表間公式
新建表間公式,公式名稱為“彙總”,應用方式選中“篩選條件改變後自動執行”和“手動執行”。
選擇來源資料為“訂單_主表”和“訂單_明細”
篩選條件輸入“訂單_主表.訂單日期 = 本報表.Sheet1:日期”
輸入“填充方式”,注意輸入“當日數量”的填充表示式時,要展開選項列表中“訂單_明細.數量”左側的小加號,然後雙擊其下的“合計(訂單_明細.數量)”,如圖11-2所示
最後完成的表間公式如下:
關閉模板。
現在填報一張銷售日報,輸入日期,我們會看到該日的各種產品的合計訂單數量各訂單金額自動統計到日報上。
相對於勤哲excel伺服器中的彙總功能,因為軟體自身功能定位的因素,FineReport的先關功能顯然更豐富一些,具體介紹如下:
FineReport報表的資料模型,由於是通過單元格繫結資料列擴充套件,來實現資料的讀取和展現。所以在設計介面上的某個單元格時,可採用層次座標的方式,對擴充套件後的每個單元格進行精確定位,得到某個單元格擴充套件後的其他多條資料。通常像EXCEL中設計表格時,需將所得的資料進行一些運算。在FineReport中,若要對資料列擴充套件返回的結果集進行一些運算,較為常見的有:對擴展出的資料進行編號,資料排名,同期比與環比,佔比,累計等等。在Finereport中,與勤哲excel彙總功能相對應的是條件彙總功能,具體如下:
通過層次座標,我們還可以進行條件彙總,即對擴展出來的資料彙總滿足條件的資料資訊。如下圖所示,彙總訂單總額超過2500的月份數量:
示例
開啟報表
開啟報表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\PeriodChain.cpt。
修改報表如下,增加一彙總行,A4父格設定為A3,每年彙總一次:
條件彙總
在C4單元格中,寫入公式:=count(B3[!0]{A3 = $A3 && C3 >= 2500}):B3擴展出的所有月中,滿足屬於當前年且總額大於或等於2500的月份個數。
其中B3[!0]表示B3單元格擴展出來的所有資料,不受主格影響,獲得2010年下的月與2011年下的月。
{A3 = $A3 && C3 >= 2500},{}裡面是篩選條件,A3 = $A3表示在當前A3組內;C3 >= 2500表示總額大於或等於2500。
儲存與預覽
儲存模板,預覽效果如上。模板效果線上檢視請點選ConditionsSummary.cpt
以完成模板可參考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\ConditionsSummary.cpt。
總結
由佔比可以知道,我們可以通過Cell[!0]來獲取一個單元格擴展出來的所有資料。
在此基礎上我們可以通過Cell[!0]{條件}來獲取這個單元格擴展出來的所有值中滿足條件的資料。
層次座標以$Cell表示當前Cell單元格的值。