テーブルシートは、拡張された計算エンジンによって、通常のスプレッドシートのように計算データの作成や分析を行うことができます。
単純な列参照または高度な集計機能および論理関数を使用して、計算列を追加できます。 これらの計算列は、「= [@ column1]」などの構造化参照を使用して作成でき、CalcEngine関数もサポートします。
参照には、少なくとも1つの行や列の参照が含まれます。次の表は、使用可能なすべての行と列の一覧です。
参照 | 説明と例 |
---|---|
行参照 | |
現在の行 |
現在の行を参照します。 [@column1] - フィールドcolumn1の現在の行のデータ。 |
相対行 |
相対行を参照します。 [@+1column1] - 次の行のcolumn1値を返します。 [@-1column1] - 前の行のcolumn1値を返します。 |
絶対行 |
行番号または「最後」/「奇数」/「偶数」で絶対位置の行を参照します。 [#1[column1]] - 行1の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 関数を参照してください。