Язык разметки бизнес-аналитики - Business Intelligence Markup Language

Бимл
Язык разметки бизнес-аналитики (Biml) Logo.png
РазработаноСкотт Карри[1]
РазработчикВарижанс[1]
Впервые появился2008[1]
Стабильный выпуск
3.0 / 1 ноября 2012 г. (2012-11-01)
Операционные системыМайкрософт Виндоус
Расширения имени файла.biml
Интернет сайтwww.bimlscript.com
Основной реализации
Туман IDE, BIDS Helper[2]

Язык разметки бизнес-аналитики (Biml) является предметно-ориентированным XML диалект для определения бизнес-аналитика (BI) активы. Созданные Biml ресурсы BI в настоящее время могут использоваться BIDS Helper дополнение для Microsoft SQL Server Студия разработки бизнес-аналитики (BIDS) и Варижанс Mist (теперь называется BimlStudio) интегрированная среда развития; оба инструмента переводят метаданные Biml в Службы интеграции SQL Server (SSIS) и Службы аналитики SQL Server (SSAS) активы для Microsoft SQL Server Платформа. Однако эмиттеры могут быть созданы для компиляции Biml для любой желаемой платформы BI.

Хотя декларативного дизайна Biml достаточно для создания ресурсов бизнес-аналитики, BimlScript расширяет язык, позволяя авторам встраивать C # или же VB.NET код в Biml, аналогично тому, как ASP.NET включает код .NET в статический HTML разметка.[3] BimlScript используется для объединения изменений в существующие ресурсы Biml, автоматической генерации кода Biml и применения изменений к нескольким файлам Biml во время компиляции.

История

Бимл

Biml - это диалект XML, который определяет все аспекты решения бизнес-аналитики, включая реляционные модели, пакеты преобразования данных, многомерные модели и табличные модели.

В отличие от других решений бизнес-аналитики, Biml придерживается философии «напиши один раз, выбери любую платформу». Это позволяет пользователям Biml переключать свою целевую платформу без изменения кода. В настоящее время Biml нацелен на SQL Server версий 2005, 2008, 2008 R2, 2012 и 2014, генерируя пакеты SSIS и кубы SSAS.

Поскольку Biml - это XML, он может использовать обширную экосистему инструментов для языков на основе XML. Это также делает его доступным для чтения и записи, поэтому его легче редактировать вручную, чем файлы SSIS / SSAS, которые он создает.

В конце 2009 года Biml был расширен с помощью BimlScript. BimlScript позволяет встраивать слепки кода C # или VB.NET непосредственно в Biml. Цель BimlScript - автоматизировать повторяющуюся работу в повторно используемых скриптах. Кроме того, он использовался для автоматизации создания пакетов и построения шаблонов многократного использования для задач бизнес-аналитики. BimlScript также используется для получения метаданных из различных источников (структура реляционной базы данных, реляционные данные, плоские файлы, аннотации и т. Д.) И автоматической генерации из них кода Biml.

Туман

Туман - это IDE для создания кода Biml и создания активов BI. Mist использует возможности визуального дизайна и отладка функции для одновременного редактирования всех моделей бизнес-аналитики, включая реляционные таблицы, пакеты SSIS и кубики.[1] Mist также включает в себя современные функции программирования IDE, в том числе текстовые редакторы с подсветкой синтаксиса, Intelliprompt и отображение быстрой информации, интеграцию системы управления версиями и поддержку нескольких мониторов.

BIDS Helper

По мере роста популярности Biml ключевые части движка Biml, включая создание динамических пакетов, были внесены в BIDS Helper проект с открытым исходным кодом, размещенный на CodePlex.[2][4]

Сообщество BimlScript

BimlScript.com - это веб-сайт сообщества для разработки и обмена Biml-решениями для задач бизнес-аналитики, а также для предоставления контента Biml для обмена с другими. Наряду с учебными пособиями, пошаговыми руководствами и видео на сайте есть онлайн-редактор Biml.[5]

Генерация кода

Файлы BIML компилируются для создания ресурсов BI для выбранной платформы. В настоящее время можно создавать ресурсы для платформ Microsoft SSIS, SSAS и SQL Server для выпусков 2005, 2008 (R2), 2012 и 2014 годов. Другие платформы могут быть целью в будущем.

Синтаксис

Biml имеет синтаксис, общий для всех языков XML. Теги начинаются и заканчиваются символами <и> соответственно. Кроме того, теги могут иметь атрибуты и вложенные элементы.

Бимл

Декларация

Документы BIML начинаются с общей декларации

<Бимл xmlns ="http://schemas.varigence.com/biml.xsd">

Типы корней

Biml имеет четко определенный набор корневых типов, указывающих на различные виды активов бизнес-аналитики, которые могут быть созданы.

  • Подключения
  • Базы данных
  • Схемы
  • Столы
  • Размеры
  • Факты
  • Пакеты
  • Форматы файлов
  • Скриптовые проекты
  • Кубики
  • Руководители

Пример

Это пример таблицы AdventureWorks DimCurrency, созданной в Biml.

