Импорт данных из внешних источников через промежуточный

advertisement
Импорт данных из
внешних источников
через промежуточный
слой в среде
PlanDesigner
Цели урока:
- Изучить импорт данных из внешних источников через промежуточный слой
- Провести план-фактный анализ «Бюджета продаж»
Оглавление
1. Введение ..............................................................................................................................1
2. Подготовка объектов PlanDesigner к импорту данных из промежуточного слоя и
план-фактному анализу.............................................................................................................2
3. Описание «специфических» измерений IMPORT_TYPE и IMPORT_DATES.............3
Добавление измерения IMPORT_TYPE ..............................................................................3
Добавление измерения IMPORT_DATES ...........................................................................4
4. Использование Excel для подготовки промежуточного слоя ........................................4
5. Импорт фактических данных «Бюджета продаж» ..........................................................7
6. Загрузка данных из Excel в промежуточный слой ........................................................10
7. Импорт фактических данных из промежуточного слоя в PlanDesigner ......................15
8. План-фактный анализ «Бюджета продаж» ....................................................................18
9. Задание для самостоятельной подготовки .....................................................................19
1. Введение
Промежуточный Слой - это несколько таблиц БД определенной структуры. В них
загружаются данные из используемой Учетной Системы (или нескольких УС). В
результате работы "Импорта из ПС" эти данные перегружаются по определенным
правилам в текущую БД PlanDesigner (ПД) , обеспечивая :
 создание/обновление структуры кубов (обычное правило: 1 счет из УС = 1 куб в
ПД)
1


