帳票関数

  • 作成者:ayuan0625
  • 編集回数:17次
  • 最終更新:FRInternational 于 2021-11-26
  • 一.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が含まれる本文での関数について、その関数の呼び出しの時はいずれもプライベートデータソースの中から、またパブリックデータソースの中から検索する順となっています。

    Attachment List


    Theme: FineReport 帳票実例
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read