<Бимл xmlns ="http://schemas.varigence.com/biml.xsd">  <Dimensions>    <Размер Имя =«DimCurrency» SchemaName ="Target.dbo" AttributeAllMemberName =«Все исходные валюты» DimensionType ="Валюта" FriendlyName ="Валюта">      <Columns>        <Столбец Имя =«CurrencyKey» />        <Столбец Имя =«CurrencyAlternateKey» DataType ="StringFixedLength" Длина ="3" />        <Столбец Имя ="CurrencyName" DataType ="Нить" Длина ="50" />      </Columns>      <Keys>        <Личность Имя =«IK_DimCurrency»>          <Columns>            <Столбец ColumnName =«CurrencyKey» />          </Columns>        </Identity>         Имя ="AK_DimCurrency_CurrencyAlternateKey">          <Columns>            <Столбец ColumnName =«CurrencyAlternateKey» />          </Columns>        </UniqueKey>      </Keys>      <Indexes></Indexes>      <Attributes>        <Атрибут Имя =«Исходная валюта» EstimatedCount ="101" OrderBy ="Имя" AttributeType ="CurrencySource" GroupingBehavior ="DiscourageGrouping">          <InstanceSelection>Падать</InstanceSelection>          <KeyColumns>             ColumnName ="CurrencyName" NullProcessing ="Ошибка" />          </KeyColumns>        </Attribute>        <Атрибут Имя =«Исходный код валюты» EstimatedCount ="105" OrderBy ="Имя" AttributeType =«CurrencyIsoCode» Использование ="Ключ" GroupingBehavior ="DiscourageGrouping">          <InstanceSelection>Падать</InstanceSelection>          <KeyColumns>             ColumnName =«CurrencyKey» NullProcessing ="Ошибка" />          </KeyColumns>           ColumnName =«CurrencyAlternateKey» />        </Attribute>      </Attributes>      <Relationships>        <Отношения Имя =«Исходная валюта» ParentAttributeName =«Исходный код валюты» ChildAttributeName =«Исходная валюта» Тип ="Жесткий" />      </Relationships>    </Dimension>  </Dimensions></Biml>

BimlScript

Все теги BimlScript начинаются и заканчиваются разделителями <# и #> соответственно. В специальных типах тегов BimlScript используются расширенные версии этих разделителей для обозначения конкретного использования.

Директивы

Файл Biml с BimlScript начинается как минимум с одной директивы. Директивы содержат инструкции для механизма Biml относительно того, как обрабатывать BimlScript и генерировать его Biml. Директивы - это отдельные теги, начинающиеся с <# @. Каждая директива начинается с одного члена, за которым следуют атрибуты, которые предоставляют требуемые значения.

Две наиболее распространенные директивы - это шаблон и импорт.

Шаблон

Эта директива указывает, что BimlScript файла использует язык программирования C #.

<# @ template language = "C #" #>
импорт

Эта директива определяет пространства имен .NET, которые следует импортировать для файла. Функционально он эквивалентен оператору using C # или оператору VB.NET Imports.

<# @ import namespace = "Varigence.Languages.Biml.Connection" #>

Разделители

При создании BimlScript могут использоваться дополнительные разделители. Эти разделители соответствуют поведению разделителей шаблона T4.

РазделительОписание
<#Определяет операторы в коде .NET, которые обеспечивают поток управления в файле Biml.
<#=Оценивает код .NET, преобразует его в строку, а затем встраивает в файл Biml.
<#+Определяет свойства, методы и файлы, которые исключены из файла Biml, но могут быть доступны другим слепкам кода BimlScript.

Пример

Этот пример BimlScript импортирует ресурсы базы данных через соединение, объявленное в отдельном файле с именем «AdventureWorksLT». Каждая схема и таблица из импортированной базы данных затем встраиваются непосредственно в коллекции схем и таблиц соответственно.

 <# @ template language = "C #" hostspecific = "True" tier = "2" #><# @ import namespace = "Varigence.Languages.Biml.Connection" #><# @ import namespace = "Varigence.Hadron.Extensions" #><# @ import namespace = "Varigence.Hadron.Extensions.SchemaManagement" #><# @ import namespace = "Varigence.Hadron.CoreLowerer.SchemaManagement" #><# + общедоступные результаты ImportResults {get {return ((AstOleDbConnectionNode) RootNode.Connections ["AdventureWorksLT"]). ImportDB (); }} #> <Бимл xmlns ="http://schemas.varigence.com/biml.xsd">    <Databases>        <База данных Имя =«Моя база данных» ConnectionName ="AdventureWorksLT" />    </Databases>    <Schemas>        <# = Results.SchemaNodes.GetBiml () #> </Schemas>    <Tables>         <# = Results.TableNodes.GetBiml () #> </Tables></Biml>

В этом примере показано, как разработчики могут использовать Biml и BimlScript для:

  1. Импортируйте схемы и таблицы прямо из базы данных и используйте их без необходимости вручную копировать их структуру.
  2. Автоматически отражать любые изменения в активах при следующем запуске этого кода.
  3. Импортируйте ресурсы и конвертируйте их в Biml, используя всего две простые строки кода.

Рекомендации

  1. ^ а б c d Леонард, Энди; Массон, Мэтт; Митчелл, Тим; Мосс, Джессика; Аффорд, Мишель (2012). «Глава 17: Язык разметки бизнес-аналитики». Шаблоны проектирования служб интеграции SQL Server 2012. АПресс. п. 456. ISBN  978-1430237716.
  2. ^ а б Ток, Ви-Хён; Парида, Ракеш; Массон, Мэтт; Дин, Сяонин; Сивашанмугам, Каартик (2012). Службы интеграции Microsoft SQL Server 2012. O'Reilly Media, Inc. стр. 511. ISBN  978-0735665859.
  3. ^ Ченн, Ронен (16 мая 2011 г.). «Новые возможности BIDS helper (апрель 2011 г.)». Бизнес-аналитика, Технологии, Мысли, Мышление. Получено 1 октября, 2012.
  4. ^ Уэлч, Джон (7 июня 2011 г.). «Генератор пакетов BIML». BIDS Helper. Получено 30 сентября, 2011.
  5. ^ «Добро пожаловать на BimlScript.com». BimlScript.com. Получено 4 октября, 2012.

внешняя ссылка