excel伺服器初級教程:[1]本期累計?

excel伺服器初級教程:[1]本期累計

工具/原料

勤哲excel伺服器

方法/步驟

本節的銷售日報過於簡單,假設我們希望在日報上不僅要體現當天的銷售情況,還要體現從月初到日報當天的累積銷售情況,就像下圖所示的這樣:

excel伺服器初級教程:[1]本期累計

建立模板《新日報》

1) 按圖11-5所示表樣建立模板《新日報》

2) 定義單一資料項:新日報_主表

excel伺服器初級教程:[1]本期累計

3) 選中B5:H14,定義重複資料項。注意第一步的上方標題行數要輸入2。

excel伺服器初級教程:[1]本期累計

4) 最後定義好新資料表:新日報_明細

excel伺服器初級教程:[1]本期累計

第一條公式----提取所有產品

在《新日報》模板上新建如下的表間公式

excel伺服器初級教程:[1]本期累計

切換到“顯示範圍”選項卡下,選擇“重複資料只填充一次”。

excel伺服器初級教程:[1]本期累計

注意兩處:1)應用方式我們選擇了“新建開啟時”,效果就是,當我們填報的時候,空白日報一開啟,這條表間公式馬上就執行。2)在顯示方式處,我們選中了“重複資料只填充一次”。這是因為物料表中可能有這樣的資料:名稱相同,規格不同,所以如果全部提取出來會出現同樣的品名重複顯示好幾行的情況,此選項用於保證重複的資料只顯示一次。

定義按行列匹配的表間公式

在新日報上定義表間公式,其來源資料和篩選條件均和11.1節的公式相同,僅填充方式有變化,如下圖11-12,對“產品名稱”要選擇“按行(列)匹配”

excel伺服器初級教程:[1]本期累計

完整的表間公式如下:

excel伺服器初級教程:[1]本期累計

提取上次日報的日期

因為我們平時有工作日,當然也有周末或者節假日,所以,上一張日報的日期不能簡單的用當前日期減一天得出,下面,我們用表間共識來提取上次日報的日期:

excel伺服器初級教程:[1]本期累計

注意:在做“填充方式”時,把“新日報_日期”前面加號展開後,下面有很多日期函式,我們運用的是“最晚()”函式。

excel伺服器初級教程:[1]本期累計

滾動累加

現在來提取上次日報上的累計數,定義表間公式如下:

excel伺服器初級教程:[1]本期累計

方法/步驟3

相對於勤哲excel伺服器中的本期累計功能,因為軟體自身功能定位的因素,FineRepot

的先關功能顯然更豐富一些,具體介紹如下:

FineReport報表的資料模型,由於是通過單元格繫結資料列擴充套件,來實現資料的讀取和展現。所以在設計介面上的某個單元格時,可採用層次座標的方式,對擴充套件後的每個單元格進行精確定位,得到某個單元格擴充套件後的其他多條資料。通常像EXCEL中設計表格時,需將所得的資料進行一些運算。在FineReport中,若要對資料列擴充套件返回的結果集進行一些運算,較為常見的有:對擴展出的資料進行編號,資料排名,同期比與環比,佔比,累計等等。在Finereport中,累計的分類更為詳細,主要分為逐層累計、跨層累計、交叉表的累計,下面主要介紹逐層累計:

逐層累計就是在分組報表中,每一組中分別將每層與上一層資料相加,得到這一層的累計結果,如下圖所示的年度累計:

excel伺服器初級教程:[1]本期累計

示例

2.1 開啟報表

開啟報表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\PeriodChain.cpt。

修改報表,將同期比改為累計。

2.2 逐層累計

· 方法一:

在D3單元格中,寫入累計公式=D3[B3:-1] + C3:在一年內上一個月累計後的金額加當前月的金額,如下圖:

excel伺服器初級教程:[1]本期累計

其中D3[B3:-1]表示B3擴展出來的上一格(上月)中D3的值。

· 方法二:

在D3單元格中直接使用逐層累計公式=LAYERTOTAL(B3, C3, D3),等同於公式=D3[B3:-1] + C3,如果為橫向擴充套件,則傳遞第四個引數值false,例如:=LAYERTOTAL(B3, C3, D3,false)。

2.3 儲存並預覽

儲存模板,點選分頁預覽,效果如上。模板效果線上檢視請點選Accumulative_1.cpt

已完成模板可參考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Accumulative_1.cpt。

教程, 資料, 公務, 伺服器,
相關問題答案