← Todos los posts

TMSL vs TMDL

Principales ventajas de TMDL

Fabric Publicado antes en Medium ↗

La semana pasada, desde el blog de Power BI anunciaban que estaba en preview una nueva sintaxis de definición de objetos para modelos tabulares. Pero empecemos por el principio.

En Power BI, el archivo BIM (Business Intelligence Model) es un archivo que contiene el modelo de datos tabulares utilizado para crear informes y visualizaciones. Este archivo contiene la definición de las tablas, columnas, relaciones y medidas, así como información sobre la conexión a los orígenes de datos subyacentes. Este archivo se crea mediante el Tabular Model Scripting Language (TMSL) y se guarda como archivo JSON.

Sin embargo, para algunos proyectos, es necesario que múltiples desarrolladores trabajen en diferentes tareas sobre el mismo modelo. El archivo BIM extraído es un único archivo JSON que a menudo es muy grande, y contiene todos los metadatos, lo que dificulta la lectura, edición y colaboración.

En este artículo, veremos una breve explicación de cada uno de los elementos y se explorarán las ventajas que presenta Tabular Model Definition Language (TMDL) frente al tradicional TMSL.


¿Qué son todos esos acrónimos que se están viendo tanto?

  • Modelos tabulares. Utilizados en la gestión información y el análisis de negocios, permiten la organización de datos en tablas y la definición de relaciones entre ellas, lo que facilita el análisis y visualización de la información. Se calculan medidas en función de todo lo que puedan abarcar las relaciones entre sus tablas. Además, las medidas adicionales no afectan el tamaño de la base de datos ni el tiempo de procesamiento al actualizar los datos. Un modelo corresponde a un conjunto de datos en el servicio Power BI
  • TOM (Tabular Object Model). Es una biblioteca .NET que proporciona una capa abstracta. Se basa en una jerarquía con un objeto Server de nivel superior que contiene una colección de objetos Database. Al programar con TOM en Power BI, el objeto Servidor representa un espacio de trabajo de Power BI y el objeto Base de datos representa un conjunto de datos de Power BI.

Tabular Object Model. Fuente: powerbidevcamp Tabular Object Model. Fuente: powerbidevcamp

Cada objeto Tabla tiene objetos colecciones para sus particiones, columnas, medidas y jerarquías.

Table Object. Fuente: powerbidevcamp Table Object. Fuente: powerbidevcamp

  • Formato BIM (Business Intelligence Model). Como hemos comentado anteriormente, se trata de un único archivo JSON que guarda todos los metadatos del modelo, conexiones, tablas, relaciones, medidas. TODO. En un único archivo. Este archivo es semiestructurado, sus objetos y sus respectivas propiedades en un formato “legible” por humanos. Al guardar el modelo de datos como archivo .bim, se captura la estructura general del modelo y las definiciones de los objetos.
  • TMSL (Tabular Model Scripting Language). Se trata de un lenguaje de scripting que se utiliza para definir modelos tabulares en el entorno de desarrollo integrado. Además, TMSL se utiliza en conjunto con el lenguaje de definición de objetos tabulares (Tabular Object Model, TOM) para proporcionar una forma completa de administrar modelos de datos.

TMSL. Fuente : sqlbits TMSL. Fuente : sqlbits

  • TMDL (Tabular Model Definition Language). Usa una sintaxis gramatical similar a YAML. Se utiliza para definir modelos tabulares fuera del entorno de desarrollo integrado, lo que permite su portabilidad y reutilización. Este formato resulta más legible para humanos.

TMDL. Fuente : sqlbits TMDL. Fuente : sqlbits

En resumen, la librería TOM guarda el modelo tabular en un JSON llamado model.bim que contiene el modelo de objetos que constituye el modelo tabular. Mientras que TMSL y TMDL son las sintaxis de definición del modelo tabular.


Principales ventajas

