Documentación para desarrolladores de Analysis Services

Se aplica a: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

Con Analysis Services, casi todos los objetos y cargas de trabajo son programables y, a menudo, hay más de un enfoque entre los que elegir. Las opciones incluyen escribir código administrado, script o usar estándares abiertos como XMLA y MSOLAP si los requisitos de la solución impiden el uso de .NET Framework.

Lo que puede lograr en el código

Entre los escenarios de programación típicos se incluyen la implementación del servidor, la base de datos y el modelo semántico, la administración, la actualización de datos y la administración de particiones, el acceso a datos desde aplicaciones personalizadas y herramientas externas. Común a todos estos escenarios es una jerarquía fija de arquitectura y definición de objetos, con operaciones bien entendidas que abarcan cargas de trabajo de consulta, procesamiento y definición de datos.

Aunque los objetos y las cargas de trabajo son programables, no son extensibles. En concreto, no puede crear cartuchos de datos personalizados que recuperen datos de orígenes de datos no admitidos, personalizar o reemplazar comportamientos de fórmulas o motor de almacenamiento, ni puede crear nuevos tipos de metadatos de objeto en un servidor, una base de datos o un modelo.

Para elaborar aún más sobre el último punto sobre la creación de nuevos tipos de objeto, aunque no se puede crear un nuevo tipo de objeto, puede crear objetos calculados creados a partir de expresiones o código en tiempo de ejecución. No todo en el modelo debe estar predefinido y asignado a una estructura de datos existente. Además, puede ampliar el esquema a través de Anotaciones en AMO para pasar información específica del objeto a la aplicación cliente.

Elección de una plataforma o enfoque para el desarrollo

Analysis Services proporciona muchas maneras de personalizar una solución mediante código, pero la mayoría de los desarrolladores usan las API administradas o el script.

  • Las API administradas incluyen AMO y TOM para la definición de datos y las tareas administrativas, y ADOMD.NET para la compatibilidad con consultas desde el código de cliente. En SQL Server 2016 y versiones posteriores, AMO se actualiza para usar los nuevos metadatos tabulares para los modelos creados o actualizados al nivel de compatibilidad 1200 y versiones posteriores.

  • El script a menudo puede lograr los mismos resultados que un ejecutable de programa, con posiblemente menos trabajo.

    • Puede escribir un script de PowerShell mediante componentes de PowerShell de Analysis Services que llaman directamente a tipos de AMO. En PowerShell, también puede crear y ejecutar el script ASSL/XMLA o TMSL (en JSON).

    • TMSL y ASSL son lenguajes de script que proporcionan objetos usados en las operaciones de detección y ejecución. El tipo de script que use depende del servidor, la base de datos o el modelo subyacentes.

    • Los modelos tabulares o las bases de datos en el nivel de compatibilidad 1200 y versiones posteriores usan el lenguaje de scripting de modelos tabulares (TMSL), que se encuentra en JSON.

    • Los modelos multidimensionales y los modelos tabulares en los niveles de compatibilidad 1050-1103 usan analysis Services Scripting Language (ASSL), que es la extensión de Analysis Services del estándar abierto XMLA.

    • Puede generar un script ASSL o TMSL en Management Studio. También puede usar View Code en SQL Server Data Tools para ver la definición del modelo en ASSL o TMSL.

  • Aunque es posible crear una solución basada en los estándares abiertos de XMLA y MDX, es bastante raro hacerlo. No hay documentación que no sea la referencia de XMLA y MDX para ayudarle, y la mayoría de la compatibilidad con la comunidad y el foro se basa en experiencias con tecnologías de .NET o nativas (MSOLAP).

Programación para Analysis Services

Objetos de administración de Analysis Services (AMO): documentación de referencia para desarrolladores para el proveedor administrado, Objetos de administración de Analysis Services (AMO), para la definición y administración de datos, incluido el procesamiento.

Modelo de objetos tabulares : una extensión de la biblioteca cliente de AMO, creada para admitir escenarios de programación para modelos tabulares creados en el nivel de compatibilidad 1200 y versiones posteriores.

Lenguaje de definición de modelos tabulares (TMDL): una sintaxis de definición de modelo de objetos para modelos de datos tabulares en el nivel de compatibilidad 1200 o superior. Totalmente compatible con TOM. Basado en texto y optimizado para la interacción humana y la legibilidad.

Referencia del lenguaje de scripting de modelos tabulares (TMSL): una representación JSON de modelos tabulares en el nivel de compatibilidad 1200 y versiones posteriores. Las definiciones de objeto se basan en construcciones de metadatos tabulares, como tabla, columna y relación, en lugar de metadatos multidimensionales que podrían no estar familiarizados si no está familiarizado con el modelado de datos de Analysis Services en modo tabular.

Programación de modelos multidimensionales : describe las tareas de desarrollo y los enfoques para integrar objetos de modelo multidimensionales en una solución personalizada.

ADOMD.NET : documentación de referencia para desarrolladores para el proveedor administrado, ADOMD.NET, que se usa para el acceso a datos mediante programación y las cargas de trabajo de consulta.

Referencia de XML for Analysis (XMLA): describe los conceptos de XMLA que pueden ayudarle a comprender cómo CONTRIBUYE XMLA a la solución personalizada. También describe el nivel de cumplimiento de la especificación XMLA 1.1.

Lenguaje de scripting de Analysis Services (ASSL para XMLA): describe las extensiones de ASSL a XMLA. ASSL ofrece un lenguaje de definición y manipulación de datos para modelos multidimensionales de Analysis Services que complementa la especificación XMLA.

Conjuntos de filas de esquema de Analysis Services : describe los conjuntos de filas de esquema que proporcionan información sobre el estado del servidor, las operaciones del servidor y los objetos de base de datos.

Referencia de PowerShell de Analysis Services : documenta los cmdlets usados para las funciones administrativas, además del cmdlet Invoke-ASCmd de uso general que acepta cualquier script o consulta como entrada.