SlideShare a Scribd company logo
BIML - лучший друг для SSIS-разработчика
Андрей Коршиков
MVP, MCSE, MCITP, MCDBA
PASS Regional Mentor for Central Eastern Europe
Андрей
Коршиков
korshikov@sqlpass.org
@AndreyKorshikov
PASS Regional Mentor for
Central Eastern Europe
Вы знакомы с SSIS?
SQL Server Integration Services
4
Источники
ХД
ERP
CRM
HRMS
Данные
Инструменты
анализа
Аналитические
кубы
Integration Services
Analysis Services
Reporting Services
Data Mining
SQL Server Integration Services
Task 1
Task 2
Task 3 Task 4
Task 5
Task 10
Task 6
Task 7
Success (AND)
Failure (AND)
Completion (AND)
Success (OR)
Failure (OR)
Completion (OR)
Task 9 Task 8
SQL Server Integration Services
SQL Server Integration Services
7
Пакет
Поток управления
Задача
Задача "Поток данных"
Поток данных
Источник
Преобразование
Назначение
Что такое BIML?
• Business Intelligence Markup Language
• Описывает BI решение простым xml форматом
• Biml скрипт позволяет автоматически создать SSIS пакет
• Позволяет работать с:
 таблицами
 SSIS пакетами
 SSAS кубами
 …
Немного истории и инструменты
10
http://varigence.com/
https://bidshelper.codeplex.com/
http://bimlscript.com/
Немного о XML
eXtensible Markup Language
Основа XML - тэги: <tag>stuff</tag>
Внутри тэгов элемент
Элементы могут содержать:
 другие (дочерние) элементы
 аттрибуты – свойства элементов
