Documentação do desenvolvedor do Analysis Services
Aplica-se a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Com o Analysis Services, quase todos os objetos e cargas de trabalho são programáveis e, muitas vezes, há mais de uma abordagem para escolher. As opções incluem escrever código gerenciado, script ou usar padrões abertos como XMLA e MSOLAP se seus requisitos de solução impedirem o uso do .NET Framework.
O que você pode realizar no código
Os cenários típicos de programação incluem implantação de modelo semântico, administração, atualização de dados e gerenciamento de partição, acesso a dados de aplicativos personalizados e ferramentas externas. Comum a todos esses cenários é uma arquitetura fixa e uma hierarquia de definição de objeto, com operações bem compreendidas que abrangem cargas de trabalho de definição, processamento e consulta de dados.
Embora objetos e cargas de trabalho sejam programáveis, eles não são extensíveis. Especificamente, você não pode criar cartuchos de dados personalizados que recuperam dados de fontes de dados sem suporte, personalizam ou substituem comportamentos de fórmula ou mecanismo de armazenamento, nem pode criar novos tipos de metadados de objeto em um servidor, banco de dados ou modelo.
Para elaborar ainda mais sobre o último ponto sobre a criação de novos tipos de objeto, embora não seja possível criar um novo tipo de objeto, você pode criar objetos calculados criados com base em expressões ou código em tempo de execução. Nem tudo no modelo precisa ser predefinido e mapeado para uma estrutura de dados existente. Além disso, você pode estender o esquema por meio de Anotações no AMO para passar informações específicas do objeto para seu aplicativo cliente.
Escolher uma plataforma ou abordagem para o desenvolvimento
O Analysis Services fornece várias maneiras de personalizar uma solução por meio de código, mas a maioria dos desenvolvedores usa as APIs gerenciadas ou o script.
As APIs gerenciadas incluem AMO e TOM para definição de dados e tarefas administrativas e ADOMD.NET para suporte de consulta do código do cliente. No SQL Server 2016 e posterior, o AMO é atualizado para usar os novos metadados tabulares para modelos criados ou atualizados para o nível de compatibilidade 1200 e superior.
O script geralmente pode obter os mesmos resultados que um executável de programa, com possivelmente menos trabalho.
Você pode escrever um script do PowerShell usando componentes do PowerShell do Analysis Services que chamam tipos AMO diretamente. No PowerShell, você também pode criar e executar o script ASSL/XMLA ou TMSL (em JSON).
TMSL e ASSL são linguagens de script que fornecem objetos usados em operações de descoberta e execução. Qual tipo de script você usa depende do servidor, banco de dados ou modelo subjacente.
Modelos de tabela ou bancos de dados no nível de compatibilidade 1200 e superiores usam a TMSL (Linguagem de Script de Modelo Tabular), que está em JSON.
Modelos multidimensionais e modelos tabulares nos níveis de compatibilidade 1050-1103 usam o ASSL (Analysis Services Scripting Language), que é a extensão do Analysis Services do padrão aberto XMLA.
Você pode gerar script ASSL ou TMSL no Management Studio. Você também pode usar Exibir Código em SQL Server Data Tools para exibir a definição de modelo no ASSL ou TMSL.
Embora seja possível criar uma solução com base nos padrões abertos de XMLA e MDX, é muito raro fazê-lo. Não há nenhuma documentação além da referência XMLA e MDX para ajudá-lo, e a maioria do suporte da comunidade e do fórum se baseia em experiências com tecnologias .NET ou nativas (MSOLAP).
Programação para o Analysis Services
AMO (Objetos de Gerenciamento do Analysis Services) – documentação de referência do desenvolvedor para o provedor gerenciado, AMO (Objetos de Gerenciamento do Analysis Services), para definição e administração de dados, incluindo processamento.
Modelo de objeto tabular – uma extensão da biblioteca de clientes AMO, criada para dar suporte a cenários de programação para modelos tabulares criados no nível de compatibilidade 1200 e superior.
TMDL (Linguagem de Definição de Modelo tabular) – uma sintaxe de definição de modelo de objeto para modelos de dados tabulares no nível de compatibilidade 1200 ou superior. Totalmente compatível com TOM. Baseado em texto e otimizado para interação humana e legibilidade.
Referência de TMSL (Linguagem de Script de Modelo Tabular) – uma representação JSON de modelos tabulares no nível de compatibilidade 1200 e superior. As definições de objeto são baseadas em construções de metadados tabulares, como tabela, coluna e relação, em vez de metadados multidimensionais que podem não ser familiares se você não estiver familiarizado com a modelagem de dados do Analysis Services no modo Tabular.
Programação de modelo multidimensional – descreve as tarefas e abordagens de desenvolvimento para integrar objetos de modelo multidimensional em uma solução personalizada.
ADOMD.NET – Documentação de referência do desenvolvedor para o provedor gerenciado, ADOMD.NET, usada para cargas de trabalho de consulta e acesso a dados programáticos.
Referência XMLA (XML for Analysis) – Descreve os conceitos XMLA que podem ajudá-lo a entender como o XMLA contribui para sua solução personalizada. Ele também descreve o nível de conformidade com a especificação do XMLA 1.1.
ASSL para XMLA (Analysis Services Scripting Language) – descreve as extensões ASSL para XMLA. O ASSL fornece uma definição de dados e uma linguagem de manipulação para os modelos multidimensionais do Analysis Services que complementa a especificação de XMLA.
Conjuntos de linhas de esquema do Analysis Services – descreve os conjuntos de linhas de esquema que fornecem informações sobre o estado do servidor, operações de servidor e objetos de banco de dados.
Referência do PowerShell do Analysis Services – documenta os cmdlets usados para funções administrativas, além do cmdlet Invoke-ASCmd de uso geral que aceita qualquer script ou consulta como entrada.