一.COL-現在のセルの列番号
数式 | 結果 |
---|---|
col() | 現在のセルをA5とします。A5の中に次の数式を入力すれば、=col() 「1」が返されます。 |
現在のセルをC6とします。C6の中に次の数式を入力すれば、=col() 「3」が返されます。 |
二.COLCOUNT
COLCOUNT(tableData)
tableDataにおける列数を返します。tableData:tableDataの名前、文字列型です。
注:まずプライベートデータソースの中から、またパブリックデータソースの中から検索します。最初に出現するtableDataの列数を返します。
例:
私たちが提供するデータソース FRDemoJPを例とします。
次のデータセットを新規作成します。
ds1:SELECT * FROM Customers
COLCOUNT("ds1")を入力すると、51が返されます。
三.COLNAME
COLNAME(tableData,colIndex)
TableDataにおける指定の列番号colIndexの対応列名を返します。tableData:tableDataの名前、 文字列型です。colIndex:列番号を表します。
注:TableDataについてはまずプライベートデータソースの中から、またパブリックデータソースの中から検索します。
例:
私たちが提供するデータソース FRDemoJP を例とします。
次のデータセットを新規作成します。
ds1:SELECT * FROM CUSTOMERS
COLNAME("ds1",3)を記入すると、CustomerContactNameが返されます。
四.FIELDS-データテーブルのフィールド名一覧を返す
1.概要
文法 | FIELDS(connectionName,tableName) | tableNameを名前とするデータテーブルにおけるすべてのフィールド名を返します |
---|---|---|
パラメータ1 | connectionName | データ接続の名前 |
パラメータ2 | tableName | データテーブルの名前 |
戻り値 | String | tableNameを名前とするデータテーブルのフィールド名一覧を返します。 |
2.注意事項
· MySQLデータベースの場合、もしデータベースのテーブル名、すなわちtableNameは単純な数字であれば、tableName パラメータの前後に`記号を付け加える必要があります。
· 例えば、FineReportで定義されたデータソースMySQLを対象に、その中にあるデータテーブル11のフィールド名一覧を取得しようとするなら、次のように数式を入力します。
· FIELDS("MySQL","`11`")。
3.例
数式 | 結果 | 備考 |
---|---|---|
FIELDS("FRDemoJP", "Categories") | CategoryID,CategoryName,Description | FineReportの組み込みデータソースFRDemoJPのCUSTOMERデータテーブルを例とします |
FIELDS("MySQL", "`11`") | aa,bb,cc | MySQLデータベースの場合、もしデータベースのテーブル名、すなわちtableNameは単純な数字であれば、tableName パラメータの前後に「`」記号を付け加える必要があります |
五.MAP
MAP(object, String, int, int)
四つのパラメータはそれぞれインデックス値、データセットの名前、インデックス値の所在列番号、戻り値の所在列番号を指します。
ヒント:後ろの二つのパラメータに列名を入力してもいいです。
データセットの名前によって対応するデータセットを引き出し、インデックス値の所在列の中でキーであるインデックス値を見つけ出し、それに対応する戻り値を返します。
まず帳票のデータセットの中から、それからサーバのデータセットの中から検索する、というデータセットの検索順序となっています。
インデックス値の所在列番号も戻り値の所在列番号も、その初期値がいずれも1です。
例:
MAP(1001, "employee", 1, 2)
employeeデータセットの中から、1列目にある1001を値とする記録の2列目の値が返されます。
MAP(1001, "employee", "name", "address")
employeeデータセットの中から、name列にある1001を値とする記録の「address」列の値が返されます。
六.RECORDS-データテーブルの指定フィールド名の指定要素を返す
1.概要
用法一:
文法 | RECORDS(connection,table,field) | データベーステーブルtableの中で指定されたフィールド名fieldのあらゆる要素を返します |
---|---|---|
パラメータ1 | connection | データ接続の名前 |
パラメータ2 | table | データテーブルの名前 |
パラメータ3 | field | フィールド名 |
戻り値 | String | データベーステーブルtableの中で指定されたフィールド名fieldのあらゆる要素を返します。 |
用法二:
文法 | RECORDS(connection, table,field,row) | tableの中でフィールド名がfieldとする列のrow行目の記録を返します。fieldのところに列名や列番号を入力してもいいです。 |
---|---|---|
パラメータ1 | connection | データ接続名前 |
パラメータ2 | table | データテーブル名前 |
パラメータ3 | field | フィールド名 |
パラメータ4 | row | 指定行 |
戻り値 | String | データベーステーブル tableの中から、フィールド名がfieldとする列の row 行目の記録を返します。 |
2.注意事項
· MySQLデータベースの場合、もしデータベーステーブル名、すなわちtableが単純に数字で構成されている場合、tableパラメータの前後に`記号を付け加える必要があります。
· FineReportの中で定義されたデータソースMySQLに、11を名前とするデータテーブルがあるとします。
aa | bb | cc |
---|---|---|
0.3 | 22 | 77 |
0.5 | 55 | 1 |
· 左側の数式を入力すると、右の結果が返されます。
数式 | 結果 | 備考 |
---|---|---|
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 | - |
七.SQL
1.概要
文法 | SQL(connectionName, SQL, columnIndex, rowIndex) | SQL文を通してconnectionNameの中からデータテーブルのcolumnIndex列目 rowIndex行目にある要素を返します。 |
---|---|---|
パラメータ1 | connectionName | データベースの名前、文字列型 |
パラメータ2 | SQL | SQL文、文字列型 |
パラメータ3 | columnIndex | 列番号、整数型 |
パラメータ4 | rowIndex | 行番号、整数型 |
2.注意事項
行番号を入力しなくてもいいです。その場合、戻り値はデータ列となります。
3.例
数式 | 結果 | 備考 |
---|---|---|
SQL("HSQL","SELECT*FROM CUSTOMER",2,2) 注:HSQLデータソースを例とします。 | 鈴木 | - |
八.I18N
1.概要
本ソフトに組み込まれた国際化向けの数式として、i18nはよく使われる言葉の一部を現地の言語として返すことができます。
2.例
数式 | 結果 | 備考 |
---|---|---|
i18n('File') | 表示言語が日本語の場合、「ファイル」が返されます 表示言語が英語なら、「File」が返されます | - |
九.ROW
ROW()
現在のセルの行番号を返します。
例:
現在のセルはA5で、A5に=ROW()を入力すれば5が返されます。
現在のセルは B8で、B8に=ROW()を入力すれば8が返されます。
具体例:条件属性の中で、条件属性における Row()関数の内容をご覧ください。
十.ROWCOUNT
ROWCOUNT(tableData): TableDataの行数を返します。
tableData:TableDataの名前、 文字列型です。
注:まずはプライベートデータソースの中から、またパブリックデータソースの中から検索します。TableDataの行数を返します。
例:
私たちが提供するデータソース FRDemo を例とします。
次のデータセットを新規作成します。
ds1:SELECT * FROM Customers
ROWCOUNT("ds1")を記入すると、20が返されます。
十一.TABLEDATAFIELDS
TABLEDATAFIELDS(tableData):tableDataのフィールド名一覧を返します。
注:まず帳票のデータセットの中から、またサーバのデータセットの中から検索します。TableDataの列名で構成される配列を返します。
例:
データソース FRDemoJP を例とします。
次のデータセットを新規作成します。
ds1:SELECT * FROM Customers
TABLEDATAFIELDS("ds1")を記入すると、 CUSTOMERID,CUSTOMERAME,CITY,COUNTRY,TEL,DISTRICTが返されます。
十二.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] が返されます。
十三.TABLES
TABLES(connectionName)
connectionNameを名前とするデータベースのテーブル名一覧を返します。
例:
FRDemoというデータベースの中に、a、bとcという三つのテーブルがあるとします。
TABLES("FRDemo")を入力すると、[a,b,c]が返されます。
十四.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のorgcol列目にある、elementを値とするセルの対応のtargetcol列目の要素を返します。
例:
tableData:co
国家 | 地域 |
---|---|
日本 | 近畿 |
日本 | 関西 |
日本 | 東北 |
中国 | 華南 |
中国 | 華東 |
VALUE("co",2, 1,"日本")は["近畿","関西","東北"]が返されます。
注:列番号を列名に変えてもいいです。
VALUE(tableData,targetcol, orgcol, element, idx)を入力すると、VALUE(tableData,targetcol, orgcol, element)が返される配列のidx個目の値を返します。
注:idxの値が0より小さい場合、配列の一個目の値を取得します。idxの値が配列の長さより大きい場合、配列の最後の値を取得します。
十五.DECODE——バイト列を文字列にデコード
1.概要
文法 | decode(String) | 指定された符号化方式(UTF-8)によりapplication/x-www-form-urlencodedのバイト列をデコードします。 |
---|---|---|
パラメータ | String | - |
戻り値 | String | - |
2.注意事項
· %xy形式のバイト列が表示したい文字を決まった符号化方式で確かめられる方法です。
3.例
数式 | 結果 | 備考 |
---|---|---|
decode("%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E7%94%9F%E7%94%A3%E5%8A%9B%E3%81%AB") | データを生産力に | - |
十六.ENCODE——文字列をバイト列にエンコード
1.概要
文法 | encode(String) | 指定された符号化方式(UTF-8)により文字列をapplication/x-www-form-urlencodedの形式にエンコードします。 |
---|---|---|
パラメータ | String | - |
戻り値 | String | - |
2.注意事項
決まった符号化方式で安全でない文字のバイトを取得する方法です。
3.例
· 決まった符号化方式で安全でない文字のバイトを取得する方法です。
数式 | 結果 | 備考 |
---|---|---|
encode("データを生産力に") | "%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E7%94%9F%E7%94%A3%E5%8A%9B%E3%81%AB" | - |
十七.注意事項
パラメータの中でtableNameやviewNameが含まれる本文での関数について、その関数の呼び出しの時はいずれもプライベートデータソースの中から、またパブリックデータソースの中から検索する順となっています。