Business Intelligence Markup Language (Biml) Logo
   HOME

TheInfoList



OR:

Business Intelligence Markup Language (BIML) is a domain-specific
XML Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
dialect for defining
business intelligence Business intelligence (BI) consists of strategies, methodologies, and technologies used by enterprises for data analysis and management of business information. Common functions of BI technologies include Financial reporting, reporting, online an ...
(BI) assets. Biml-authored BI assets can currently be used by the BIDS Helper add-on for
Microsoft SQL Server Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
Business Intelligence Development Studio (BIDS) and the Varigence Mist (now called BimlStudio)
integrated development environment An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
; both tools translate Biml metadata into
SQL Server Integration Services Microsoft SQL Server Integration Services (SSIS) is a component of the Microsoft SQL Server database software that can be used to perform a broad range of data migration tasks. SSIS is a platform for data integration and workflow applications. I ...
(SSIS) and
SQL Server Analysis Services Microsoft SQL Server Analysis Services (SSAS) is an online analytical processing (OLAP) and data mining tool in Microsoft SQL Server. SSAS is used as a tool by organizations to analyze and make sense of information possibly spread out across mul ...
(SSAS) assets for the
Microsoft SQL Server Microsoft SQL Server is a proprietary relational database management system developed by Microsoft using Structured Query Language (SQL, often pronounced "sequel"). As a database server, it is a software product with the primary function of ...
platform; however, emitters can be created to compile Biml for any desired BI platform. While Biml’s declarative design is sufficient to author BI assets, BimlScript extends the language by enabling authors to embed C# or
VB.NET Visual Basic (VB), originally called Visual Basic .NET (VB.NET), is a multi-paradigm, object-oriented programming language developed by Microsoft and implemented on .NET, Mono, and the .NET Framework. Microsoft launched VB.NET in 2002 as the ...
code within Biml, similar to how
ASP.NET ASP.NET is a server-side web-application framework designed for web development to produce dynamic web pages. It was developed by Microsoft to allow programmers to build dynamic web sites, applications and services. The name stands for Ac ...
includes .NET code within static
HTML Hypertext Markup Language (HTML) is the standard markup language for documents designed to be displayed in a web browser. It defines the content and structure of web content. It is often assisted by technologies such as Cascading Style Sheets ( ...
markup. BimlScript is used to merge changes into existing Biml assets, automatically generate Biml code, and apply changes across multiple Biml files during compilation.


History


Mist

Mist Mist is a phenomenon caused by small droplets of water suspended in the cold air, usually by condensation. Physically, it is an example of a Dispersion (chemistry), dispersion. It is most commonly seen where water vapor in warm, moist air meets ...
is an IDE for authoring Biml code and building BI assets. Mist leverages visual design capabilities and
debugging In engineering, debugging is the process of finding the Root cause analysis, root cause, workarounds, and possible fixes for bug (engineering), bugs. For software, debugging tactics can involve interactive debugging, control flow analysis, Logf ...
features to simultaneously edit entire business intelligence models, including relational tables, SSIS packages, and
cubes A cube or regular hexahedron is a three-dimensional space, three-dimensional solid object in geometry, which is bounded by six congruent square (geometry), square faces, a type of polyhedron. It has twelve congruent edges and eight vertices. It i ...
. Mist also incorporates modern programming IDE features, including text editors with
syntax highlighting Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
, Intelliprompt and quick-info displays, source control integration, and
multi-monitor Multi-monitor, also called multi-display and multi-head, is the use of multiple physical display devices, such as Computer monitor, monitors, Television set, televisions, and Video projector, projectors, in order to increase the area available fo ...
support.


BIDS Helper

As Biml’s popularity has grown, key portions of the Biml engine, including dynamic package generation, have been contributed to th
BIDS Helper
open source project hosted on CodePlex.


BimlScript community

BimlScript.com
is a community website for developing and sharing Biml solutions to BI problems, and contributing Biml content to share with others. Along with tutorials, walkthroughs, and videos, the site provides an online Biml editor.


Syntax

Biml has a syntax that’s common to all XML languages. Tags begin and end with < and >, respectively. Furthermore, tags can have attributes and nested elements.


Biml


Declaration

Biml documents begin with a common declaration


Root types

Biml has a well-defined set of root types, indicating the various kinds of BI assets that can be created: * Connections * Databases * Schemas * Tables * Dimensions * Facts * Packages * File Formats * Script Projects * Cubes * Principals


Example

This is an example of the AdventureWorks DimCurrency table, authored in Biml: DropDown DropDown


BimlScript

All BimlScript tags begin and end with <# and #> delimiters, respectively. Special types of BimlScript tags use augmented versions of these delimiters, to indicate specific usages.


Directives

A Biml file, with BimlScript, begins with at least one directive. Directives provide instructions to the Biml engine, regarding how to process the BimlScript and generate its Biml. Directives are single tags that begin with <#@. Each directive begins with a single term, followed by attributes that supply required values. The two most common directives are template and import.


=Template

= This directive indicates that the file's BimlScript uses the C# programming language. <#@ template language="C#" #>


=Import

= This directive specifies .NET namespaces that should be imported for the file. It is functionally equivalent to the C# using statement or VB.NET Imports statement. <#@ import namespace="Varigence.Languages.Biml.Connection" #>


Delimiters

When authoring BimlScript, additional delimiters may be used. These delimiters match the behavior of T4 template delimiters.


Example

This BimlScript example imports a database's assets via a connection, declared in a separate file, named "AdventureWorksLT". Each schema and table from the imported database is then embedded directly within the Schemas and Tables collections, respectively. <#@ 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" #> <#+ public ImportResults Results #> <#=Results.SchemaNodes.GetBiml()#> <#=Results.TableNodes.GetBiml()#> This example shows how developers can use Biml and BimlScript to: # Import schemas and tables directly from a database, and use them without needing to manually copy their structure. # Have any changes to the assets be automatically reflected the next time this code is run. # Import the assets and convert them to Biml using only two simple lines of code.


References

{{reflist


External links


bimlscript.com
- Biml online community
BIDS Helper
- Microsoft SQL Server extension with Biml capabilities
Biml Language Reference
- by the Varigence Corporation
Microsoft SQL Server
- Further information on the Microsoft SQL Server platform.
Mist Walkthrough
- Biml examples using the Mist IDE XML markup languages Business intelligence