Сегодня хочу поговорить об экстракции данных, как контролировать этот процесс с помощью простой таблицы Excel. Как все мы знаем, это первый этап ETL-процесса. Именно этот этап в последующем во многом определит, насколько быстро будут обрабатываться данные в приложении.

Задача

Наша задача состоит в том, чтобы создать таблицу (или таблицы), где будем прописывать, какие QVD-файлы будут сгенерированы на стадии экстракции данных. В файле Excel будут указаны таблицы, поля, правила ограничений и прочее.

Итак, нам нужно создать новую таблицу, которая не будет добавлять данные в приложение, но будет в конечном приложении генерировать новый QVD.

 

Таблица

Данную задачу буду решать через таблицу, которая будет контролировать извлекаемые таблицы.

Столбцы таблицы

Рабочий лист будет состоять из следующих столбцов:

• Обновление: в этой колонке будет отображаться информацию по обновлению таблицы. Так, мы сможем видеть, обновлялась ли эта таблица и определить, нужно ли это обновление в этом случае;

• Имя QVD: окончательное имя, которое получит QVD;

• Поля: отвечает за определение всех полей или тех, которые читаются в этой таблице;

• Таблицы: имя таблицы, которая участвует в обработке запроса или нескольких таблиц (если запрос с несколькими таблицами);

• Условие: указание на условие, ГДЕ будет выполняться запрос.

• Временные: Если эта таблица (или запрос) являются инкрементальными с условными данными.

Как заполнить каждую колонку?

 

• Обновление: имеет статус да или нет;

• Имя QVD: Вы должны заполнить имя QVD, который будет сгенерирован. Если это запрос с датой, то он будет добавлен в «_YYYYMM» суффикс имени QVD, указывая, какой год и месяц.

• Поля: Синтаксис такой же, как и в SQL, если вам нужны все поля, то вы должны заполнить ее со * (звездочка), если вам нужны некоторые поля, то используйте запятую в качестве разделителя.

• Таблица: Синтаксис такой же, как используется в SQL для FROM, то есть, если у вас есть одна таблица, то вы должны использовать только имя таблицы, если запрос состоит из различных таблиц, имена таблиц должны иметь псевдоним и разделитель в виде запятой;

• Условие: Синтаксис такой же как используется в SQL для WHERE (нет необходимости устанавливать параметр в таблице), если условие является временным.

• Временные: Параметр да/нет

Meta QlikView Data Extraction

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

Meta QlikView Data Extraction

 

Meta QlikView Data Extraction

 

Пропишем следующие строки скрипта. Meta QlikView Data Extraction

 

Meta QlikView Data Extraction
Укажем, где хранить временные данные:

Meta QlikView Data Extraction

Работа с временными таблицами. Meta QlikView Data Extraction

 

Meta QlikView Data Extraction

Здесь указываем работу с таблицами, на которые наложены условия. Meta QlikView Data Extraction

Meta QlikView Data Extraction

 

Meta QlikView Data Extraction

 

Meta QlikView Data Extraction

Вот, что получится у нас на выходе:

Meta QlikView Data Extraction

 

Теперь предлагаю вам скачать файлы исходников:

— таблицу

и приложение.

На этом все на сегодня! Отличных вам разработок с QlikView.