Сегодня хочу поговорить об экстракции данных, как контролировать этот процесс с помощью простой таблицы Excel. Как все мы знаем, это первый этап ETL-процесса. Именно этот этап в последующем во многом определит, насколько быстро будут обрабатываться данные в приложении.
Задача
Наша задача состоит в том, чтобы создать таблицу (или таблицы), где будем прописывать, какие QVD-файлы будут сгенерированы на стадии экстракции данных. В файле Excel будут указаны таблицы, поля, правила ограничений и прочее.
Итак, нам нужно создать новую таблицу, которая не будет добавлять данные в приложение, но будет в конечном приложении генерировать новый QVD.
Таблица
Данную задачу буду решать через таблицу, которая будет контролировать извлекаемые таблицы.
Столбцы таблицы
Рабочий лист будет состоять из следующих столбцов:
• Обновление: в этой колонке будет отображаться информацию по обновлению таблицы. Так, мы сможем видеть, обновлялась ли эта таблица и определить, нужно ли это обновление в этом случае;
• Имя QVD: окончательное имя, которое получит QVD;
• Поля: отвечает за определение всех полей или тех, которые читаются в этой таблице;
• Таблицы: имя таблицы, которая участвует в обработке запроса или нескольких таблиц (если запрос с несколькими таблицами);
• Условие: указание на условие, ГДЕ будет выполняться запрос.
• Временные: Если эта таблица (или запрос) являются инкрементальными с условными данными.
Как заполнить каждую колонку?
• Обновление: имеет статус да или нет;
• Имя QVD: Вы должны заполнить имя QVD, который будет сгенерирован. Если это запрос с датой, то он будет добавлен в «_YYYYMM» суффикс имени QVD, указывая, какой год и месяц.
• Поля: Синтаксис такой же, как и в SQL, если вам нужны все поля, то вы должны заполнить ее со * (звездочка), если вам нужны некоторые поля, то используйте запятую в качестве разделителя.
• Таблица: Синтаксис такой же, как используется в SQL для FROM, то есть, если у вас есть одна таблица, то вы должны использовать только имя таблицы, если запрос состоит из различных таблиц, имена таблиц должны иметь псевдоним и разделитель в виде запятой;
• Условие: Синтаксис такой же как используется в SQL для WHERE (нет необходимости устанавливать параметр в таблице), если условие является временным.
• Временные: Параметр да/нет
У нас будет должна получиться таблица, как указана выше.
Выполним некоторые настройки:
Пропишем следующие строки скрипта.
Укажем, где хранить временные данные:
Работа с временными таблицами.
Здесь указываем работу с таблицами, на которые наложены условия.
Вот, что получится у нас на выходе:
Теперь предлагаю вам скачать файлы исходников:
На этом все на сегодня! Отличных вам разработок с QlikView.
Свежие комментарии