# Лучшие способы моделирования данных

В настоящем разделе описывается ряд различных способов загрузки данных в документ QlikView в зависимости от структурирования данных и требуемой модели данных.

В целом способ загрузки данных в документ можно объяснить с помощью процессов извлечения, преобразования и загрузки:

1. Извлечение

   Первым шагом является извлечение данных из системы источника данных. Чтобы это определить, в скрипте используются операторы SELECT или LOAD. Различия между этими операторами заключаются в следующем:

   * SELECT используется для выбора данных из источника данных ODBC или поставщика OLE DB. Оператор SELECT SQL выполняется поставщиком данных, а не программой QlikView.
   * Оператор LOAD используется для загрузки данных из файла, из данных, определенных в скрипте, из ранее загруженной таблицы, с веб-страницы, из результата последующего оператора SELECT или путем автоматической генерации данных.

2. Трансформация

   Этап преобразования включает в себя работу с данными с помощью функций скрипта программы и правил извлечения необходимой структуры модели данных. Типичные операции:

   * Вычисление новых значений
   * Перевод закодированных значений
   * Переименование полей
   * Соединение таблиц
   * Агрегирование значений
   * Сведение
   * Проверка корректности данных

3. Load

   На последнем этапе скрипт запускается для загрузки определенной модели данных в документ.

Цель — создать модель данных, которая позволяет эффективно управлять данными в программе QlikView. Обычно это означает, что необходимо стремиться к разумным образом нормализованной схеме «звезда» или «снежинка» без циклических ссылок, то есть к модели, где каждая сущность хранится в отдельной таблице. Другими словами, типичная модель данных будет выглядеть следующим образом:

* центральная таблица фактов, содержащая ключи к измерениям и числа, используемые для вычисления мер (например, количество делений, объемы продаж и сметные суммы);
* окружающие таблицы, содержащие измерения со всеми атрибутами (например, продукты, клиенты, категории, календарь и поставщики).

Примечание к информацииВо многих случаях можно решить задачу, например, для агрегирования, путем построения более емкой модели данных в скрипте загрузки или выполнения агрегирований в выражениях диаграмм. Как правило, производительность будет выше, если функции преобразования данных хранятся в скрипте загрузки.

Примечание к подсказкеРекомендуется набрасывать эскиз модели данных на бумаге. Это поможет четко структурировать, какие данные следует извлечь и какие преобразования необходимо выполнить.

Каждая таблица в модели данных обычно соответствует оператору SELECT или LOAD. Различия между этими операторами заключаются в следующем:

* SELECT используется для выбора данных из источника данных ODBC или поставщика OLE DB. Оператор SELECT SQL выполняется поставщиком данных, а не программой QlikView.
* Оператор LOAD используется для загрузки данных из файла, из данных, определенных в скрипте, из ранее загруженной таблицы, с веб-страницы, из результата последующего оператора SELECT или путем автоматической генерации данных.