當前為10.0版本文檔,更多實例內容將在最新幫助文檔中展現,點選跳轉至 最新版幫助文檔

報表函數

1. COL-當前單元格的列号

1)概述

語法
COL()返回當前單元格的列号

2)示

公式
結果
備注
col()

如果當前單元格是 A5,在 A5 中寫入:

=col()返回 1。


如果當前單元格是 C6,在 C6 中寫入:

=col()返回 3。


2. COLCOUNT

COLCOUNT(tableData):返回 tableData 中列的個數。 tableData:tableData 的名字,字符串形式的。

2)注意事項

注: 先從私有數據源中查找,然後再從公有數據源中查找,返回的是第一個查找到的 tableData 中列數。

示例:

以我們提供的數據源 FRDemo 爲例:

新建數據集 ds1:SELECT * FROM CUSTOMER

COLCOUNT("ds1")等於 6。

3. COLNAME

COLNAME(tableData,colIndex):返回的是 TableData 中列序号 colIndex 的列名。 tableData:表示 TableData的名字,字符串形式。colIndex:表示列序号。

注:TableData 先從私有數據源中查找,再從公有數據源中查找。

示例:

以我們提供的數據源 FRDemo 爲例:

新建數據集 ds1:SELECT * FROM CUSTOMER

COLNAME("ds1",3)等於 CITY。

4. FIELDS-返回數據表的所有字段名

1)概述

語法FIELDS(connectionName,tableName)返回 tableName 這個表中的所有字段名
參數1connectionName

數據連接名稱

參數2tableName

數據表名稱

返回值String返回 tableName 這個表中的所有字段名。

2)注意事項

  • 對於 Mysql 數據庫,如果數據庫表名即 tableName 爲純數字,需要爲 tableName 參數前後添加符号。

  • 例如需要對 FineReport 中已經定義的數據源「mysql」顯示該數據源中數據表「11」的所有字段名,則使用公式:

  • FIELDS("mysql","`11`")

3)示例

公式結果備注
FIELDS("FRDemo","CUSTOMER")CUSTOMERID,CUSTOMERNAME,CITY,COUNTRY,TEL,DISTRICT以 FineReport 内置數據源 FRDemo 下的 CUSTOMER 數據表爲例
FIELDS("mysql","`11`")aa,bb,cc對於 Mysql 數據庫,如果數據庫表名即 tableName 爲純數字,需要爲 tableName 參數前後添加符号

5. MAP

MAP(object, string, int, int):四個參數分别是索引值,數據集的名字,索引值所在列序号,返回值所在列序号。

提醒:後兩個參數也可以寫列名代替。

根據數據集的名字,找到對應的數據集,找到其中索引列的值爲key所對應的返回值。

數據集的查找方式是依次從報表數據集找到服務器數據集。

索引列序号與返回值序列号的初始值爲1。

示例:

MAP(1001, "employee", 1, 2)返回 employee 數據集,第 1 列中值爲 1001 那條記錄中第 2 列的值。

MAP(1001, "employee", "name", "address")返回 employee 數據集,name 列中值爲 1001 那條記錄中 address 列的值。

6. RECORDS-返回數據表字段下指定元素

1)概述

用法一:

語法RECORDS(connection,table,field)返回數據庫表 table 中字段名 field 下的所有元素。
參數1connection

數據連接名稱

參數2table

數據表名稱

參數3field字段名
返回值String返回數據庫表 table 中字段名 field 下的所有元素。

用法二:

語法RECORDS(connection, table,field,row)返回 table 中 field 字段下的第 row 行的記錄,field 可以爲列名也可以爲列号。
參數1connection

數據連接名稱

參數2table

數據表名稱

參數3field字段名
參數4row字段對應的行數
返回值String返回數據庫表 table 中字段名 field 下的第 row 行的記錄。

2)注意事項

  • 對於 Mysql 數據庫,如果數據庫表名即 table 爲純數字,需要爲 table 參數前後添加符号。

  • 例如 FineReport 中已經定義的數據源「mysql」有一張名爲「11」的數據表

  • aa
    bbcc
    0.32277
    0.5551
  • 則使用公式:

  • 公式結果備注
    RECORDS("mysql","`11`","aa")
    0.3,0.5-
    RECORDS("mysql","`11`","aa",2)
    0.5-

3)示例

數據庫 BASE 中有個名叫 task 的表的内容如下:

name    start  end
  a  2008  2009
  b  2009  2012

公式結果備注
RECORDS("BASE","task","end") 2009,2012-
RECORDS("BASE","task","end",2)2012-
RECORDS("BASE","task",2,2)2009-

7. SQL

1)概述

語法SQL(connectionName,sql,columnIndex,rowIndex)返回通過 sql 語句從 connectionName 中獲得數據表的第 columnIndex 列第 rowIndex 行所對應的元素。
參數1connectionName

數據庫庫的名字,字符串形式;

參數2sqlSQL語句,字符串形式;
參數3columnIndex列序号,整型;
參數4rowIndex行序号,整型。

2)注意事項

  • 行序号可以不寫,這樣返回值爲數據列。

3)示例

公式結果備注

