4D 21 R2では、SpreadJS v18.2を基盤とした4D View Proの更新版と、このリリースと完全互換のリボンが導入されました。4D View ProはSpreadJSの上に構築されているため、基盤となるエンジンのアップグレードにより、即座にパフォーマンスの向上と新機能がもたらされます。 これらの強化点の一部は4Dから直接利用可能で、一部はView Proデザイナー経由でアクセスでき、一部はカスタムJavaScriptコードが必要です。本記事では、SpreadJS v18.2によって導入された最も重要な変更点(4D関数として直接公開されていない機能を含む)を重点的に紹介します。
ピボットテーブルアドオンの機能強化
データソース変更のサポート
従来、ピボットテーブルがデータセットにバインドされると、そのソースを変更するには多くの手作業が必要でした。更新ソースメソッド(およびデザイナー UI サポート)により、ピボットテーブルの背後にあるデータをシームレスに切り替え、既存のレイアウトをそのまま維持できるようになりました。
単一フィールドでの小計表示
Excelと同様に、個々のフィールドのサブ合計を表示できるようになりました。pivotTable.subtotalVisible(“フィールド名”, true) を使用することで、サブ合計の表示/非表示を制御できます。

フィルターダイアログのキーボード操作サポート
ピボットテーブルのフィルタリングダイアログで、キーボード操作(Tab、Shift + Tab、矢印キー、Space、Enter、Esc)が完全にサポートされるようになりました。
パフォーマンスの改善
v18.1 リリースでは、パフォーマンスが大幅に向上しました。内部ベンチマークでは、ピボットテーブルのレンダリングと操作が 30~50% 高速化され、メモリ使用量が 50% 以上削減されています。
フィールド書式設定の強化(Excel 風ピボットテーブル)
ピボットテーブルフィールド上で、より詳細な書式設定(数値書式、フォント、色)を直接制御できるようになりました。
ピボットテーブルの全列データソース
この機能により、ピボットテーブルのソースを固定範囲ではなく、ワークシートの列全体(例:Sheet1!C:D)にバインドできるようになりました。
計算エンジンの強化
TRIMRANGE関数
データ範囲の端にある空の行または列を削除する新しい関数です。先頭、末尾、または両方の削除を選択できます。
REGEX関数
Excel互換の正規表現関数3種:
- REGEXTEST(文字列, パターン): 文字列がパターンに一致するか確認します。
- REGEXEXTRACT(text, pattern): 一致する部分文字列を抽出します。
- REGEXREPLACE(text, pattern, replacement): 一致部分を別の文字列に置換します。
GROUPBY、PIVOTBY、PERCENTOF
これらの集計関数により高度な要約操作が可能:
- GROUPBY: 行フィールドに沿ってグループ化し、関連する値を集計してデータの要約を作成します。
デモ - PIVOTBY:二つの軸に沿ってグループ化し、関連する値を集計してデータの要約を作成します。
デモ - PERCENTOF:最初の引数を合計し、2番目の引数の合計で割ります。特にGROUPBYやPIVOTBY と組み合わせて使用すると、パーセンテージを返すことができるため便利です。
デモ
インポート/エクスポートの改善
ロスレス XML マップエクスポート
XMLマップを忠実にエクスポートできるようになり、マクロとXMLマップが保持されます。
XLSM および XLTM ファイル形式のサポート
4D View Pro は、マクロ対応の Excel ワークブック (.xlsm) およびテンプレート (.xltm) をサポートするようになりました。マクロ自体は実行されない場合がありますが、その定義はインポート/エクスポート時に保持されます。
まとめ
これらの機能強化は、SpreadJS v18、v18.1、v18.2が提供する機能の一部に過ぎません。すべての新機能と改善点を探索したい場合は、3つの公式リリースページで詳細を確認できます:
Comments are not currently available for this post.