如下面總額中擴展出來的每個值與擴充套件後第一個值進行比較:
工具/原料
報表開發控制元件:FineReport
電腦
方法/步驟
開啟報表
開啟報表%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Proportion.cpt。
將佔比改為比較,修改如下:
比較
在C3單元格中,輸入公式=B3 - B3[A3:1]:B3單元格擴展出來的每一個值與B3單元格擴展出來的第一個值的差。
其中B3[A3:1]表示A3單元格擴展出來的第一個值下的B3的值,B3[A3:1,B3:1],即表示B3擴展出來的第一個值。
儲存與預覽
儲存模板,點選分頁預覽,效果如上。模板效果線上檢視請點選Compare.cpt
已完成模板可參考%FR_HOME%\WebReport\WEB-INF\reportlets\doc\Advanced\Cacuate_Between_Cells\Compare.cpt。
描述
某些報表中,可能需要對擴充套件後的單元格精確定位,然後參與運算,如上比較例子。然而在單元格擴充套件前,單元格會擴展出多少格子及格子所在的位置,在擴充套件前很難描述。因此,FineReport中通過層次座標的概念來對擴充套件後的單元格進行唯一性定義。
絕對層次座標就是通過絕對位置來精確定位擴充套件後的單元格,定位規則如下:
Cellx:指目標單元格,是Lk,Lk-1...L1;Tk,Tk-1...T1的附屬格。
Lk:指某個目標單元格Cellx的左父格,Lk的次序是從遠到近的,也就是從離當前格最遠的左父格開始,也可以理解為從最高級別的分組格開始。
lk:指左父格LK擴充套件後的次序,即擴充套件後的第幾個單元格,如果不指定lk或lk為0,則表示為當前表示式所在單元格所屬的當前左父格LK。
Tk:指某個目標單元格Cellx的上父格,Tk的次序也是從遠到近的,也就是從離當前格最遠的上父格開始,也可以理解為從最高級別的分組格開始。
tk:指上父格Tk擴充套件後的次序,即擴充套件後的第幾個單元格,如果不指定tk或tk為0,則表示為當前表示式所在單元格所屬的當前上父格TK。
注:如果只有左父格沒有上父格,分號可以省略,即Cellx[Lk:lk,LK-1:lk-1,......,L1:l1];
如果只有上父格沒有左父格,分號不能省略,即Cellx[;Tk:tk,Tk-1:tk-1......,T1:t1]。
示例