Forguncy 8 オンラインヘルプ
Forguncyの使い方 / レポート / / 式のフィールド
このトピックで
    式のフィールド
    このトピックで

    このセクションでは、式エディタでの各式要素の使用方を紹介します。

    定数

    定数は、特定のプロパティでのみ使用可能なフィールドです。たとえば、[背景色]プロパティでは「Transparent」や「Black」などが候補として表示されます。

    共通の値

    共通の値は、現在のページ番号やレポートページの総数など、レポート自体に関する情報を取得できる項目が含まれています。

    日付と時刻

    {&ExecutionTime}:現在の日付と時刻を表示します。

    ページ番号

    ページ番号は2種類用意されています。

    次の式を使用して、グローバルページ番号、またはローカルページ番号を表示できます。

    たとえば、「ページ番号、総ページ」を選択すると、次の値が式に追加されます。

    {&PageNumber}/{&TotalPages}

    レポートをプレビューした場合の出力内容は次のとおりです。

    ヒント:

    たとえば、[レポート]オブジェクトでグループ化を設定している場合にページ番号(セクション)「{&PageNumberInSection}」、または総ページ(セクション){&TotalPagesInSection}を使用したければ、[レポート]オブジェクトの[グループ毎にページ番号を設定]プロパティを「はい」に設定します。

    レポートの名前

    {&ReportName}:レポートの名前を表示します。

    ユーザーID

    {User!UserID}:レポートを出力しているシステムの実行ユーザーを表示します。これはForguncyアプリケーション上のユーザーではなく、システム(OS)のユーザーであることに注意してください。

    ユーザー言語

    {User!Language}:レポートを出力しているシステムの実行ユーザーの言語設定を表示します。

    パラメータ

    レポートパラメータが定義されている場合、それらのパラメータがこのカテゴリに表示されます。ダブルクリックで追加すると、「{@レボートバラメータ1}」のような値が式入力ボックスに追加されます。これは、実行時にパラメータ値に置き換えられます。

    なお、[データ]タブのレポートパラメータをデザイン領域にドラッグ&ドロップすることで、そのパラメータ値を表示する式が設定されたTextBoxコントロールを配置できます。

    データセット

    対象のレポート要素に設定されているデータセットのフィールドの一覧がこのカテゴリ表示されます。

    演算子

    レポートの演算子には、算術、連結、比較、および論理/ビットなどがあります。

    1. 算術演算子

    算術演算子はオペランド(演算の対象となる値)として数値を受け取り、1つの数値を返します。

    ヒント:

    • 算術演算子の優先順位は次のとおりです(上から下の順)。
      • ^演算子
      • *演算子、および/演算子(どちらかに優先順位はなし)
      • \演算子
      • Mod演算子
      • +演算子、および-演算子(どちらかに優先順位はなし)
    • 同じ式で同じ算術演算子を複数回使用している場合、左から右の順序で計算します。
    • 括弧を使用することで、優先順位を’変更できます。

    2. 比較演算子

    通常の比較演算子

    比較演算子は、オペランドを比較し、その結果をブール値で返します。

    結果は、True(1)、False(0)、またはNullになります。 比較演算子は、単独で使用できますし、組み合わせて使用することもできます。 Nullの結果は、第1オペランド、または第2オペランドがNullの場合にのみ生成されます。

    上記の構文を組み合わせて、これらの比較操作の結果がTrueまたはFalseの場合に必要な条件を説明します。

    比較演算子は、数値だけでなく文字列比較にも使用できます。オペランドの1つが数値で、もう1つが文字列の場合、数値は常に文字列式より小さいと評価されます。両方のオペランドが文字列の場合、文字列の長さが大きいほうが大きいと評価されます。文字列が同じ長さの場合、小文字の方が大文字より大きいと評価されます。

    Is演算子

    2つのオブジェクト変数が同じオブジェクトを指しているかどうかを判断する演算子です。

    左のオペランドと右のぺランドの両方が同じオブジェクトを指している場合、結果はTrueになります。それ以外の場合、結果はFalseになります。

    たとえば、データセットのフィールド値がNullであるかどうかを確認するために使用できます。

    {IIF(AvatarUrl Is Null, "http://example.com/no-photo.jpg", "http://example.com" + AvatarUrl)}

    Like演算子 

    Like演算子は、指定された文字列が指定されたパターンと一致するかどうかを判断するために使用されます。

    ここで、文字列はパターンと比較される文字列であり、文字列が指定されたパターンと一致する場合、結果はTrueになります。それ以外の場合、Falseになります。左のオペランド、または右のオペランドがNullの場合、結果はNullになります。

    右側のオペランドには以下のワイルドカード文字を含めることができます。

    角かっこ内の文字列には、数字を含む任意の種類の文字を含めることができます。ハイフン(-)を使用することで、文字の範囲を指定できます。たとえば「 [A-D]」と指定した場合、A、B、C、Dの4文字のいずれも一致します。「[!A-D]」と指定した場合にはAからDまで以外のすべての文字と一致します。また、「[A-D H-J]」などのように半角スペースで区切ることで、複数の範囲指定を行うことも可能です。

    なお、「[-HN]」などのように角かっこ内がハイフン(-)で開始されている、もしくは終了している場合には、ハイフンという文字と一致するかどうかという処理になることに注意してください。「?」のようなワイルドカード文字であっても、角かっこ内に騎亜視した場合にはその文字と一致するかどうかという判定になります。

    たとえば、次の式は「商品名」フィールド値にアルファベットのa、b、x、y、zが含まれている場合に、文字列「Pink」を返します。から

    {IIF(商品名 Like "*[a-b x-z]*", "Pink", 商品名)}

    比較演算子の優先順位

    複数の比較演算子が同じ式行にある場合、それらは左から右に計算されます。

    3. 連結演算子

    以下は、これら2つの連結演算子の例です。

    4. 論理演算子

    論理演算子の使用方法

    論理演算子はブール値で使用されます。論理演算子には、And、Or、Not、Eqv、Imp、Xorが含まれます。

    論理演算子の優先順位

    論理演算子の優先順位は次のとおりです。

    Not ― And ― Or ― Xor

    同じ論理演算子が複数回使用されている場合、評価は左から右に実行されます。

    5. ビットシフト

    ビット演算子は、バイナリデータに対してシフト演算を実行するために使用されます。

    6. 各演算子の種類の優先順位

    式に複数種の演算子が含まれている場合、優先順位は次のとおりです。

    算術演算子 ― 連結演算子 ― 比較演算子 ― 論理演算子

    括弧を使用することで優先順位を変更できます。括弧内の式は、常に括弧外の式よりも優先されます。

    共通の関数

    日付と時刻(DateAddなど)、数学(Absなど)、文字列、検査(IsArrayなど)、プログラムフロー(IIFなど)、集計(Sumなど)、変換(ToStringなど)、およびその他(Lookupなど)に分類されて表示されます。

    具体的な使用方法については、共通の関数を参照してください。

    見出しマップ

    目次(見出しマップ)の連番(ナンバリング形式の文字列部分)を出力するフィールドです。

    テーマ

    テーマからフォント(フォント名、サイズ、スタイル、太さ)、色、定数、画像を出力するフィールドを提供します。

    レポートアイテム

    レポートでは、参照や計算を行うために他のコントロールの値が必要となる場合があります。そのような場合に、次の式を使用してコントロールの値を参照します。

    {#TextBox1}

    参照可能なレポートアイテムは、[レポートアイテム]の下に一覧が表示されます。

    使用例:

    1. Tableデータ領域に列を追加し、金額とカテゴリの合計金額の比率を出力します。

    2. 「金額」が表示されるセルと「カテゴリの合計金額」がj表示されるセルのTextBoxコントロールの[名前]プロパティの値を確認します。

      名前がそれぞれ「TextBox6」と「TextBox14」であることがわかります。

    3. 新しい列のTextBoxコントロールに式「{#TextBox6 / #TextBox14}」を追加し、[表示形式]プロパティを「パーセント」に設定します。

    4. レポートをプレビューして確認すると、次のようにカテゴリの合計金額に占める割合が出力されていることが確認できます。

    注意:レポートアイテムを参照する場合、レポートの生成時にそのレポートアイテムが参照元のレポートアイテムと同じページに存在している必要があります。レポートの設計時において同一ページ上に配置されていたとしても、レポート生成時にそのレポートアイテムが出力されていなければ、値を参照することはできません。