Definición de XML for Analysis (XMLA)

¿Qué es la definición de XML for Analysis o (XMLA), lenguaje abreviado como Extensible Markup Language for Analysis? Es un protocolo construido sobre el lenguaje XML. Permite el acceso a datos desde fuentes de datos multidimensionales estándar. Las aplicaciones cliente acceden a los cubos de Microsoft y modelos tabulares usando el lenguaje XMLA y el protocolo HTTP. Primero, ¿qué es XMLA o XML for Analysis? Los cubos OLAP de Microsoft Analysis Services y los modelos Tabulares ambos usan XMLA. En otras palabras, es el protocolo único que permite la comunicación con las aplicaciones de análisis de datos del usuario final.

1. ¿Qué definición para XML for Analysis?

En segundo lugar, ¿cómo utilizan los desarrolladores de Microsoft XML for Analysis? Los desarrolladores de Business Intelligence de Microsoft usan XMLA para la integración de aplicaciones cliente con Analysis Services, y sin dependencias del marco de trabajo .NET de Microsoft.

2. XMLA como un estándar simple

En otras palabras, para comunicarse del cliente al servidor, los únicos dos componentes necesarios son una conectividad HTTP y el lenguaje XMLA o XML for Analysis. Consulta también este artículo sobre Microsoft Business Intelligence, es sobre MDX, literalmente el SQL para Cubos OLAP.

The XML for Analysis Definition : a Microsoft standard for SSAS connectivity
La Definición de XML for Analysis: un estándar de Microsoft para la conectividad de SSAS
El objetivo de la norma XMLA es tender un puente entre las tecnologías

La principal ventaja de XMLA es su capacidad para conectar diferentes sistemas.

No importa si el cliente está construido sobre tecnología de Microsoft o no; siempre que pueda enviar solicitudes XMLA a través de HTTP, puede comunicarse con los servicios BI de Microsoft. Esta interoperabilidad es un factor clave en la adopción generalizada de XMLA dentro de la comunidad de inteligencia empresarial.

3. Uso práctico de XMLA

Usa XMLA, por ejemplo, para desarrollar programáticamente un Modelo Tabular SSAS.

O para crear un script de despliegue de la conexión, las tablas – incluyendo las tablas de hechos y las dimensiones – los Roles de seguridad o la base de datos tabular completa. Para generar estos scripts XMLA, simplemente conecta a una instancia Tabular SSAS con SSMS, haz clic derecho y selecciona Scripts del objeto. Tres opciones principales están disponibles al generar scripts XMLA para una base de datos tabular:

  • CREATE
  • CREATE OR REPLACE
  • DELETE

Consulta la página de Wikipedia sobre XML for Analysis estándar. Para ir más allá y explicar los beneficios de XML en lugar de otros estándares propietarios por ejemplo: es de código abierto, es fácil de leer para un humano, es un archivo simple con etiquetas. Esto significa que la estructura está encapsulada en el archivo y cualquier estructura de datos puede almacenarse dentro de un mensaje XML.

3.1 Script XMLA para desplegar un Modelo Tabular en Memoria SSAS

Para ilustrar esta definición de XML for Analysis, veamos un enfoque más práctico de este estándar. El script XMLA a continuación usa la palabra clave CREATE para crear un ejemplo de Modelo Tabular leyendo datos de una tabla de Ventas, llamada Tabular_Model_Sales.

