java報表工具FineReport的公式編輯框的文法簡介

來源:互聯網
上載者:User

標籤:

FINEREPORT用到公式的地方非常多,儲存格(以=開頭的便被解析為公式),條件顯示,資料字典,報表填報屬性值定義,圖表標題,軸定義,頁首頁尾,甚至儲存格的其他屬性中的滑鼠懸浮提示內容都可以寫公式,雖然那個編輯框非常不像。

簡單的說下自己感覺的公式要注意的幾個地方:

1.if語句文法剛接觸感覺比較奇怪,if(條件式子,值1,值2),if可以嵌套,if(條件式子1,值1,if(條件式子2,值2,值3))。

2.switch語句也是,具體函數我不說了。

3.對於判斷用單等號和雙等號都行。

4.對於字串用單引號和雙引號都行。

4.1bool只有true或者false。與邏輯還是&&或邏輯還是||。

4.2判斷為空白的話用isnull()。

4.3format公式。format公式比較靈活。format($$$,"0.00")可以把目前的儲存格的數字轉換成兩位小數的形式,也可以用format(12,"預算值:0.00萬元")把12變成預算值:12.00萬元,這個是不是和自訂顯示資料字典神馬的有異曲同工之妙啊。有一點要注意的是,滿位元年月日的話樣式是"yyyy-MM-dd",而不是"yyyy-mm-dd",小寫mm的意思是分鐘(minute)。

5.公式中取儲存格的話直接用A1這種或者b2,跨sheet取值的文法是sheet1!A1.(英文情況)這些文檔有。

6.sql函數,這個是在公式中直接調用資料庫的方法。

7.資料集公式。

資料集公式是公式直接調用資料集的方法。這個公式說明中沒有(有幾個零散的和資料集相關的函數),我說一下。

比如有個模板資料集ds1,其欄位為地區、銷售人員、銷量,則可以用ds1.group(地區)擷取ds1的地區欄位,group是分組,從而容易知道select是列表,ds1.select(銷售人員)便是列表形式擷取銷售人員欄位,可以加上限制條件,比如ds1.select(銷售人員,銷量=111)就是擷取銷售量為111的銷售人員集合。

跟資料集相關的幾個函數有colcount colname row rowcount 等。

 

8.層次座標。

層次座標是公式裡面比較痛點的,“可玩性”非常強,東西比較多,只能記住最常用的幾個,能解決各種各樣BT的需求。較為常用的一個就是排名公式了=count(B3[!0]{B3 > $B3})+1。自己看吧。http://www.finereporthelp.com/help/1/4/7.html

9.過濾公式。

過濾有兩個條件類型,其一是公式條件。這個公式有一點點不同的是,可以直接寫目前的儲存格的欄位所在資料集的任何欄位,相對於普通公式要靈活很多。還拿內建的銷量表為例,給地區欄位所在儲存格過濾,公式條件可以直接寫:銷量==111。

10.條件屬性。

條件屬性要說的不是公式方面的,用的多了感覺很自然,但是剛接觸的時候感覺不太好理解。簡單說下。條件屬性面板,上面是屬性,下面是條件。當下面的條件滿足,也就是傳回值是true的時候,執行上面的屬性設定。

java報表工具FineReport的公式編輯框的文法簡介

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.