複数シートデータ計算

  • 作成者:ayuan0625
  • 編集回数:12次
  • 最終更新:FRInternational 于 2024-02-03
  • 1.概要

    1.1 応用シーン

    帳票間では変数やハイパーリンクなどでデータを渡すことができますが、同じテンプレート内の複数のシート間では変数やハイパーリンクで値を渡すことはできません。

    では、あるシートで別のシートのあるセルの値を取るにはどうすればいいのでしょうか。つまり、シートにまたがって数を取るにはどうすればいいのでしょうか?以下で詳しく説明します。

    下図の例では、sheet1 の注文コストは sheet2 のセルから計算されています。 sheet2 のデータを変更すると、sheet1 の注文コストも変更されます。

    2024-02-03_23-26-03.gif

    1.2 実現方法

    =sheetname!cellnameという式が使えて、シート間で値を取ることを実現します。例えば sheet1 のあるセルに sheet2 のA2セルの値を取ると、=sheet2!A2という式を追加できます。

     sheetname に短い線や下線などの特殊文字が含まれている場合は、 sheetname に一重引用符を付ける必要があります。式は、='sheetname'!cellname

    1.3 注意事項

    現在のシート計算ロジック:1)シート内計算ロジック、左から右へ、上から下へ。2)シート間計算ロジック、左から右へ、引用があれば先に引用を計算します。

    問題説明:

    たとえば、sheet1 がロードされ、まずC1が計算され、C1がsheet2を引用している場合、計算が中断され、sheet2が計算され、sheet2がD1を計算し、sheet1のC2とC3が引用されます。sheet1 のC2には値があり、C3は sheet3を引用していますが、この時点では sheet3の計算をトリガしていません。つまり、 sheet1 が sheet2 を引用して sheet2 の計算をトリガしています。しかし、後に sheet1 が sheet3 を参照しても sheet3 のロードはトリガーされず、別の sheet を参照してその sheet の計算がトリガーされるのは1回だけです。C3は sheet3 の計算をトリガせずに空を返しました。

    解決策:

    依存するセルを1つのsheetにまとめて、他のsheetはこのsheetのセルを引用します。

    2.例

    2.1 データ準備

    1)まず、シート1にds1、シート2にds2という2つのデータセットを作成します。SQL文は次のようになります。

    • ds1:SELECT*FROM 注文

    • ds2:SELECT*FROM 注文明細

    2)次の図に示すようにテンプレート変数を追加します。デフォルト値を10001に設定します。

    3)変数パネルでこの変数にウィジェットをバインドします。ウィジェットをプルダウンボックスに設定し、データ辞書を注文表の注文IDフィールドに設定します。

    2.2 sheet2準備

    1)新しいsheet2を作成し、下図のようにsheet2のテーブルを設計し、ds2のフィールドを対応するセルにドラッグし、A2セルにフィルタとテンプレート変数を追加してバインドを完了します。

    次の図のように、E2セルにSUM(C2*D2)という式、A2セルにプルダウンボックス・ウィジェット、B2~D2にテキスト・ウィジェットを追加します。

    2)次の図に示すように、sheet2に書き込み属性を設定します。

    2.3 シート間の連動を実現

    1)下図のように sheet1 のテーブルを設計し、ds1のフィールドを対応するセルにドラッグし、A2セルにフィルタとテンプレート変数を追加してバインドを完了します。

    C2セルにsheet2!E2+B2という式を追加、つまり、sheet2 のE2セルとsheet1 のB2セルの合計を計算します。

    2)次の図に示すように、sheet1 に書き込み属性を追加します。

    2.5 効果プレビュー

    テンプレートを保存した後、書き込みプレビューをクリックします。sheet2 の関連セルを修正すると、sheet1 の注文コストも変更されます。効果は1.1の応用シーンに示されています。

    注:モバイル端末はサポートされていません。

    3.テンプレートダウンロード

    テンプレートをダウンロード:シート間の連動.cpt 


    Attachment List


    Theme: FineReport データ書き込み
    既に最初
    既に最後
    • Helpful
    • Not helpful
    • Only read