Modelo de objetos tabulares (TOM)

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

El modelo de objetos tabulares (TOM) es una extensión de la biblioteca cliente del objeto de administración de análisis (AMO), creada 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 mediante programación de controlar funciones administrativas, como crear modelos, importar y actualizar datos, y asignar roles y permisos.

TOM expone metadatos tabulares nativos, como los objetos model, tables, columns y relationships . Una vista de alto nivel del árbol del modelo de objetos, que se proporciona a continuación, ilustra 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 el código .NET administrado. Para obtener más información sobre las clases de AMO/TOM específicas, 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 lenguaje de consulta y script, 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 objeto.

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 que proporcione el código para controlarlo.

diagrama de jerarquía de 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, es el 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. Después, realice cambios en objetos de metadatos individuales en él, como Tabla o Columna. A continuación, 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 han cambiado.

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 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 grano 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 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 conjunto de datos.

Antes de crear una aplicación .Net con TOM para trabajar con conjuntos de datos de Power BI, asegúrese de leer la conectividad del conjunto de datos 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 conjuntos de datos 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 conjuntos de datos, consulte Programación de conjuntos de datos 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)