TMSL

  1. Flexibilidad: TMSL es un lenguaje que se puede utilizar para realizar tareas avanzadas de administración y configuración de modelos. Los usuarios lo pueden utilizar para automatizar tareas repetitivas y crear scripts para realizar tareas complejas que no se pueden realizar fácilmente en una herramienta de diseño visual.
  2. Agilidad: TMSL es ideal para hacer cambios rápidos , ya que los scripts TMSL se pueden modificar y ejecutar sin la necesidad de importar y exportar archivos. Esto permite a los usuarios iterar rápidamente en el diseño y ajustar la configuración según sea necesario.
  3. Eficiencia: Para modelos de datos tabulares grandes y complejos, TMSL puede ser más eficiente que TMDL. Con TMSL, los usuarios pueden realizar cambios rápidamente y ejecutar scripts en lugar de tener que esperar a que se importen y exporten los archivos.

TMDL

  1. Portabilidad: Una de las ventajas clave de TMDL es que los modelos tabulares definidos en este formato se pueden reutilizar en diferentes entornos de desarrollo, lo que permite una mayor flexibilidad y portabilidad.
  2. Reutilización: Dado que los modelos definidos en TMDL se pueden transportar entre diferentes entornos es más fácil reutilizar modelos tabulares en diferentes proyectos y aplicaciones. Esto puede ahorrar tiempo y esfuerzo en la creación de nuevos modelos desde cero.
  3. 1 objeto = 1 archivo: Un formato de salida de carpeta estándar en el que cada objeto del modelo tiene una representación de archivo individual, hace que TMDL sea más fácil de controlar y más adecuado para la colaboración.
  4. Legibilidad: TMDL es un formato de archivo basado en texto que se puede leer y entender fácilmente, lo que facilita la colaboración y la resolución de problemas en equipo. Además, la estructura de TMDL es clara y fácil de seguir, lo que hace que sea más fácil para los desarrolladores entender el modelo y hacer cambios. Todo esto es en parte gracias al uso de la indentación frente a los corchetes.
  5. Una mejor experiencia de edición, especialmente para las propiedades que contienen expresiones DAX y M. Al estar integrados de forma nativa, puedes copiar y pegar esta parte desde herramientas de terceros como DAX Studio e integrarlas en el código.

TMSL vs TMDL. Fuente: sqlbits TMSL vs TMDL. Fuente: sqlbits


Qué hay en el roadmap

Desde el blog también anuncian que:

  • Planean lanzar una extensión de Visual Studio Code de código abierto para proporcionar la edición de TMDL con resaltado de sintaxis, sangría automática y autocompletado.
  • Quieren integrar gradualmente TMDL en las herramientas de Microsoft y en los proyectos de Power BI.

En resumen, TMSL es una opción flexible y ágil para aquellos que necesitan realizar tareas avanzadas de administración y configuración de modelos de datos tabulares, mientras que TMDL aporta valor resultando una solución que ofrece una mayor portabilidad, control de versiones, reutilización y legibilidad.


Enlaces de interés

Announcing public preview of the Tabular Model Definition Language (TMDL) | Microsoft Power BI Blog | Microsoft Power BI

The Future of Version Control for Tabular Models — Mathias Thierbach & Gabi Münster — YouTube

Tabular Object Model (TOM)

*Applies to: SQL Server 2016 and later Analysis Services Azure Analysis Services Power BI Premium The Tabular Object…*learn.microsoft.com

Tabular Model Definition Language (TMDL)

*Applies to: SQL Server 2016 and later Analysis Services Azure Analysis Services Power BI Premium Important Tabular…*learn.microsoft.com

Tabular Model Scripting Language (TMSL) Reference

*Applies to: SQL Server 2016 and later Analysis Services Azure Analysis Services Power BI Premium Tabular Model…*learn.microsoft.com

OneDrive

Programming Datasets with the Tabular Object Model (TOM)
*The XMLA Endpoint for Power BI Premium datasets reached general availability in January 2021. The XMLA endpoint is…*www.powerbidevcamp.net

Development tools for Tabular models in 2021 - SQLBI
*Microsoft recently announced the more recent improvements to make Power BI Premium a superset of Azure Analysis…*www.sqlbi.com

¿Te ha servido? Aplaude, sin cuenta. Puedes hacerlo varias veces.

Comentarios