Язык разметки бизнес-аналитики (Biml) - это предметно-ориентированный диалект XML для определения активов бизнес-аналитики (BI). Созданные Biml ресурсы бизнес-аналитики в настоящее время могут использоваться надстройкой BIDS Helper для Microsoft SQL Server Business Intelligence Development Studio (BIDS) и интегрированной средой разработки Varigence Mist (теперь называемой BimlStudio) ; оба инструмента переводят метаданные Biml в ресурсы SQL Server Integration Services (SSIS) и SQL Server Analysis Services (SSAS) для Microsoft SQL Server.Платформа. Однако эмиттеры могут быть созданы для компиляции Biml для любой желаемой платформы BI.
Разработано | Скотт Карри [1] |
---|---|
Разработчик | Варижанс [1] |
Впервые появился | 2008 [1] |
Стабильный выпуск | 3.0 / 1 ноября 2012 г. |
Операционные системы | Майкрософт Виндоус |
Расширения имени файла | .biml |
Веб-сайт | www |
Основные реализации | |
Mist IDE, помощник по BIDS [2] |
Хотя декларативного дизайна 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.
Туман
Mist - это IDE для создания кода Biml и создания ресурсов бизнес-аналитики. Mist использует возможности визуального дизайна и функции отладки для одновременного редактирования целых моделей бизнес-аналитики, включая реляционные таблицы, пакеты SSIS и кубы . [1] Mist также включает в себя современные возможности программирования IDE, в том числе текстовые редакторы с подсветкой синтаксиса, Intelliprompt и отображение быстрой информации, интеграцию системы управления версиями и поддержку нескольких мониторов.
BIDS Helper
По мере роста популярности Biml ключевые части механизма Biml, включая динамическое создание пакетов, были внесены в проект с открытым исходным кодом BIDS Helper, размещенный на CodePlex. [2] [4]
Сообщество BimlScript
BimlScript.com - это веб-сайт сообщества для разработки и обмена Biml-решениями для задач бизнес-аналитики, а также для предоставления контента Biml для обмена с другими. Наряду с учебными пособиями, пошаговыми руководствами и видео на сайте есть онлайн-редактор Biml. [5]
Генерация кода
Файлы BIML компилируются для создания ресурсов бизнес-аналитики для выбранной платформы. В настоящее время можно создавать ресурсы для платформ 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" > Name = "DimCurrency" SchemaName = "Target.dbo" AttributeAllMemberName = "Все исходные валюты" DimensionType = "Currency" FriendlyName = "Валюта" > Name = "CurrencyKey" /> Name = "CurrencyAlternateKey" DataType = "StringFixedLength" Length = "3" /> Name = "CurrencyName" DataType = "String" Length = "50" /> Name = "IK_DimCurrency" > ColumnName = "CurrencyKey" /> Name = "AK_DimCurrency_CurrencyAlternateKey" > ColumnName = "CurrencyAlternateKey" /> Name = "Source Currency" EstimatedCount = "101" OrderBy = "Name" AttributeType = "CurrencySource" GroupingBehavior = "DiscourageGrouping" > DropDown ColumnName = "CurrencyName" NullProcessing = "Ошибка" /> Name = "Source Currency Code" EstimatedCount = "105" OrderBy = "Name" AttributeType = "CurrencyIsoCode" Usage = "Key" GroupingBehavior = "DiscourageGrouping" > DropDown ColumnName = "CurrencyKey" NullProcessing = "Error" /> ColumnName = "CurrencyAlternateKey" /> Name = "Исходная валюта" ParentAttributeName = "Источник Код валюты " ChildAttributeName = " Source Currency " Type = " Rigid " />
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{ получать { return ((AstOleDbConnectionNode) RootNode.Connections ["AdventureWorksLT"]). ImportDB (); }}#> xmlns = "http://schemas.varigence.com/biml.xsd" > Name = "MyDatabase" ConnectionName = "AdventureWorksLT" /> < # = Results.SchemaNodes .GetBiml () #> < # = Results.TableNodes.GetBiml () #>
В этом примере показано, как разработчики могут использовать Biml и BimlScript для:
- Импортируйте схемы и таблицы прямо из базы данных и используйте их без необходимости вручную копировать их структуру.
- Автоматически отразить какие-либо изменения в активах при следующем запуске этого кода.
- Импортируйте ресурсы и конвертируйте их в Biml, используя всего две простые строчки кода.
Рекомендации
- ^ а б в г Леонард, Энди; Массон, Мэтт; Митчелл, Тим; Мосс, Джессика; Аффорд, Мишель (2012). «Глава 17: Язык разметки бизнес-аналитики». Шаблоны проектирования служб интеграции SQL Server 2012 . АПресс. п. 456. ISBN. 978-1430237716.
- ^ а б Ток, Ви-Хён; Парида, Ракеш; Массон, Мэтт; Дин, Сяонин; Сивашанмугам, Каартик (2012). Службы интеграции Microsoft SQL Server 2012 . O'Reilly Media, Inc. стр. 511. ISBN 978-0735665859.
- ^ Ченн, Ронен (16 мая 2011 г.). «Новые возможности BIDS helper (апрель 2011 г.)» . Бизнес-аналитика, технологии, мысли, мышление . Проверено 1 октября 2012 года .
- ^ Уэлч, Джон (7 июня 2011 г.). «Генератор пакетов BIML» . BIDS Helper . Проверено 30 сентября 2011 года .
- ^ «Добро пожаловать на BimlScript.com» . BimlScript.com . Проверено 4 октября 2012 года .
Внешние ссылки
- bimlscript.com - Интернет-сообщество Biml
- BIDS Helper - расширение Microsoft SQL Server с возможностями BIML
- Справочник по языку Biml - от Varigence Corporation
- Microsoft SQL Server - дополнительная информация о платформе Microsoft SQL Server.
- Пошаговое руководство по Mist - Примеры Biml с использованием Mist IDE