# データ モデリングのベスト プラクティス

QlikView ドキュメントへのデータ ロード方法は、データ構造や希望するデータ モデルによって異なります。このセクションでは、こうしたデータ ロード方法について説明します。

通常、ドキュメントへのデータのロードは、抽出、変換、ロードというプロセスで行います。

1. 抽出

   最初のステップは、データ ソース システムからのデータ抽出です。スクリプトでは、SELECT または LOAD ステートメントでデータ抽出を定義します。この 2 つのステートメントには、以下のような違いがあります。

   * SELECT は、ODBC データ ソースあるいは OLE DB プロバイダからのデータ選択に使用します。SELECT SQL ステートメントは、QlikView ではなく、データ プロバイダによって評価されます。
   * LOAD は、ファイルやスクリプトで定義されたデータ、以前にロードされたテーブル、ウェブページ、後続の SELECT ステートメントの結果からロードされたデータ、または自動的に生成されたデータのロードに使用します。

2. 変換

   変換段階では、スクリプト関数とルールを使用してデータを操作し、目的のデータ モデル構造を取得します。標準的な操作は以下のとおりです。

   * 新しい値の計算
   * コード化された値の変換
   * 項目名の変更
   * テーブルの結合
   * 値の集計
   * ピボット化
   * データ検証

3. Load

   最終段階として、スクリプトを実行し、ドキュメントに定義したデータ モデルをロードします。

QlikView でデータを効率良く取り扱えるデータ モデルを構築することが目標です。これは通常、循環参照しない、ある程度標準的なスター スキーマあるいはスノーフレーク スキーマを作り、各エンティティが個々のテーブルで維持されるようなモデルを作成することを意味します。典型的なデータ モデルは、以下のようになります。

* (ユニット数、売上金額、予算額などの) メジャーの計算に使用される、軸および数値のキーを含む中心ファクト テーブル。
* (製品、顧客、カテゴリ、カレンダー、サプライヤなど) 属性をすべて備えた軸を含む周辺のテーブル。

情報メモ多くの場合、集計などのタスクは、ロード スクリプトでより高度なデータ モデルを構築するか、チャート式で集計を実行することで解決できます。一般的に、ロード スクリプトにデータ変換が含まれていると、より高いパフォーマンスを実現できます。

ヒント メモデータ モデルを紙にスケッチすることも役立ちます。構造を目で確認することで、どのデータを抽出し、どの変換を実行すべきかを判断しやすくなります。

データ モデルの各テーブルは、SELECT あるいは LOAD ステートメントのいずれかに対応しています。この 2 つのステートメントには、以下のような違いがあります。

* SELECT は、ODBC データ ソースあるいは OLE DB プロバイダからのデータ選択に使用します。SELECT SQL ステートメントは、QlikView ではなく、データ プロバイダによって評価されます。
* LOAD は、ファイルやスクリプトで定義されたデータ、以前にロードされたテーブル、ウェブページ、後続の SELECT ステートメントの結果からロードされたデータ、または自動的に生成されたデータのロードに使用します。