[]
        
(Showing Draft Content)

データマネージャー

SpreadJS は、データマネージャーと呼ばれる構造化データ用のランタイムデータモデリングエンジンを提供します。

データマネージャーは、SpreadJS の基盤となるデータレイヤーです。

テーブルシートガントシートレポートシート、および データチャート などの最新の SpreadJS コンポーネントは、このエンジンで定義された構造化データモデルを使用します。

データマネージャーでは、データについて次の内容を定義します。

  • 整理方法

  • 構造

  • 関連付け

  • 検証

  • 計算

  • 表示用の準備

ワークブック インスタンスには、1 つ のデータマネージャーインスタンスのみが含まれます。

データマネージャーでには、次の方法でアクセスできます。

var dataManager = spread.dataManager();

GC.Data.DataManager は単独でインスタンス化できますが、手動で作成したインスタンスはワークブックに接続されません。SpreadJS コンポーネントは、ワークブックが所有する データマネージャーのみを使用して動作します。

SpreadJS におけるデータマネージャーの役割

データマネージャーは、次の処理を担当します。

  • 構造化テーブルの管理

  • スキーマと列の動作の定義

  • テーブル間のデータリレーションの確立

  • 階層データおよび計算データ定義のサポート

  • 表示およびコンポーネントバインディング用のビューの作成

データマネージャーは、生のデータソースと UI コンポーネントの間にモデリングレイヤーを提供します。

概念上のオブジェクト構造は次のとおりです。

ワークブック
  └─ データマネージャー(ワークブックごとに 1 つ)
        ├─ テーブル(複数)
        │     ├─ スキーマ(テーブルごとに 1 つ)
        │     │     └─ 列(複数)
        │     └─ ビュー(複数)
        └─ データリレーション(複数)

この構造は、SpreadJS におけるすべての構造化データ駆動型コンポーネントの基盤となります。

ランタイムと SpreadJS デザイナ

SpreadJS では、構造化データを定義および操作するための 2 つの環境を提供しています。

ランタイム

テーブルおよびモデルは、DataManager API を使用してプログラムで定義します。

ランタイムでは、次の操作を行います。

  • ワークブックのデータマネージャーにアクセスする

  • テーブルを作成する

  • スキーマを定義する

  • データリレーションを確立する

  • ビューを作成する

SpreadJSデザイナ

SpreadJSデザイナは、同じデータモデルを定義するための視覚的な設定環境を提供します。

SpreadJSデザイナでは、データソースパネル を使用して次の操作を行えます。

  • 構造化テーブルを定義する

  • スキーマと列の動作を設定する

  • データリレーションを確立する

  • 階層データを有効にする

  • 検証ルールおよび書式ルールを適用する

  • 設定済みのデータをプレビューする

SpreadJSデザイナで行ったすべての設定は、ランタイムのデータマネージャーに直接マッピングされます。

SpreadJSデザイナは別個のデータシステムを導入するものではありません。コードから利用できるものと同じテーブル、スキーマ、およびデータリレーションに対する視覚的なオーサリングレイヤーを提供します。

SpreadJSデザイナでデータモデルを設定する方法については、SpreadJSデザイナのドキュメント を参照してください。

データマネージャーを使用する理由

テーブルシートやガントシートなどの構造化コンポーネントでは、フラットなデータ配列だけでは不十分です。これらのコンポーネントは、次の要素に依存します。

  • 明示的なテーブル定義

  • 列メタデータ

  • データ型および検証ルール

  • テーブル間のデータリレーション

  • 表示用のビュー定義

データマネージャーを使用すると、次のことができます。

  • コンポーネントにバインドする前に構造化データを準備する

  • 複数テーブルのシナリオに対応するリレーショナルデータモデルを定義する

  • 階層および計算フィールドを設定する

  • 1 つのテーブルを複数のコンポーネントで再利用する

  • データモデリングと UI 表示を分離する

データマネージャーでテーブルを定義すると、そのテーブルは次の用途に使用できます。

  • テーブルシートまたはガントシートにバインドする

  • レポートシートのデータソースとして使用する

  • データチャートの可視化を駆動する

  • 同じワークブック内の複数のコンポーネントで再利用する

データモデリングワークフロー

データマネージャーの使用は、通常、次の順序で行います。

  1. ワークブックのデータマネージャーを取得する

  2. 1 つ以上のテーブルを作成する

  3. スキーマと列の動作を定義する

  4. データリレーションを確立する(複数のテーブルが関係する場合)

  5. 表示用に 1 つ以上のビューを作成する

  6. ビューを構造化コンポーネントにバインドする

このドキュメントは、このモデリングフローに沿って構成されています。また、各コアオブジェクトを個別に参照できるようにも整理されています。

このドキュメントの参照方法

このドキュメントは、データマネージャーの主要なモデリング概念を中心に構成されています。

次の 2 つの方法で参照できます。

モデリングフローに沿って読む

構造化データモデルを最初から作成する場合は、次の順序で読んでください。

  1. データマネージャーの取得

  2. テーブルの作成

  3. スキーマの定義

  4. テーブル間のデータリレーション

  5. ビュー

  6. テーブル操作

  7. SpreadJS コンポーネントとの連携

この順序は、一般的なエンドツーエンドのモデリングプロセスを反映しています。

コアオブジェクト別に参照する

特定の概念を探している場合は、次を参照してください。

各セクションは、必要に応じて個別に読むことができます。

このドキュメントで扱う内容

以降のセクションでは、次の内容について説明します。

  • データマネージャーにアクセスして使用する方法

  • テーブルを作成および設定する方法

  • スキーマと列がデータの動作を定義する仕組み

  • データリレーションが複数のテーブルを接続する仕組み

  • ビューが表示とバインディングを制御する仕組み

  • 同期や追跡などのデータ動作を設定する方法

各セクションには、実用的な使用パターンを示すための、焦点を絞った説明と実行可能なサンプルが含まれています。