<Batch xmlns="http://schemas.microsoft.com/analysisservices/2003/engine">
  <Create>
    <ObjectDefinition>
      <Database>
        <ID>Tabular_Model_Sales</ID>
        <Name>Tabular_Model_Sales</Name>
        <Description>Un simple ejemplo de Modelo Tabular SSAS</Description>
        <CompatibilityLevel>1500</CompatibilityLevel>
        <DataSources>
          <DataSource xsi:type="RelationalDataSource">
            <ID>DataSource</ID>
            <Name>DataSource</Name>
            <!-- Ajusta la cadena de conexión a tu base de datos SQL aquí -->
            <ConnectionString>Data Source=localhost;Initial Catalog=TuBaseDeDatos;Integrated Security=SSPI;</ConnectionString>
          </DataSource>
        </DataSources>
        <Model>
          <Tables>
            <Table>
              <ID>DatosDeVenta</ID>
              <Name>DatosDeVenta</Name>
              <DataAccessOptions>Transactional</DataAccessOptions>
              <Source xsi:type="QueryBinding">
                <DataSourceID>DataSource</DataSourceID>
                <Query>SELECT [Fecha], [Ventas], [Cantidad] FROM [Ventas]</Query>
              </Source>
              <Columns>
                <Column>
                  <ID>Fecha</ID>
                  <Name>Fecha</Name>
                  <DataType>DateTime</DataType>
                  <SourceColumn>Fecha</SourceColumn>
                </Column>
                <Column>
                  <ID>Ventas</ID>
                  <Name>Ventas</Name>
                  <DataType>Double</DataType>
                  <SourceColumn>Ventas</SourceColumn>
                </Column>
                <Column>
                  <ID>Cantidad</ID>
                  <Name>Cantidad</Name>
                  <DataType>Int64</DataType>
                  <SourceColumn>Cantidad</SourceColumn>
                </Column>
              </Columns>
            </Table>
          </Tables>
        </Model>
      </Database>
    </ObjectDefinition>
  </Create>
  <!-- Selecciona el proceso del Modelo Tabular aquí -->
  <Process>
    <Type>ProcessFull</Type>
    <Object>
      <DatabaseID>Tabular_Model_Sales</DatabaseID>
    </Object>
  </Process>
</Batch>

3.2 Ejemplo de comando Execute XMLA

El comando Execute en XMLA se utiliza para realizar operaciones como ejecutar consultas MDX o de predicción de minería de datos (DMX) contra una fuente de datos analíticos. Aquí hay un ejemplo de un comando Execute XMLA que ejecuta una consulta MDX:

<Execute xmlns="urn:schemas-microsoft-com:xml-analysis">
     <Command>
         <Statement>
             SELECT [Measures].[Cantidad de Ventas] ON COLUMNS
             FROM [Cubo de Ventas]
         </Statement>
     </Command>
     <Properties>
         <PropertyList>
             <Catalog>AdventureWorksDW</Catalog>
             <Format>Multidimensional</Format>
         </PropertyList>
     </Properties>
</Execute>

3.3 El comando Discover XMLA

El comando Discover se utiliza para solicitar información de metadatos sobre las fuentes de datos disponibles en el servidor. Esto podría incluir una lista de bases de datos, cubos, dimensiones, medidas, etc. Aquí hay un ejemplo básico de un comando Discover:

 <Discover xmlns="urn:schemas-microsoft-com:xml-analysis">
     <RequestType>DISCOVER_DATASOURCES</RequestType>
     <Restrictions/>
     <Properties/>
 </Discover>

4. Puntos finales de Power BI para XML for Analysis

La conectividad de Power BI con puntos finales XMLA anunciada hace un par de años permite acceder a conjuntos de datos de Power BI a través del protocolo XMLA. Hace que cualquier fuente de datos lista para XMLA sea accesible a través de una amplia variedad de herramientas, como por ejemplo:

Acerca del protocolo XML for Analysis

En conclusión, la definición de XML for Analysis (XMLA) destaca que es un protocolo crucial que permite una comunicación eficiente entre aplicaciones cliente y Microsoft Analysis Services, incluyendo cubos OLAP y modelos Tabulares. Utilizando el Extensible Markup Language (XML), XMLA asegura el acceso estandarizado a datos a través de fuentes de datos multidimensionales.

Este artículo no solo explora los conceptos fundamentales y usos prácticos de XMLA, sino que también ilustra su aplicación a través de un script para desplegar un modelo tabular. Al facilitar interacciones de datos sin problemas, XMLA juega un papel vital en el panorama de análisis de datos e inteligencia empresarial, demostrando su importancia en el acceso y análisis de estructuras de datos complejas.

Be the first to comment

Leave a Reply

Tu dirección de correo no será publicada.


*