反饋已提交

網絡繁忙

报表函式概述

注:報表函式不支持在遠端設計情況下模拟計算

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

1)概述

文法
COL()返回當前存储格的欗号

2)範例

函式
結果
備注
col()

如果當前存储格是 A5,在 A5 中寫入:

=col()返回 1。


如果當前存储格是 C6,在 C6 中寫入:

=col()返回 3。


2. COLCOUNT

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

注: 先從私有資料源中查找,然後再從公有資料源中查找,返回的是第一個查找到的 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。 

具體示例:隔行/列設置背景色

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 作爲參數因子的,函數在調用的時候均按照先從私有資料源中查找,然後再從公有資料源中查找的順序。

附件列表


主題: 報表專題
  • 有幫助
  • 沒幫助
  • 只是瀏覽
  • 圖片不清晰
  • 用語看不懂
  • 功能說明看不懂
  • 操作說明太簡單
  • 內容有錯誤
中文(繁體)

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

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

不再提示

10s後關閉

獲取幫助
線上支援
獲取專業技術支援,快速幫助您解決問題
工作日9:00-12:00,13:30-17:30在线
頁面反饋
針對當前網頁的建議、問題反饋
售前咨詢
業務咨詢
電話:0933-790886或 0989-092892
郵箱:taiwan@fanruan.com
頁面反饋
*問題分類
不能為空
問題描述
0/1000
不能為空

反馈已提交

网络繁忙