JimuReport積木報表—表達式介紹


前言:在報表設計中我們經常會用到表達式,就像在excel中用到公式一樣,有了表達式會使我們的報表設計工作事半功倍。

積木報表包含哪些表達式?


積木報表完善了原有表達式,在原有基礎上,擴展了數據集表達式、單元格表達式、統計函數、行號函數、日期函數、數學函數、字符串函數、條件表達式、顏色表達式、判斷函數,基本運算符函數及系統函數。
下面我們就來看一下都包括哪些表達式及其用法吧。

1. 數據集函數

數據集函數包含sum(求和)、average(求平均值)、max(求最大值)、min(求最小值)及基礎運算符(+-*/)

示例: 以sum為例

  • =sum(#{jm.money},#{jm.extend_money}) 可以對多列求和
2.單元格函數

單元格函數也包含:sum(求和)、average(求平均值)、max(求最大值)、min(求最小值)及基礎運算符(+-*/)

示例: 以sum為例

  • =sum(C6) 對C6單元格求和,如果C6單元格是表達式如${db.count},將對該頁面表達式循環出來的所有數據求和
  • =sum(A6,C6) 對A6和C6單元格求和
  • =sum(A6:C6) 對A6到C6單元格求和
3.統計函數

統計函數包含dbsum(求和)、dbmax(求最大值)、dbmin(求最小值)、dbaverage (求平均值)

是對指定數據集指定字段,對該字段所有數據進行計算

例如dbsum對比sum函數區別:dbsum統計數據集所有數據,sum只支持當前頁數據

示例 以dbsum為例

  • =dbsum(jm.money)
4.行號函數

行號函數:通過行號函數實現自增序號

示例:

  • =row()
  • 多個列表需要行號,需要設置一個數字 參數區分計數器如:=row(1) =row(2)
5.日期函數

日期函數包含date(獲取年月日)、time(獲取時分秒)、year(獲取年)、month(獲取月)、day(獲取天)、now(獲取當前時間長整型數值)、nowstr(獲取當前時間字符串)

示例: 以date為例

  • =date("1982-08-09") 返回日期:1982-08-09 00:00:00
  • =date("1982-08-09 10:20:30") 返回日期:1982-08-09 00:00:00
  • 集合:=date('#{jm.create_time}')
  • 對象:=date('${jm.create_time}')
  • 單元格:=date(A1)
6.數學函數

數學函數包含rand(獲取隨機數)、round(四舍五入)、abs(取絕對值)、floor(取整)、ceil(取整)、trunc(取整)

示例: 以round為例

  • =round(3451251.274,0)
  • =round(#{db.salary}, 2)
7、字符串函數

字符串函數包含char(unicode編碼或者ascii編碼轉換)、cnmoney(大寫金額轉換)、concat(字符串拼接)、lower(轉小寫)、upper(轉大寫)、date_str(日期轉為字符串)

示例: 以cnmoney為例

  • =cnmoney(1.232)返回:壹元貳角叄分
  • 集合:=cnmoney(#{jm.money})
  • 對象:=cnmoney(${jm.money})
  • 單元格:=cnmoney(A1)
8、條件表達式

條件表達式是對數據進行條件判斷 ,包含 case、if

示例:

  • =case('#{dd.sex}'=='1','男','女')

  • =case(1==1,1,2) ->1

  • =(let sex= '#{dd.sex}';
    if(sex== '1'){
    '男'
    }elsif(sex== '2'){
    '女'
    }else{
    '未知'
    })

  • =(if(A1==1){return (A1+B1)*200;})

9、顏色表達式

顏色表達式包含:color(單元格字體/背景顏色)、rowcolor(整行字體/背景顏色)

示例: 以color為例

  • 集合:=color('#{jm.salse}','#ffffff','#171516')
  • 對象:=color('${jm.salse}','#ffffff','#171516')
  • 單元格:=color(A1,'#ffffff','#171516')
  • 固定值:=color('2','#ffffff','#171516')
10、判斷函數

判斷函數是對數據進行判斷;包含istime(時間判斷)、isdate(時期判斷)、isnumber(數字判斷)、intval(參數為空則返回默認值0)、strval(參數為空則返回默認值nil)

示例: 以istime為例

  • =istime("10:20:30") 返回 true
  • =istime('#{jm.create_time}')
  • =istime('${jm.create_time}')
  • =istime(A1)

我想試一試


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM