Modelo de objetos tabulares (TOM)

Se aplica a: SQL Server 2016 y versiones posteriores Analysis Services Azure Analysis Services Fabric/Power BI Premium

El modelo de objetos tabulares (TOM) es una extensión de la biblioteca cliente de Objetos de administración de análisis (AMO), creado para admitir escenarios de programación para modelos tabulares creados en el nivel de compatibilidad 1200 y versiones posteriores. Al igual que con AMO, TOM proporciona una manera programática de controlar las funciones administrativas, como la creación de modelos, la importación y actualización de datos, y la asignación de roles y permisos.

TOM expone metadatos tabulares nativos, como modelos, tablas, columnas y objetos de relaciones . Una vista de alto nivel del árbol del modelo de objetos, que se proporciona a continuación, muestra cómo están relacionadas las partes del componente.

Dado que TOM es una extensión de AMO, todas las clases que representan nuevos objetos tabulares se implementan en un nuevo ensamblado deMicrosoft.AnalysisServices.Tabular.dll . Las clases de uso general de AMO se movieron al ensamblado Microsoft.AnalysisServices.Core . El código tendrá que hacer referencia a ambos ensamblados. Consulte Instalación, distribución y referencia al modelo de objetos tabulares (Microsoft.AnalysisServices.Tabular) para obtener más información.

La API está disponible para código .NET administrado. Para obtener más información sobre las clases específicas de AMO/TOM, consulte Referencia del espacio de nombres Microsoft.AnalysisServices. Para revisar la lista completa de opciones de programación para modelos tabulares, incluida la compatibilidad con lenguajes de consulta y scripts, consulte Programación de modelos tabulares para el nivel de compatibilidad 1200.

Jerarquía del modelo de objetos tabulares

Desde una perspectiva lógica, todos los objetos tabulares forman un árbol, la raíz de la cual es un modelo, descendiente de La base de datos. El servidor y la base de datos no se consideran tabulares porque estos objetos también pueden representar una base de datos multidimensional hospedada en un servidor que se ejecuta en modo multidimensional o un modelo tabular en un nivel de compatibilidad inferior que no usa metadatos tabulares para las definiciones de objetos.

A excepción de AttributeHierarchy, KPI y LinguisticMetadata, cada objeto secundario puede ser miembro de una colección. Por ejemplo, el objeto Model contiene una colección de objetos Table (a través de la propiedad Tables ), con cada objeto Table que contiene una colección de objetos Column , etc.

El descendiente de nivel más bajo de cualquier objeto primario de esta jerarquía es un objeto Annotation que se puede usar para extender opcionalmente el esquema siempre y cuando proporcione el código para controlarlo.

diagrama de jerarquía de objetos objetos

TOM se basa en la infraestructura de AMO, que también admite bases de datos multidimensionales y tabulares en niveles de compatibilidad inferiores a 1200. Esto tiene algunas implicaciones prácticas. Al administrar objetos no especificados en metadatos tabulares (como un servidor o una base de datos), debe aprovechar partes de la pila de AMO existente que describen esos objetos. Junto con la API heredada, se trata del concepto de objetos principales y secundarios que proporcionan descripciones pormenorizadas del estado del objeto como detectadas desde el servidor o cuando se guardan en el servidor. La clase MajorObject en el espacio de nombres Microsoft.AnalysisServices expone métodos para Refresh y Update. Los objetos secundarios solo se actualizan o guardan a través del objeto principal que los contiene.

Por el contrario, al administrar objetos que forman parte de metadatos tabulares, como Model o Table, se aprovecha una pila tabular completamente nueva. Dentro de esta pila, las actualizaciones están específicas, lo que significa que todos los objetos de metadatos, derivados de la clase MetadataObject en el espacio de nombres Microsoft.AnalysisServices.Tabular, se pueden guardar individualmente en el servidor. Normalmente, detectaría todo el modelo. A continuación, realice cambios en objetos de metadatos individuales en él, como Tabla o Columna. A continuación, se llama al método Model.SaveChanges() que comprende los cambios realizados por usted en el nivel específico, enviando comandos al servidor para actualizar solo los objetos que cambiaron.

TOM y XMLA

En la conexión, TOM usa el protocolo XMLA para comunicarse con el servidor y administrar objetos. Al administrar objetos no tabulares, TOM usa ASSL, la extensión Analysis Services Scripting Language de XMLA. Al administrar objetos tabulares, TOM usa el protocolo tabular MS-SSAS-T, también una extensión de XMLA. Para más información, consulte ms-SSAS-T SQL Server Analysis Services documentación del protocolo tabular.

TOM y JSON

Los metadatos tabulares, que se estructuran como documentos JSON, tienen una nueva sintaxis de definición de modelo de objetos y comandos a través del lenguaje de scripting de modelos tabulares (TMSL). El lenguaje de scripting usa JSON para el cuerpo de las solicitudes y respuestas.

Aunque TMSL y TOM exponen los mismos objetos, Table, Column , etc., y las mismas operaciones, Create, Delete, Refresh, TOM no usa TMSL en la conexión. TOM usa el protocolo tabular MS-SSAS-T en su lugar, como se indicó anteriormente.

Como usuario, puede elegir si desea administrar bases de datos tabulares a través de la biblioteca TOM desde el programa de C# o el script de PowerShell, o a través del script TMSL ejecutado a través de PowerShell, SQL Server Management Studio (SSMS) o un trabajo de Agente SQL Server.

La decisión de usar una u otra dependerá de los detalles de sus requisitos. La biblioteca TOM proporciona una funcionalidad más completa en comparación con TMSL. En concreto, mientras que TMSL solo ofrece operaciones generales en la base de datos, tabla, partición o nivel de rol, TOM permite operaciones con un nivel mucho más preciso. Para generar o actualizar modelos mediante programación, necesitará la extensión completa de la API en la biblioteca TOM.

Uso de TOM con Power BI

Power BI Premium, Premium por usuario y Power BI Embedded áreas de trabajo admiten la conectividad de plataforma abierta a través del punto de conexión XMLA. Con el punto de conexión XMLA, se pueden usar herramientas personalizadas, scripts y procesos automatizados para el modelado de datos y para realizar tareas administrativas del área de trabajo y del modelo semántico.

Antes de crear una aplicación .Net con TOM para trabajar con modelos semánticos de Power BI, asegúrese de leer conectividad de modelo semántico con el punto de conexión XMLA en la documentación de Power BI. En este artículo se describe cómo habilitar el punto de conexión XMLA para el acceso de lectura y escritura, obtener una dirección URL de conexión del área de trabajo y otros aspectos importantes para la administración de modelos semánticos con aplicaciones personalizadas, herramientas externas y scripts.

Para más información sobre el uso del modelo de objetos tabulares para la administración y administración de modelos semánticos, consulte Programación de modelos semánticos de Power BI (TOM).

Consulte también

Nivel de compatibilidad para modelos tabulares
Bibliotecas de cliente de Analysis Services
Referencia de XML for Analysis (XMLA)
Objetos de administración de análisis (AMO)