SQL("HSQL","SELECT*FROM CUSTOMER",2,2)

注:以數據源 HSQL 爲例。

王先生-

8. I18N

1)概述

i18n爲本軟件内置的國際化公式,可以對一些常用的詞語進行國際化。

2)示例

公式結果備注

i18n('File')

會在中文語言環境下顯示爲:文件;

而在英文語言環境下顯示爲:File

-

9. ROW

ROW():返回當前單元格的行号。 

示例:

如果當前單元格爲 A5,在 A5 中寫入"=ROW()"則返回 5。 

如果當前單元格爲 B8,在 B8 中寫入"=ROW()"則返回 8。 

具體示例:見 條件屬性 專題章節中,條件屬性中的 Row()函數的内容。

10. ROWCOUNT

ROWCOUNT(tableData):返回 TableData 的行數。

tableData:TableData 的名字,字符串形式的。

注:先從私有數據源中查找,然後再從公有數據源中查找,返回的是 TableData 的行數

示例:

以我們提供的數據源 FRDemo 爲例

新建數據集 ds1:SELECT * FROM CUSTOMER

ROWCOUNT("ds1")等於 20。

11. TABLEDATAFIELDS

TABLEDATAFIELDS(tableData):返回tableData中所有的字段名。

注:先從報表數據集中查找,然後再從服務器數據集中查找,返回的是 TableData 的列名組成的數組。

示例:

以我們提供的數據源 FRDemo 爲例

新建數據集 ds1:SELECT * FROM CUSTOMER

TABLEDATAFIELDS("ds1")等於 CUSTOMERID,CUSTOMERAME,CITY,COUNTRY,TEL,DISTRICT。

12. TABLEDATAS

TABLEDATAS():返回報表數據集和服務器數據集名字。

示例:

服務器數據集有:ds1,ds2,ds3;報表數據集有 dsr1,dsr2,則:

TABLEDATAS()等於[dsr1,dsr2,ds1,ds2,ds3]。

而 TABLEDATAS(0)返回服務器數據集名字;TABLEDATAS(1)返回報表數據集名字;

TABLEDATAS(0)等於[ds1,ds2,ds3]。

TABLEDATAS(1)等於[dsr1,dsr2]。

13. TABLES

TABLES(connectionName):返回名爲 connectionName 的數據庫中的所有表名。

示例:

假設在 FRDemo 這個數據庫中,有 3 個表:a,b,c,則:

TABLES("FRDemo")等於[a,b,c]。

14. VALUE

VALUE(tableData,col,row):返回 TableData 中行号爲 row,列号爲 col 的值。 TableData:TableData 的名字,字符串形式的。 row:行号。 col:列号。

注: 先從私有數據源中查找,然後再從公有數據源中查找,返回的是 TableData 的符合條件的值。

示例:

VALUE("country",5,3)等於 South America。

VALUE("Simple",8,3)等於 jonnason。

VALUE(tableData,col)返回 tableData 中列号爲 col 的一列值。

VALUE(tableData,targetCol, orgCol, element)返回 tableData 中第 targetCol 列中的元素,這些元素對應的第 orgCol 列的值爲 element。

示例:

tableData:co

  國家   省份
  中國  江蘇
  中國  浙江
  中國  北京
  美國  紐約
  美國  新澤西

VALUE("co",2, 1, "中國")等於["江蘇", "浙江", "北京"]。

注:列号也可以寫爲列名。

VALUE(tableData,targetCol, orgCol, element, idx)返回VALUE(tableData,targetCol, orgCol, element)數組的第idx個值。

注:idx 的值小於 0 時,會取數組的第一個值,idx 的值大於數組長度時,會取數組的最後一個值。

15. DECODE——字符串解碼

1)概述

語法decode(string)使用指定的編碼機制(UTF-8)對 application/x-www-form-urlencoded 字符串解碼。
參數string

-

返回值String-

2)注意事項

  • 給定的編碼用於确定任何 “%xy”格式的連續序列表示的字符。

3)示例

公式結果備注
decode("%E5%B8%86%E8%BD%AF")帆軟-

16. ENCODE——字符串編碼

1)概述

語法encode(string)使用指定的編碼機制(UTF-8)将字符串轉換爲application/x-www-form-urlencoded格式。
參數string

-

返回值String-

2)注意事項

  • 該方法使用提供的編碼機制獲取不安全字符的字節。

3)示例

  • 該方法使用提供的編碼機制獲取不安全字符的字節。

3)示例

公式結果備注
encode("帆軟")“%E5%B8%86%E8%BD%AF”-

17. 注意事項

本章節凡是以 tableName 或 viewName 作爲參數因子的,函數在調用的時候均按照先從私有數據源中查找,然後再從公有數據源中查找的順序。

附件列表


主題: 原簡體文檔
已經是第一篇
已經是最後一篇
  • 有幫助
  • 沒幫助
  • 只是瀏覽

文 檔回 饋

滑鼠選中內容,快速回饋問題

滑鼠選中存在疑惑的內容,即可快速回饋問題,我們將會跟進處理。

不再提示

7s后關閉

反饋已提交

網絡繁忙