создание/обновление измерений (обычное правило:
измерение в ПД )
загрузка/обновление данных в вышеуказанных кубах
1 аналитика в УС = 1
Общая схема импорта из промежуточного слоя показана на рисунке:
ByteCollector
Excel
1C
Промежуточный
слой
Другие
источники
PlanDesigner
2. Подготовка объектов PlanDesigner к импорту данных из
промежуточного слоя и план-фактному анализу
Создадим два измерения:
1. Измерение «Кварталы», которое будет использоваться для целей загрузки данных
отдельно по каждому кварталу.
2. Измерение «План-факт» используемое для план-фактного анализаза.
Создадим куб «12. Анализ план-факт»
2
3. Описание «специфических» измерений IMPORT_TYPE и IMPORT_DATES
Для того, чтобы выполнить процедуру импорта измерений нужно подготовить 2
специфических измерения, которые должны удовлетворять нескольким критериям. Для
того, чтобы подготовить эти измерения нужно запустить Plan Designer, в главном меню
выбрать пункт «Объекты» и запустить «Список измерений». В окне «Список измерений»
найти или добавить измерение с служебными кодами IMPORT_TYPE и IMPORT_DATES.
Добавление измерения IMPORT_TYPE
Для новой записи нужно определить название (оно может быть совершенно
произвольным), а затем в поле «Код (служебный)» записать ключевое слово
IMPORT_TYPE. Затем на введенной записи нужно дважды щелкнуть мышью и заполнить
атрибуты этого измерения так, как показано на рисунке.
3
При заполнении списка атрибутов измерений их название не играет никакой роли.
Важным является количество атрибутов (6 значимых и 1 не значимый атрибут), а также
код атрибута. Они должны быть такими, как показано на рисунке (см. выше).
Добавление измерения IMPORT_DATES
Для новой записи нужно определить название (оно может быть совершенно
произвольным), а затем в поле «код (служебный)» записать ключевое слово
IMPORT_DATES.
Затем на введенной записи нужно дважды щелкнуть мышью и заполнить атрибуты
этого измерения. Это измерение может содержать произвольное кол-во атрибутов. Для
процедуры импорта данных важно, чтобы это измерение содержало интервалы дат, такие
же, как и в таблице out_value (см. ниже).
Пример заполнения представлен на рисунке:
Пример, поясняющий работу импорта с измерением IMPORT_DATES: допустим у
нас в таблице «промежуточного слоя» out_data (описание таблиц см.ниже) имеется 2
записи. В одной записи значение полей Dt_begin и Dt_end равны 01.01.02 и 31.03.02
(соответственно), а в другой записи - 01.01.02 и 30.03.02. В результате импорта, первая из
этих записей будет проимпортирована, так как значения полей Dt_begin и Dt_end
совпадают с началом и концом интервала в первом атрибуте измерения IMPORT_DATES,
а вторая нет, так как в этом измерении такого интервала, который указан в полях Dt_begin
и Dt_end - нет.
4. Использование Excel для подготовки промежуточного слоя
Для того, чтобы подготовить таблицы «промежуточного слоя» нужно создать в
Excel’е книгу с 3-мя листами. Листы нужны назвать также, как и таблицы
«промежуточного слоя» (см . рисунок).
4
Далее нужно заполнить каждый лист данными. Первая строка каждого листа должна
содержать названия полей. Например, для таблицы out_analit первая строка должна
выглядеть следующим образом:
Out_analit – содержит описание измерений;
Поля таблицы out_value_analit:
1. al_id –структура ПС предусматривает хранение/перезагрузок в нем произвольного
количества различных экспортов из УС. Различаются они по полю al_id ,
присутствующего в каждой из этих таблиц. При работе в этом режиме программа
предварительно перегружает часть данных из 3-х таблиц ПС во внутреннюю
структуру ( временные таблицы ). При этом надо указать, какие именно данные
перегружаются - для этого используется это поле;
2. Code_analit – префикс измерения;
3. Code_attr – содержит код атрибута измерения, входящего в куб;
4. Name_attr – содержит название атрибута измерения, входящего в куб;
5. Code_parent – содержит код атрибута , который является родительским по
отношению к данному атрибуту. Родительским атрибутом может являться только
атрибут из того же самого измерения.
6. order_attr - порядок атрибутов внутри формул.
Примечание: в этой таблице перечисляются атрибуты измерений и устанавливается
иерархия атрибутов в измерении, т.е. какой атрибут является «терминальным», а какой
атрибут аккумулирует значения других атрибутов. Число строк в этой таблице равно
числу всех импортируемых атрибутов. Например, если импортируется 1 куб, в этом кубе
содержится 3 измерения, в первом измерении 2 атрибута, во втором измерении 3
атрибута, а в третьем измерении 4 атрибута, тогда число записей в таблице out_analit
будет равно 2 атрибута из первого измерения + 3 атрибута из второго измерения + 4
атрибута из третьего измерения = 9, т.е. количеству всех атрибутов по всем измерениям во
всех кубах.
В остальных листах первые строки нужно заполнить аналогичным образом, т.е.
перечислить в первой строке все поля таблицы. В остальных строках (начиная со второй
строки) записываются значения этих полей.
5
Таблица Out_structure:
Out_structure – содержит общее описание кубов, а также измерений, которые входят в эти
кубы.
Поля таблицы Out_structure:
1. Account - содержит имя куба, в который будут импортированы данные;
2. Code_analit – содержит префикс измерения. Префикс измерения представляет
собой некий уникальный код, который служит для связи с таблицей out_analit;
3. Name_analit – содержит название измерения. В названии измерения допускается
использование пробелов. В результате импорта из промежуточного слоя измерение
будет создано с этим названием;
4. Order_analit – N-колонки, в таблице out_data, которая содержит значения атрибутов
измерения в кубе. Таблица out_data содержит атрибуты: Code_analit_1,
Code_analit_2, … , Code_analit_10. Всего 10 атрибутов. Атрибут out_number
определяет какая колонка (с каким номером) будет содержать значения атрибутов
данного измерения.
5. al_id - cтруктура ПС предусматривает хранение/перезагрузок в нем произвольного
количества различных экспортов из УС. Различаются они по полю al_id ,
присутствующего в каждой из этих таблиц. При работе в этом режиме программа
предварительно перегружает часть данных из 3-х таблиц ПС во внутреннюю
структуру ( временные таблицы ). При этом надо указать, какие именно данные
перегружаются - для этого используется это поле.
Примечание: в этой таблице перечисляются измерения и указывается
“местоположение” этих измерений в кубе. Число строк в этой таблице равно числу всех
импортируемых измерений. Например, если импортируется 2 куба и , в первом кубе ,
содержится 3 измерения, а во втором кубе содержится 4 измерения, тогда число записей в
таблице Out_structure будет равно 3 измерения в первом кубе + 4 измерения во втором
кубе = 7, т.е. количеству всех измерений по всем кубам.
Таблица Out_data:
Out_data – содержит описание данных
Поля таблицы out_value:
6
1.
2.
3.
4.
5.
6.
al_id – cтруктура ПС предусматривает хранение/перезагрузок в нем произвольного
количества различных экспортов из УС. Различаются они по полю al_id ,
присутствующего в каждой из этих таблиц. При работе в этом режиме программа
предварительно перегружает часть данных из 3-х таблиц ПС во внутреннюю
структуру ( временные таблицы ). При этом надо указать, какие именно данные
перегружаются - для этого используется это поле.
Account – имя куба, к которому относится данное измерение;
Dt_begin – начальная дата временного интервала, к которому относятся данные;
Dt_end – конечная дата временного интервала, к которому относятся данные;
saldo, oborot, oborot_debet, oborot_credit, saldo_debet, saldo_credit, Out_Value – поля
вещественного типа. Содержат собственно величины импортируемых данных.
Code_analit_1, Code_analit_2, … , Code_analit_10 – содержат сведения о том, к
каким атрибутам измерения относятся импортируемые данные. Т.е. для каждой
комбинации атрибутов измерений в таблице Out_data появляется строка со
значением, а поля Code_analit_N указывают, на пересечении каких атрибутов это
значение возникает.
5. Импорт фактических данных «Бюджета продаж»
Фактический «Бюджет продаж» имеет следующие показатели:
Проведем импорт фактических данных за 1-ый квартал 2013г.
Подготовим промежуточный слой по фактическим данным.
Куб будет называться «Импорт из ПС», измерения назовем «Время» (столбцы куба)
и «Товары» (строки куба).
Для этого случая промежуточный должен быть заполнен следующим образом:
Out_structure:
7
ВНИМАНИЕ!!! Поле al_id должно соответствовать id атрибута «1 квартал»
измерения «Кварталы»:
8
Out_analit:
Out_data:
Для таблицы out_data надо выполнить еще одно действие перед закачкой данных.
Нужно выбрать лист out_data, выбрать ячейки со значениями из столбцов Dt_begin и
Dt_end и задать формат ячеек «дата» как показано на рисунке:
Затем нужно выбрать ячейки со значениями из столбцов Saldo, Oborot , Oborot_debet,
Oborot_credit, Saldo_debet, Saldo_credit, Out_Value и задать формат ячеек «числовой» как
показано на рисунке:
9
6. Загрузка данных из Excel в промежуточный слой
После заполнения всех таблиц необходимо сохранить книгу Excel с любым именем в
формате *.xls. Затем нужно запустить “SQL Server Management Studio”.
Выбрать в нем пункт “Databases”, затем выбрать базу “demo_pd”, а затем выбрать
пункт “tables”.
Появляется окно приложения “SQL Import and Export wizard”, в нем в качестве
источника данных нужно указать “Microsoft Excel”, а в поле “Data source” нужно указать
заранее подготовленную книгу с данными.
10
После этого нужно указать приемник данных.
Если выбирается пункт «Use SQL Server authentication», тогда нужно указать имя
пользователя и пароль.
11
После нажатия на кнопку далее, если все указано правильно появляется окно:
В нем нужно выбрать 1-ый пункт и нажать кнопку «Далее». В следующем окне
появляется список таблиц и нужно выбрать таблицы, которые будут проимпортированы.
Для этого в первом столбце каждой таблицы нужно поставить отметку:
Затем в столбце «Destination» нужно указать правильные имена таблиц из
предложенного списка таблиц. Если этого не сделать, то будут созданы новые таблицы с
другими именами (знак $ в конце имени) и импорта не произойдет.
12
Затем для каждой таблицы нужно нажать кнопку “Edit Mapping ” и выбрать пункт
«Delete rows in destination table»:
Это нужно для того, чтобы очистить таблицы от данных, которые остались от
предыдущего импорта.
После выполнения этих действий нужно нажать кнопку «Далее», в следующем
окне никаких параметров менять не нужно и также нажать кнопку «Далее». В результате
появляется следующее окно:
13
Здесь нужно нажать кнопку «Finish». После этого начнется процесс импорта данных. Если
импорт данных прошел без ошибок появится следующее сообщение:
Импорт данных завершен.
14
7. Импорт фактических данных из промежуточного слоя в PlanDesigner
В меню «Инструменты» выбрать «Импорт», далее «Импорт из ПС»
Откроется окно:
2
3
4
1
5
7
6
1. Необходимо ввести название импорта
2. С помощью технологии Drag&Drop перетащить «Модель годового планирования»
в поле «Модель»
3. С помощью технологии Drag&Drop перетащить измерение «Кварталы» в поле
«Измерение»
15
4.
5.
6.
7.
Выбрать атрибут «1 квартал»
Установить требуемые параметры импорта
Сохранить импорт
Запустить выполнение импорта
Описание окна импорта:
Верхняя часть окна:
Мульти? - признак того, что данный импорт используются в многопользовательском
режиме. Структура ПС предусматривает хранение/перезагрузок в нем произвольного
количества различных экспортов из УС. Различаются они по полю al_id,
присутствующего в каждой из этих таблиц. При работе в этом режиме программа
предварительно перегружает часть данных из 3-х таблиц ПС во внутреннюю структуру
(временные таблицы ). При этом надо указать ,какие именно данные перегружаются - для
этого используется это поле al_id .
Измерение - по сути для справки и дальнейшего выбора al_id инструментальными
средствами.
Атрибут (этого измерения)
Код - код этого атрибута в ПД (для справки - чтобы специалист, осуществляющий
экспорт из УС, мог корректно его указать в поле al_id).
Модель - в какую модель будет выполняться импорт.
∑ - количество запусков импорта.
В нижней части окна указываются управляющие режимы :
 Выполнять проверку ПС - выполнять перед импортом процедуру проверку ПС.
