SpreadJS製品ヘルプ
計算
機能 > テーブルシート > 計算

テーブルシートは、拡張された計算エンジンによって、通常のスプレッドシートのように計算データの作成や分析を行うことができます。

計算列

単純な列参照または高度な集計機能および論理関数を使用して、計算列を追加できます。 これらの計算列は、「= [@ column1]」などの構造化参照を使用して作成でき、CalcEngine関数もサポートします。

参照には、少なくとも1つの行や列の参照が含まれます。次の表は、使用可能なすべての行と列の一覧です。

参照 説明と例
行参照
現在の行

現在の行を参照します。

[@column1] - フィールドcolumn1の現在の行のデータ。

相対行

相対行を参照します。

[@+1column1] - 次の行のcolumn1値を返します。

[@-1column1] - 前の行のcolumn1値を返します。

絶対行

行番号または「最後」/「奇数」/「偶数」で絶対位置の行を参照します。

[#1[column1]] - 行1のcolumn1値を返します。
[#last[column1]] - 最終行のcolumn1値を返します。

IDによる絶対行

主キーで行を参照します。

[$1234[column1]] - 主キー「1234」のデータのcolumn1値を返します。

行範囲

行の範囲を開始行と最終行で参照します。

[@:#last[column1]] - 現在の行から最後の行までの行のcolumn1値を返します

複数行

コンマ区切りで複数行を参照します。

[#1,@-1:@+1,#last[column1]] - 最初の行、前の行から次の行、および最後の行のcolumn1値を返します。

列参照

通常フィールド

現在フィールドの参照。

[@column1] - 現在のフィールドcolumn1のデータ。

オブジェクトフィールドの属性

現在フィールドの属性を参照します。

[@column1.abc] - フィールドcolumn1の現在の行にある「abc」の属性値を返します。

配列フィールドの項目

現在のフィールドのインデックス項目を参照します。

[@column1.1] - フィールドcolumn1の現在の行の最初の値を返します。

特別フィールド

現在のフィールドの属性をスペースで参照します。

[@[column 1].[a aa]] - 角かっこを使用して特定のフィールドを返します。

列全体

フィールド全体を参照します。

[column1] - column1のすべてのデータを返します。

次のサンプルコードは、計算列を作成する方法を示します。ここで、「Total Price」列には、「=([@unitPrice] * [@taxRate])/100 + [@unitPrice]」の数式が設定されています。

JavaScript
コードのコピー
// テーブルシートにビューを連結します。 
myTable.fetch().then(function () {
    var view = myTable.addView("myView", [

        { value: "stockItem", width: 300, caption: "Stock Item" },
        { value: "unitPrice", width: 120, caption: "Unit Price" },
        { value: "taxRate", width: 120, caption: "Tax Rate" },
        { value: "=([@unitPrice] * [@taxRate])/100 + [@unitPrice]", caption: "Total Price", width: 150 } // 計算列。
    ]);
    sheet.setDataView(view);
});

ワークシートでテーブルシートを参照

構造化参照を使用して、テーブルと同じようにワークシートのテーブルシートを参照できます。 テーブルシートのデータを相互参照および集計して、高度なレポートビューを作成するのに役立ちます。

テーブル参照と同様に、数式にテーブルシート名と列キャプションを設定できます。それに、読みやすくないですが、A1/R1C1の参照スタイルもサポートします。

例えば、次の図はSUM、COUNT、およびUNIQUEなどの関数の使用方法を示します。ここで、テーブルシート参照は「SUM(Tablesheet1[Total Price])」です。

参照スタイルをセル数式、チャート及び条件付き書式にも使用できます。次のサンプルコードは、ワークシート内にテーブルシート参照を設定する方法を示します。

JavaScript
コードのコピー
// 新しいシートを作成し、2番目の位置に追加します。
var sheet1 = new GC.Spread.Sheets.Worksheet();
sheet1.name("数式でのテーブルシート参照");
spread.addSheet(1, sheet1);
sheet1.setColumnWidth(0, 250);
sheet1.setColumnWidth(1, 150);

// TableSheet参照をWorkSheet数式に使用します。
sheet1.setValue(0, 0, "「Stock Item」の個数")
sheet1.setFormula(0, 1, "=COUNTA(TableSheet1[Stock Item Key])");
sheet1.setValue(1, 0, '「Total Price」の合計')
sheet1.setFormula(1, 1, '=SUM(TableSheet1[Total Price])');
// 独自の税率。
sheet1.setValue(3, 0, '異なる税率:')
sheet1.setFormula(3, 1, '=UNIQUE(TableSheet1[Tax Rate])'); // 動的配列を返し、最初はallowDynamicArrayをtrueに設定しています。

データマネジャーテーブルからデータを取得するには、QUERY関数を使用できます。詳細情報については、数式参照のQUERY 関数を参照してください。