El lenguaje de marcado de inteligencia empresarial (BIML) es un dialecto XML específico del dominio para definir activos de inteligencia empresarial (BI). Los activos de BI creados con BIML se pueden usar actualmente con el complemento BIDS Helper para Microsoft SQL Server Business Intelligence Development Studio (BIDS) y el entorno de desarrollo integrado Varigence Mist (ahora llamado BimlStudio) ; ambas herramientas traducen los metadatos de BIML a activos de SQL Server Integration Services (SSIS) y SQL Server Analysis Services (SSAS) para la plataforma Microsoft SQL Server ; sin embargo, se pueden crear emisores para compilar BIML para cualquier plataforma de BI deseada.
Si bien el diseño declarativo de Biml es suficiente para crear recursos de BI, BimlScript amplía el lenguaje al permitir a los autores incrustar código C# o VB.NET dentro de Biml, de forma similar a como ASP.NET incluye código .NET dentro del marcado HTML estático . [ 3 ] BimlScript se utiliza para fusionar cambios en recursos Biml existentes, generar automáticamente código Biml y aplicar cambios en varios archivos Biml durante la compilación.
Historia
Neblina
Mist es un IDE para escribir código Biml y crear recursos de BI. Mist aprovecha las capacidades de diseño visual y las funciones de depuración para editar simultáneamente modelos completos de inteligencia empresarial, incluidas tablas relacionales, paquetes SSIS y cubos . [ 1 ] Mist también incorpora características modernas de IDE de programación, como editores de texto con resaltado de sintaxis , Intelliprompt y pantallas de información rápida, integración con control de versiones y compatibilidad con múltiples monitores .
Ayudante de BIDS
A medida que ha crecido la popularidad de Biml, partes clave del motor de Biml, incluida la generación dinámica de paquetes, se han aportado al proyecto de código abierto BIDS Helper alojado en CodePlex . [ 2 ] [ 4 ]
Comunidad BimlScript
BimlScript.com es un sitio web comunitario para desarrollar y compartir soluciones Biml a problemas de BI, y contribuir con contenido Biml para compartir con otros. Además de tutoriales, guías paso a paso y videos, el sitio ofrece un editor Biml en línea. [ 5 ]
Sintaxis
Biml tiene una sintaxis común a todos los lenguajes XML. Las etiquetas comienzan y terminan con < y >, respectivamente. Además, las etiquetas pueden tener atributos y elementos anidados.
Biml
Declaración
Los documentos Biml comienzan con una declaración común.
<Biml xmlns= "http://schemas.varigence.com/biml.xsd" >Tipos de raíz
Biml cuenta con un conjunto bien definido de tipos raíz, que indican los distintos tipos de activos de BI que se pueden crear:
- Conexiones
- Bases de datos
- Esquemas
- Tablas
- Dimensiones
- Hechos
- Paquetes
- Formatos de archivo
- Proyectos de guion
- Cubos
- Directores
Ejemplo
Este es un ejemplo de la tabla DimCurrency de AdventureWorks, creada en Biml:
<Biml xmlns= "http://schemas.varigence.com/biml.xsd" > <Dimensions> <Dimension Name= "DimCurrency" SchemaName= "Target.dbo" AttributeAllMemberName= "Todas las monedas de origen" DimensionType= "Moneda" FriendlyName= "Moneda" > <Columnas> <Columna Nombre= "Clave de moneda" /> <Columna Nombre= "Clave alternativa de moneda" DataType= "StringFixedLength" Length= "3" /> <Columna Nombre= "Nombre de moneda" DataType= "String" Length= "50" /> </Columnas> <Claves> <Identidad Nombre= "IK_DimCurrency" > <Columnas> <Columna Nombre de columna= "Clave de moneda" /> </Columnas> </Identidad> <Clave única Nombre= "AK_DimCurrency_Clave alternativa de moneda" > <Columnas> <Columna Nombre de columna= "Clave alternativa de moneda" /> </Columnas> </Clave única > </Claves> <Índices></Índices> <Atributos> <Atributo Nombre= "Moneda de origen" Cantidad estimada= "101" Ordenar por= " Nombre" Tipo de atributo= "Origen de la moneda" Comportamiento de agrupación= "Desincentivar la agrupación" > < Selección de instancia > Desplegable </Selección de instancia> <Columnas clave> < Columna clave Nombre de columna= " Nombre de la moneda" Procesamiento nulo= "Error" /> < /Columnas clave> </Atributo> <Atributo Nombre= "Código de moneda de origen" Cantidad estimada= "105" Ordenar por= "Nombre" Tipo de atributo= "Código ISO de la moneda " Uso= "Clave" Comportamiento de agrupación= "Desincentivar la agrupación" > <Selección de instancia > Desplegable </Selección de instancia> < Columnas clave> < Columna clave Nombre de columna= "Clave de moneda" Procesamiento nulo= "Error" /> </KeyColumns> <NameColumn ColumnName= "CurrencyAlternateKey" /> <ai=118></Atributo> </Atributos> <Relaciones> <Relación Nombre= "Moneda de origen" NombreAtributoPadre="Código de moneda de origen" ChildAttributeName= "Moneda de origen" Type= "Rigid" /> </Relationships> </Dimension> </Dimensions> </Biml>BimlScript
Todas las etiquetas de BimlScript comienzan y terminan con los delimitadores <# y #>, respectivamente. Algunos tipos especiales de etiquetas de BimlScript utilizan versiones ampliadas de estos delimitadores para indicar usos específicos.
Directivas
Un archivo Biml, con BimlScript, comienza con al menos una directiva. Las directivas proporcionan instrucciones al motor Biml sobre cómo procesar el BimlScript y generar su código Biml. Las directivas son etiquetas simples que comienzan con <#@. Cada directiva comienza con un término, seguido de atributos que proporcionan los valores requeridos.
Las dos directivas más comunes son plantilla e importación.
Plantilla
Esta directiva indica que el script BimlScript del archivo utiliza el lenguaje de programación C#.
< #@ template language="C#" #> Importar
Esta directiva especifica los espacios de nombres .NET que deben importarse para el archivo. Su funcionalidad es equivalente a la instrucción using de C# o a la instrucción Imports de VB.NET.
< #@ import namespace="Varigence.Languages.Biml.Connection" #> delimitadores
Al crear código BimlScript, se pueden usar delimitadores adicionales. Estos delimitadores coinciden con el comportamiento de los delimitadores de las plantillas T4.
Ejemplo
Este ejemplo de BimlScript importa los recursos de una base de datos mediante una conexión, declarada en un archivo aparte llamado "AdventureWorksLT". Cada esquema y tabla de la base de datos importada se integra directamente en las colecciones Schemas y Tables, respectivamente.
< #@ 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" #> < #+ resultados de importación públicos { obtener { devolver ((AstOleDbConnectionNode)RootNode.Connections["AdventureWorksLT"]).ImportDB(); } } #> <Biml xmlns= "http://schemas.varigence.com/biml.xsd" > < Bases de datos> <Database Name= "MyDatabase" ConnectionName= "AdventureWorksLT" /> < /Bases de datos> <Esquemas> < #=Resultados.SchemaNodes.GetBiml()#> </Esquemas> <Tablas> < #=Resultados.TableNodes.GetBiml()#> </Tablas> </Biml>Este ejemplo muestra cómo los desarrolladores pueden usar Biml y BimlScript para:
- Importa esquemas y tablas directamente desde una base de datos y úsalos sin necesidad de copiar manualmente su estructura.
- Cualquier cambio realizado en los activos se reflejará automáticamente la próxima vez que se ejecute este código.
- Importa los recursos y conviértelos a Biml utilizando solo dos sencillas líneas de código.
Referencias
- 1 2 3 4 Leonard, Andy; Masson, Matt; Mitchell, Tim; Moss, Jessica; Ufford, Michelle (2012). "Capítulo 17: Lenguaje de marcado de inteligencia empresarial". Patrones de diseño de SQL Server 2012 Integration Services . APress. pág. 456. ISBN 978-1430237716.
- ^ Tok , Wee-Hyong; Parida, Rakesh; Masón, Matt; Ding, Xiao Ning; Sivashanmugam, Kaarthik (2012). Servicios de integración de Microsoft SQL Server 2012 . O'Reilly Media, Inc. pág. 511.ISBN 978-0735665859.
- ↑ Chenn, Ronen (16 de mayo de 2011). "Nuevas funciones de BIDS helper (abril de 2011)" . Business Intelligence, Technology, Thoughts, Thinking . Recuperado el 1 de octubre de 2012 .
- ↑ Welch, John (7 de junio de 2011). "Generador de paquetes Biml" . BIDS Helper . Recuperado el 30 de septiembre de 2011 .
- ↑ "Bienvenido a BimlScript.com" . BimlScript.com . Consultado el 4 de octubre de 2012 .
Enlaces externos
- bimlscript.com - Comunidad en línea de Biml
- BIDS Helper : extensión de Microsoft SQL Server con funcionalidades Biml.
- Referencia del lenguaje Biml - por Varigence Corporation
- Microsoft SQL Server : Más información sobre la plataforma Microsoft SQL Server.
- Tutorial de Mist : ejemplos de Biml con el IDE Mist
- lenguajes de marcado XML
- Inteligencia empresarial