При ошибке - не выполнять импорт
 Не контроллировать изменение имен
- при изменении наименования
измерения/атрибута - просто заменять их. Если нет - выполнять дополнительные
действия(см.ниже)
o Считать изменение наименования - ошибкой - считать изменение
наименования - ошибкой и импорт не выполнять
o Изменение наименования отдельно фиксировать в протоколе - выполнять
импорт, при этом изменение наименования отдельно фиксировать в
протоколе
 Импортировать структуру кубов, измерения и данные
o Импортировать только структуру - импортировать только структуру кубов и
измерения
o Импортировать измерения(справочники) - импортировать аналитические
значения измерения(справочники)
o Импортировать данные - импортировать данные в кубы
 Использовать измерение время - при импорте данных из ПС автоматически
согласовывать дату в данных с атрибутами измерения-времени
 Использовать измерение IMPORT_TYPE - при импорте данных из ПС считать
колонки в данных типа "Сальдо" атрибутами измерения IMPORT_TYPE или брать
данные из значения
16

Альтернативное измерение время - для ДАННОГО импорта использовать не
стандартное служебное измерение время с кодом IMPORT_TYPE а явно указанное
( на картинке выбрано измерение "Время (1+12м). Измерение просто
"притаскивается" из любой доступного в системе объекта с измерениями. При этом
у данного измерения проверяется наличие заполненных полей "Начало интервала"
и "Конец интервала" у атрибутов этого измерения.

Применить режим "Add" - применить режим "Add" или использовать
соответствующий параметр
Удалить атрибуты, отсутствующие в ПС - удалить атрибуты (ранее
импортированные ) из измерения, отсутствующие в ПС ( в режиме Add=no )
Полное пересоздание измерений - полное пересоздание измерений. Режим полезен
исключительно при тестировании ПС!
Автоматически добавлять атрибут типа "Итого" в измерения - автоматически
добавлять атрибут "Итого" ( если измерение - иерархическое ) или "Сумма по
измерению" в измерения
Чистить ли кубы перед импортом - автоматически очищать кубы от данных перед
импортом. Также применяется автоматически при изменении структуры кубов.
o При совпадении аналитик - обновлять - если куб не пуст , то при совпадении
аналитик - обновлять данными из ПС
o При совпадении аналитик - игнорировать - если куб не пуст , то при
совпадении аналитик - игнорировать данные из ПС
o При совпадении аналитик - суммировать - если куб не пуст , то при
совпадении аналитик - суммировать их с данными из
Импорт комментариев к ячейкам - импортировать комментарии к ячейкам
Импортировать только значимые данные - игнорировать при импорте значения
равные 0 . Иначе не импортируются только NULL
Реструктуризировать кубы в модели, отсутствующие в ПС
Прикреплять новое измерение к текущей модели - автоматически прикреплять
новое измерение к текущей модели








Внизу, кроме стандартных кнопок ( создать, удалить, печатать...) есть 2 уникальные :

- открыть аудит выполнения импорта ( см.ниже)
- выполнить импорт
После успешного выполнения импорта в «Модели годового планирования» появится куб:
17
8. План-фактный анализ «Бюджета продаж»
Создадим следующие связи в кубе «12. Анализ план-факт»:
1. Передаем план:
2. Передаем факт:
Создадим макрос расчета куба «12. Анализ план факт»
18
Процедура «Импорт из ПС» перетаскивается из окна «Импорт из ПС» в область
макроса с помощью технологии Drag&Drop.
После выполнения макроса, в кубе «12. Анализ план-факт», будут сформированы
следующие данные:
9. Задание для самостоятельной подготовки
Провести импорт данных через промежуточный слой и план-фактный анализ
«Бюджета продаж» для 2, 3 и 4 кварталов.
19
Download