Business Intelligence Markup Language
Как начать работать с Biml
1. Скачать и установить BIDS Helper (http://bidshelper.codeplex.com)
2. SSIS проекте
3. Правый клик на SSIS проекте и выбрать Add New Biml File
Intellisense
Подсказки работают при наборе текста
CTRL+Space для автозавершения или подсказок
Ошибки
Красный – ошибка
Синий – отсутствует аттрибут или дочерний элемент
Ошибка в написании
отсутствует аттрибут: ConstraintMode
Проверяем на ошибки
Создаем SSIS Package из Biml
Biml  SSIS
Biml  SSIS
.biml vs .dtsx
что легче понять человеку?
Демонстрация
Связываем задачи. ConstraintMode.
23
Linear Parallel
ConstraintMode
24
<ExecuteSQL Name="Select 3" ConnectionName="DB_Src">
<DirectInput>Select 3</DirectInput>
<PrecedenceConstraints>
<Inputs>
<Input OutputPathName="Select 1.Output" />
</Inputs>
</PrecedenceConstraints>
</ExecuteSQL>
<ExecuteSQL Name="Select 3" ConnectionName="DB_Src">
<DirectInput>Select 3</DirectInput>
<PrecedenceConstraints>
<Inputs>
<Input OutputPathName="Select 1.Output" />
<Input OutputPathName="Select 4.Output" />
</Inputs>
</PrecedenceConstraints>
</ExecuteSQL>
<ExecuteSQL Name="Select 4" ConnectionName="DB_Src">
<DirectInput>Select 4</DirectInput>
<PrecedenceConstraints>
<Inputs />
</PrecedenceConstraints>
</ExecuteSQL>
ConstraintMode
25
<ExecuteSQL Name="Select 3" ConnectionName="DB_Src">
<DirectInput>Select 3</DirectInput>
<PrecedenceConstraints LogicalType="And">
<Inputs>
<Input OutputPathName="Select 1.Output" />
<Input OutputPathName="Select 4.Output" EvaluationValue="Failure" />
</Inputs>
</PrecedenceConstraints>
</ExecuteSQL>
<ExecuteSQL Name="Select 3" ConnectionName="DB_Src">
<DirectInput>Select 3</DirectInput>
<PrecedenceConstraints LogicalType="Or">
<Inputs>
<Input OutputPathName="Select 1.Output" />
<Input OutputPathName="Select 4.Output"/>
</Inputs>
</PrecedenceConstraints>
</ExecuteSQL>
Демонстрация
Включаем автоматизацию. BimlScript.
Расширяем возможности Biml с помощью C# или VB кода
Импорт структуры базы данных или метаданных
Цикл по таблицам и колонкам
Выражения для замены статических значений
(и остальное что доступно в C# или VB)
Блоки кода в BimlScript
Directives
<#@ … #>
Control Blocks
<# … #>
Expression Control Blocks
<#= … #>
BimlScript syntax
<#@ import namespace="Varigence.Hadron.CoreLowerer.SchemaManagement" #>
<Biml xmlns="http://schemas.varigence.com/biml.xsd">
<Packages>
<# foreach (var table in RootNode.Tables) { #>
<Package Name="Load<#=table.Name#>" ConstraintMode="Linear">
</Package>
<# } #>
</Packages>
</Biml>
Как это работает
BIML SCRIPT EXPAND GENERATE
xml
xml
Демонстрация
Повторное использование кода
• <#@ include file="имя_файла.biml" #>
• <#=CallBimlScript("Callee.biml", "xxx") #>
32
MessageBox
33
Демонстрация
Преимущества BIML
Экономия времени: создание многих SSIS пакетов из одного Biml файла
Повторное использование: один Biml скрипт работает для разных версий
SQL Server (2005 – 2014)
Гибкость: Легко начать, легко получить новый опыт использования
Ресурсы
BIDS Helper
http://bidshelper.codeplex.com/
Biml Samples
http://varigence.com/Documentation
BimlScript Tutorials and Snippets
http://www.bimlscript.com/
LinkedIn: Biml User Group
https://www.linkedin.com/groups?home=&gid=4640985
о BIML по-русски
http://bit.ly/1DGn4of
Cathrine Wilhelmsen’s Blog
http://www.cathrinewilhelmsen.net/biml/
Stairway to BIML
http://www.sqlservercentral.com/stairway/100550/
Using BIML as an SSIS Design Patterns Engine
http://www.youtube.com/watch?v=YeZesq29d9U
Вопросы?
korshikov@sqlpass.org
Спасибо за участие!

More Related Content

PDF
SQL Server Reporting Services - дюжина советов
PDF
SQL Server 2016 Reporting Services. Быстрый старт
PPTX
DSL без купюр
PPTX
20151112 Что нового в DB PowerStudio 2016
PPTX
SQL Server Denali
PPT
Tfs Overview And Architecture (www.cmcons.com)
PPTX
DATA CLUSTER
PDF
Презентация аналитической системы для ритейла СуперМаг BI
SQL Server Reporting Services - дюжина советов
SQL Server 2016 Reporting Services. Быстрый старт
DSL без купюр
20151112 Что нового в DB PowerStudio 2016
SQL Server Denali
Tfs Overview And Architecture (www.cmcons.com)
DATA CLUSTER
Презентация аналитической системы для ритейла СуперМаг BI

Similar to BIML - лучший друг для SSIS разработчика (20)

PDF
Миграция БД - практический_подход с инструментами Embarcadero
PPTX
Тестирование защищенности веб-приложений
PPTX
тестирование защищенности веб приложений
PDF
Решения для оптимизации работы приложений
PDF
14-02-26 DBA 101_ как найти и устранить причины замедления работы БД
PPTX
физическая структура хранения артемов Ready
PPTX
Новые возможности языка SQL в Firebird 3.0
PDF
Highload++ 2015
PDF
Диагностика производительности корпоративных приложений (Малышев)
PDF
Демо пример CBT SCM 2020 05 29
PDF
Моделирование для NoSQL БД
PDF
Jbreak 2016: Твой личный Spring Boot Starter
PPTX
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
PDF
Business Intelligence. Современный взгляд
PPT
VMUG UA #1 BMC Capacity Optimization
PDF
Быстро о быстром
PDF
Обзор Unified Contact Center Enterprise
PPTX
Coding like a sex
PPTX
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
PPTX
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
Миграция БД - практический_подход с инструментами Embarcadero
Тестирование защищенности веб-приложений
тестирование защищенности веб приложений
Решения для оптимизации работы приложений
14-02-26 DBA 101_ как найти и устранить причины замедления работы БД
физическая структура хранения артемов Ready
Новые возможности языка SQL в Firebird 3.0
Highload++ 2015
Диагностика производительности корпоративных приложений (Малышев)
Демо пример CBT SCM 2020 05 29
Моделирование для NoSQL БД
Jbreak 2016: Твой личный Spring Boot Starter
ClickHouse как решение для бизнес аналитики. Дмитрий Кузьмин
Business Intelligence. Современный взгляд
VMUG UA #1 BMC Capacity Optimization
Быстро о быстром
Обзор Unified Contact Center Enterprise
Coding like a sex
Настройка и оптимизация высоконагруженных J2EE веб-приложений / Шамим Ахмед (...
TMPA-2013 Petrenko Pakulin: Technical Solutions and Non-Technical Challenges ...
Ad

More from Andrey Korshikov (14)

PDF
Что нового в SQL Server 2014
PDF
Отказоустойчивые решения SQL
PDF
SSAS Multidimension и Tabular: что выбрать?
PDF
Cовременные инструменты для Business Intelligence
PDF
Sql Server Reporting Services - tips and tricks
PDF
SSAS: multidemention vs tabular mode
PDF
Sql Injection
PPTX
PPTX
PPTX
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
PDF
Sharepoint certification (for developer) 2013
PDF
Sharepoint certification (developer) 2013
PDF
Sharepoint certification 2013
PPTX
Learning and Certification for Developer
Что нового в SQL Server 2014
Отказоустойчивые решения SQL
SSAS Multidimension и Tabular: что выбрать?
Cовременные инструменты для Business Intelligence
Sql Server Reporting Services - tips and tricks
SSAS: multidemention vs tabular mode
Sql Injection
SQL Server Analysis Services 2014: табличная модель - альтернатива кубам?
Sharepoint certification (for developer) 2013
Sharepoint certification (developer) 2013
Sharepoint certification 2013
Learning and Certification for Developer
Ad

BIML - лучший друг для SSIS разработчика