反饋已提交

網絡繁忙

报表函式概述

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

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
不能為空

反馈已提交

网络繁忙