Definição de XML for Analysis (XMLA)

O que é a definição de XML for Analysis ou (XMLA), linguagem abreviada como Extensible Markup Language for Analysis. É um protocolo construído sobre a linguagem XML. Permite o acesso a dados de fontes de dados multidimensionais padrão. Aplicações cliente acessam cubos da Microsoft e modelos tabulares usando a linguagem XMLA e o protocolo HTTP. Primeiramente, o que é XMLA ou XML for Analysis? Microsoft Analysis Services OLAP cubes e Tabular models ambos usam XMLA. Em outras palavras, é o protocolo único que permite a comunicação com as aplicações de análise de dados do usuário final.

1. Qual é a definição de XML for Analysis ?

Em segundo lugar, como os desenvolvedores da Microsoft utilizam XML for Analysis? Desenvolvedores de Business Intelligence da Microsoft usam XMLA para integração de aplicações cliente com Analysis Services. E sem dependências do framework Microsoft .NET.

2. XMLA como um padrão simples

Em outras palavras, para comunicar-se do cliente para o servidor, os únicos dois componentes necessários são uma conectividade HTTP e a linguagem XMLA ou XML for Analysis. Confira este artigo também sobre Microsoft Business Intelligence, é sobre MDX literalmente o SQL para OLAP Cubes.

The XML for Analysis Definition : a Microsoft standard for SSAS connectivity
A Definição de XML for Analysis: um padrão da Microsoft para conectividade SSAS
O objetivo da norma XMLA é colmatar o fosso entre as tecnologias

A principal vantagem do XMLA é sua capacidade de interligar diferentes sistemas.

Não importa se o cliente é construído sobre tecnologia Microsoft ou não; desde que possa enviar solicitações XMLA por HTTP, pode se comunicar com os serviços BI da Microsoft. Esta interoperabilidade é um fator chave na adoção generalizada do XMLA dentro da comunidade de inteligência empresarial.

3. Uso prático do XML for Analysis

Utilize XMLA, por exemplo, para desenvolver programaticamente um Modelo Tabular SSAS.

Ou para criar script de implantação da conexão, as tabelas – incluindo as tabelas de fatos e as dimensões – os Papéis de segurança ou o banco de dados tabular completo. Para gerar esses scripts XMLA, simplesmente conecte-se a uma instância Tabular SSAS com SSMS, clique com o botão direito e selecione Scripts do objeto. Três opções principais estão disponíveis ao gerar scripts XMLA para um banco de dados tabular:

  • CREATE
  • CREATE OR REPLACE
  • DELETE

Confira a página da Wikipedia sobre XML for Analysis padrão. Para ir além e explicar os benefícios do XML em vez de outros padrões proprietários, por exemplo: é open source, é fácil de ler para um humano, é um arquivo simples com tags. Significa que a estrutura está encapsulada no arquivo e qualquer estrutura de dados pode ser armazenada dentro de uma mensagem XML.

3.1 Script XMLA para implantar um Modelo Tabular SSAS In-Memory

Para ilustrar essa definição de XML for Analysis, vamos ter uma abordagem mais prática deste padrão. O script XMLA abaixo usa a palavra-chave CREATE para criar um exemplo de Modelo Tabular lendo dados de uma tabela de Vendas, chamada 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>Um simples exemplo de Modelo Tabular SSAS</Description>
        <CompatibilityLevel>1500</CompatibilityLevel>
        <DataSources>
          <DataSource xsi:type="RelationalDataSource">
            <ID>DataSource</ID>
            <Name>DataSource</Name>
            <!-- Ajuste a string de conexão para o seu banco de dados SQL aqui -->
            <ConnectionString>Data Source=localhost;Initial Catalog=YourDatabase;Integrated Security=SSPI;</ConnectionString>
          </DataSource>
        </DataSources>
        <Model>
          <Tables>
            <Table>
              <ID>SalesData</ID>
              <Name>SalesData</Name>
              <DataAccessOptions>Transactional</DataAccessOptions>
              <Source xsi:type="QueryBinding">
                <DataSourceID>DataSource</DataSourceID>
                <Query>SELECT [Date], [Sales], [Quantity] FROM [Sales]</Query>
              </Source>
              <Columns>
                <Column>
                  <ID>Date</ID>
                  <Name>Date</Name>
                  <DataType>DateTime</DataType>
                  <SourceColumn>Date</SourceColumn>
                </Column>
                <Column>
                  <ID>Sales</ID>
                  <Name>Sales</Name>
                  <DataType>Double</DataType>
                  <SourceColumn>Sales</SourceColumn>
                </Column>
                <Column>
                  <ID>Quantity</ID>
                  <Name>Quantity</Name>
                  <DataType>Int64</DataType>
                  <SourceColumn>Quantity</SourceColumn>
                </Column>
              </Columns>
            </Table>
          </Tables>
        </Model>
      </Database>
    </ObjectDefinition>
  </Create>
  <!-- Selecione o processo do Modelo Tabular aqui -->
  <Process>
    <Type>ProcessFull</Type>
    <Object>
      <DatabaseID>Tabular_Model_Sales</DatabaseID>
    </Object>
  </Process>
</Batch>

3.2 Exemplo de Comando Execute XMLA

O comando Execute em XMLA é usado para realizar operações como executar consultas MDX ou Data Mining Prediction (DMX) contra uma fonte de dados analítica. Aqui está um exemplo de um comando XMLA Execute que executa uma consulta MDX:

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

3.3 O comando Discover em XML for Analysis

O comando Discover é utilizado para solicitar informações de metadados sobre as fontes de dados disponíveis no servidor. Isso pode incluir uma lista de bancos de dados, cubos, dimensões, medidas, etc. Aqui está um exemplo básico de um comando Discover:

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

4. Pontos finais XMLA para Power BI

A conectividade do Power BI com pontos finais XMLA anunciada há alguns anos permite acessar conjuntos de dados do Power BI através do protocolo XMLA. Isso torna qualquer fonte de dados pronta para XMLA acessível através de uma ampla variedade de ferramentas, como por exemplo:

Sobre a definição do XML for Analysis

Em conclusão, a definição de XML for Analysis (XMLA) destaca que é um protocolo crucial que permite uma comunicação eficiente entre aplicações cliente e Microsoft Analysis Services, incluindo OLAP cubes e Tabular models. Utilizando o Extensible Markup Language (XML), XMLA garante acesso padronizado aos dados através de fontes de dados multidimensionais.

Este artigo não só explora os conceitos fundamentais e usos práticos do XMLA, mas também ilustra sua aplicação por meio de um script para implantação de um modelo tabular. Ao facilitar interações de dados sem problemas, XMLA desempenha um papel vital na paisagem de análise de dados e inteligência empresarial, demonstrando sua importância no acesso e análise de estruturas de dados complexas.

Be the first to comment

Leave a Reply

Your email address will not be published.


*