Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La vista TMDL en Power BI Desktop y servicio Power BI le permite crear scripts, modificar y aplicar cambios a objetos de modelo semántico mediante un editor de código moderno y un lenguaje de definición de modelos tabulares (TMDL). Mejora la eficacia del desarrollo y proporciona visibilidad y control completos sobre los metadatos del modelo semántico.
La vista TMDL ofrece una experiencia alternativa al modelado semántico mediante código en lugar de una interfaz gráfica de usuario, como la vista Modelo.
La vista TMDL ofrece las siguientes ventajas:
- Mejora de la eficiencia del desarrollo con un editor de código enriquecido que incluye búsqueda y reemplazo, métodos abreviados de teclado, ediciones multi-línea y mucho más.
- Aumentar la reutilización mediante la fácil creación, el uso compartido y la reutilización de scripts TMDL entre desarrolladores de modelos semánticos. Por ejemplo, use un sitio de SharePoint centralizado para compartir fácilmente objetos de modelo semántico reutilizables, como tablas de calendario o grupos de cálculo de inteligencia de tiempo.
- Más control y transparencia mostrando todos los objetos y propiedades del modelo semántico, y permitiendo cambios en los elementos que no están disponibles en la interfaz de usuario de Power BI, como IsAvailableInMDX o DetailRowsDefinition.
Nota
Vista TMDL en Power BI Desktop está disponible de forma general, mientras que Vista TMDL en la web está disponible en versión preliminar.
Script para TMDL
En Power BI Desktop, seleccione el icono vista TMDL situado en el lado izquierdo de la ventana, como se muestra en la siguiente imagen.
En el área de trabajo del servicio Power BI o del portal de Fabric, seleccione TMDL View (versión preliminar).
Cuando se abre la vista TMDL, el editor de código está inicialmente vacío. Puede crear scripts de cualquier objeto de modelo semántico, como una tabla, una medida o una columna seleccionando los objetos del panel datos de y arrastrándolos al editor de código:
Cuando se usa la vista TMDL y se arrastra el objeto desde el panel Datos, Power BI scripta los metadatos de objeto completos en la pestaña actual como TMDL, o abre una nueva pestaña si la pestaña actual no está vacía, como un createOrReplace script TMDL de los objetos seleccionados, como se muestra en la siguiente imagen:
Como alternativa, puede hacer clic con el botón derecho en un objeto en la vista Datos y seleccionar Script TMDL para abrir en una nueva pestaña o al Portapapeles, como se muestra en la siguiente imagen:
Sugerencia
- Puede crear scripts de secciones completas (medidas, tablas o columnas) arrastrando la sección al editor de código para generar scripts de todos los objetos de la sección.
- Se admite la selección múltiple presionando la tecla CTRL antes de crear scripts de los objetos en el editor de código de vista TMDL.
Editor de código
Una vez que haya scriptado un objeto de modelo semántico o pegado el script TMDL en el editor de código, puede usar las características de experiencia de código completas que ofrece el editor de código de vista TMDL. Las características de la experiencia de código permiten explorar los metadatos del modelo o realizar modificaciones que se pueden aplicar posteriormente al modelo semántico.
Resaltado semántico
El resaltado semántico está integrado en el editor de código, lo que mejora la legibilidad aplicando colores diferentes a partes del código en función del significado. Esta codificación de colores facilita la comprensión de la estructura y la funcionalidad del código TMDL, como se muestra en la siguiente imagen.
También puede expandir o contraer secciones del script TMDL, como se muestra en la imagen siguiente:
Autocompletar
Autocompletar está integrado en el editor de código y ofrece sugerencias inteligentes mientras escribe. Autocompletar puede acelerar el flujo de trabajo, reducir la posibilidad de errores y ayudarle a comprender las opciones de código mediante la sugerencia dinámica de posibles valores o propiedades teniendo en cuenta la posición del cursor.
También puede desencadenar la característica de autocompletar en cualquier ubicación presionando Ctrl+Espacio.
Información sobre herramientas
El tooltip contextual se muestra al pasar el ratón, proporcionando información sobre cada objeto o propiedad TMDL.
Acciones de código
Cuando el cursor está sobre un subrayado ondulante o un texto seleccionado, la vista TMDL muestra un icono de bombilla que indica las acciones de código disponibles, como generar etiquetas de linaje o corregir el nombre de las propiedades.
Formato de código
Para dar formato al código TMDL, presione Mayús + Alt + F o haga clic en la opción Formato de la cinta de opciones.
También puede dar formato al texto seleccionado mediante la opción "Formato de selección" en el menú contextual.
Diagnósticos de errores
El diagnóstico de errores integrado del editor de código le ayuda a identificar y corregir problemas resaltando los errores del lenguaje TMDL en el editor de código, con mensajes detallados que proporcionan instrucciones para resolverlos. Además, hay disponible un resumen de errores en el panel Problemas, lo que permite una navegación sencilla a la ubicación del error en el editor de código, como se muestra en la siguiente imagen.
Aplicación de cambios en el modelo semántico
Cuando esté listo, puede seleccionar el botón Aplicar para ejecutar el script TMDL en el modelo semántico y aplicar los cambios de código TMDL.
Cuando se ejecuta correctamente, se muestra una notificación y el cambio de modelado se aplica al modelo semántico.
En caso de error, se muestra una notificación de error para mostrar que los cambios de modelado no se aplicaron al modelo semántico. Para ver más información sobre el error, seleccione el vínculo Mostrar detalles de la notificación, que luego expande el panel Salida y muestra los detalles del error.
Nota
La vista TMDL modifica solo los metadatos del modelo semántico, sin actualizar los datos ni afectar al informe. Si los cambios requieren una actualización de datos, como modificar una expresión de PowerQuery o una expresión de columna calculada, debe actualizar manualmente la tabla o el modelo para que los cambios surtan efecto. Además, cambiar el nombre de un campo en la vista TMDL puede interrumpir los objetos visuales del informe que usan ese campo.
Vista previa de los cambios en el modelo semántico
La vista TMDL permite obtener una vista previa de los cambios de script mostrando una vista previa del modelo semántico antes y después de la ejecución del script, que se muestra como una diferencia de código TMDL. La vista previa de los cambios de script es especialmente útil al copiar scripts de otros orígenes, permitiéndole evaluar su impacto antes de ejecutarlos contra el modelo semántico.
Al seleccionar el botón Vista previa se muestra una diferencia tmDL del modelo semántico antes y después de ejecutar el script TMDL en la pestaña abierta.
Aparece una ventana en paralelo en el panel derecho, como se muestra en la siguiente imagen.
Los cuadros rojos y verdes resaltan los cambios, con los cuadros rojos indicando líneas quitadas o modificadas, y los cuadros verdes indicando nuevas líneas.
Nota
La comparación no se realiza directamente con el script TMDL que se muestra actualmente, sino que es más bien una comparación completa del modelo semántico antes y después de ejecutar el script. Por lo tanto, algunas propiedades se pueden ordenar de forma diferente a lo que se muestra en la pestaña, cumpliendo con el orden predeterminado de la propiedad o objeto TMDL.
La versión preliminar es de solo lectura, pero puede seguir editando el script. Para actualizar la vista previa después de los cambios, seleccione el botón Actualizar versión preliminar , como se muestra en el banner de la imagen siguiente.
Hay una barra de herramientas en la esquina superior derecha de la pantalla de vista previa que permite navegar por todas las diferencias de código, lo que le permite alternar entre diferencias en línea o en paralelo, ver u ocultar regiones sin cambios y cerrar la vista de vista previa.
Hay algunas consideraciones que debe tener en cuenta al obtener una vista previa de los cambios en el modelo semántico:
- La vista TMDL restablece las configuraciones de vista de forma predeterminada en cada ejecución de vista previa.
- Una versión preliminar solo se ejecuta con un cambio TMDL válido. Los scripts TMDL no válidos no ejecutarán una vista previa y se mostrará un error en el panel Salida.
Pestañas de script TMDL
En la vista TMDL puede tener varias pestañas de script a la vez, cualquiera de las cuales se puede cambiar o quitar.
Los paneles Problemas y Salida muestran errores y mensajes específicos de la pestaña de script seleccionada y visualizada en ese momento. Al cambiar a otra pestaña de script TMDL, se actualizan ambos paneles con información específica de la pestaña seleccionada y mostrada actualmente.
Puede seleccionar el botón Borrar para vaciar los mensajes del panel Salida.
Los mensajes solo se conservan para cada sesión de Power BI Desktop, por lo que reiniciar Power BI Desktop borra todos los mensajes de salida de todas las pestañas de script.
En la vista TMDL de Power BI Desktop, el archivo de informe guarda el contenido de las pestañas de la vista TMDL, por lo que puede continuar donde lo dejó la próxima vez que abra el archivo de informe de Power BI Desktop. Al guardar en un proyecto de Power BI (PBIP), cada pestaña de script se guarda como un archivo .tmdl en la carpeta \TMDLScripts, como se muestra en la siguiente imagen.
Sugerencia
Puede abrir y editar scripts TMDL en Visual Studio Code, y se vuelven a cargar correctamente después de reiniciar Power BI Desktop.
En la vista TMDL de la web, no se conservan las pestañas de script ni el contenido del script. Se descartan cuando se cierra el modelo semántico o la sesión del explorador.
Solicitud de actualización de nivel de compatibilidad
El nivel de compatibilidad de un modelo semántico de Power BI determina las características a las que se puede acceder. La vista TMDL permite agregar cualquier objeto o propiedad de Analysis Services, incluso si no está disponible en el nivel de compatibilidad actual. Al aplicar un cambio que requiera una actualización de nivel de compatibilidad, la vista TMDL proporciona un mensaje que indica qué objeto u objetos requieren la actualización.
Cambio de nombre de objeto con la vista TMDL
Para cambiar el nombre de un objeto dentro de la vista TMDL, es necesario scriptar su elemento primario. Por ejemplo, cambiar el nombre de una columna requiere generar scripts para la tabla, mientras que cambiar el nombre de una tabla requiere generar scripts para todo el modelo semántico. Obtenga más información sobre la jerarquía del modelo de objetos tabulares en el siguiente documento: Jerarquía del modelo de objetos tabulares.
Con la vista TMDL, el cambio de nombre masivo se puede realizar de forma eficaz mediante patrones de búsqueda y reemplazo sencillos. Por ejemplo, puede cambiar el nombre de todas las columnas de tabla a minúsculas siguiendo estos pasos.
Abra la vista TMDL y cree un script en la tabla que desea modificar.
Presione CTRL+F para abrir el cuadro de diálogo buscar y reemplazar, asegúrese de que la opción Expresión regular está habilitada.
Escriba los siguientes patrones en los campos buscar y reemplazar y seleccione Reemplazar todo.
| Acción | Patrón/Reemplazo |
|---|---|
| Buscar | (^\s+column\s+)(.+) |
| Reemplazar | $1\L$2 |
Ejecute el script TMDL para cambiar el nombre de todas las columnas de tabla a minúsculas al instante:
Observe que el nombre de columna será diferente de la propiedad sourceColumn.
La sincronización entre la tabla del modelo semántico y la consulta de Power Query se basa en sourceColumn, lo que mantiene los nombres independientes. Al abrir el editor de Power Query, se mostrarán los nombres de columna que coinciden con sourceColumn, en lugar del nombre de columna del modelo. Además, cambiar el nombre de una columna en la interfaz de usuario no agregará automáticamente un paso de cambio de nombre a la consulta hasta que sourceColumn y el nombre de columna sean idénticos.
Vista TMDL y proyecto de Power BI
Cuando guarda su trabajo como un proyecto de Power BI (PBIP), obtiene acceso a los metadatos de definición de su modelo semántico como archivos TMDL, lo que proporciona una experiencia útil de control de código fuente y codesarrollo, al tiempo que le permite realizar cambios en el modelo semántico fuera de Power BI Desktop. Sin embargo, si modifica los archivos TMDL dentro del PBIP, debe reiniciar Power BI Desktop para volver a cargar esos cambios. En cambio, la vista TMDL sigue un modelo mental de scripting, lo que le permite aplicar cambios de forma eficaz directamente al modelo semántico que se edita en Power BI Desktop mediante TMDL, independientemente de si el formato de archivo es PBIX o PBIP.
Puede integrar perfectamente ambas experiencias. Por ejemplo, puede actualizar la definición de TMDL en PBIP para obtener cambios rápidos sin iniciar Power BI Desktop y usar la vista TMDL cuando Power BI Desktop ya está abierto para implementar eficazmente una serie de cambios en el modelo semántico mediante TMDL. Ambos enfoques ofrecen una experiencia de codificación TMDL enriquecida y coherente.
Sugerencia
Para obtener una experiencia mejorada de creación de TMDL al editar archivos TMDL externamente en Visual Studio Code, use la extensión TMDL de Visual Studio Code. Esta extensión proporciona resaltado semántico de DAX y Power Query, autocompletar, diagnósticos, acciones de código, formato de código, navegación de migas de pan y soporte de localización para documentos TMDL.
Vista TMDL en servicio Power BI (versión preliminar)
Use la vista TMDL en la web para crear scripts, modificar y aplicar cambios a los modelos semánticos publicados. La vista TMDL en la versión web ofrece la misma experiencia que Power BI Desktop, con algunas excepciones.
| Diferencia clave | Vista de TMDL en Power BI Desktop | Vista TMDL en la Web (versión preliminar) |
|---|---|---|
| Modo de vista y Modo de edición | Sin modos distintos: puede realizar y aplicar cambios en el modelo en cualquier momento. | Presenta dos modos: el modo de vista (para generar scripts y obtener una vista previa de los cambios) y el modo de edición (para aplicarlos al modelo). Esta característica permite experimentación más segura antes de confirmar los cambios. |
| Persistencia de scripts | Los scripts TMDL se guardan como parte del modelo semántico. Un modelo puede contener scripts guardados anteriormente. | Los scripts no se guardan. El sistema los descarta cuando se cierra el modelo semántico o el explorador. Los scripts guardados anteriormente no se muestran. |
| Compatibilidad con el historial de versiones | No está disponible. | Aprovecha el historial de versiones del área de trabajo para restaurar versiones anteriores del modelo semántico si es necesario. |
| Permisos de escritura | No es aplicable. La creación en la aplicación de escritorio no depende de los niveles de permisos del área de trabajo. | Requiere permisos de escritura en el modelo semántico** para abrir y usar la experiencia. |
Casos de uso comunes para la vista TMDL
escenario: necesito reutilizar o compartir una tabla de modelo semántico con su definición completa, incluidas las columnas, la expresión de Power Query y la ordenación por configuración, y otras en otro modelo semántico.
solución: Abrir el modelo semántico con la tabla, crear un script con la vista TMDL. Copia el script en la otra ventana de Power BI Desktop, abre la pestaña vista TMDL y aplica el script.
Escenario: He nombrado todas mis tablas con los prefijos "dim_" o "fact_". Me gustaría quitar estos prefijos sin actualizar manualmente cada una de las más de 100 tablas.
Solución: Abrir la vista TMDL, crear el script del modelo semántico, buscar el prefijo (se admiten expresiones regulares) y reemplazarlo con un texto vacío.
Escenario: Necesito crear una perspectiva en mi modelo semántico para utilizar la función de objetos visuales personalizados. Sin embargo, no puedo crearlo ni editarlo mediante la interfaz gráfica de Power BI Desktop.
solución: Abrir la vista TMDL, crear una nueva pestaña vacía (o usar el script desde una perspectiva existente) y, a continuación, crear o editar la perspectiva mediante TMDL. Este método también se aplica a otros metadatos del modelo semántico que carecen de una interfaz gráfica, como traducciones, expresiones de fila de detalle y otras.
createOrReplace
perspective SalesView
perspectiveTable Sales
perspectiveMeasure 'Sales Amount'
perspectiveMeasure 'Sales Qty'
perspectiveColumn Quantity
perspectiveColumn 'Amount'
escenario: necesito modificar la expresión de Power Query de mi tabla sin desencadenar una actualización.
Solución: Script de la tabla, modifique la expresión de Power Query y aplique los cambios. La vista TMDL no requiere actualizar los datos.
Escenario: necesito cambiar el modo de almacenamiento de mi tabla de DirectQuery a Importar y viceversa
Solución: Escriba el script de la tabla, actualice el modo de partición y aplique los cambios.
escenario: necesito realizar una copia de seguridad de la definición del modelo semántico antes de realizar cambios significativos y revertir fácilmente a una definición anterior, si es necesario.
Solución: Crear un script del modelo semántico o de partes específicas de las que desea realizar una copia de seguridad, hacer los cambios en otras vistas y, si es necesario, volver a la vista TMDL para restaurar la metainformación previa ejecutando el script guardado.
Consideraciones y limitaciones
- Puede usar la vista TMDL para editar cualquier objeto o propiedad dentro de un modelo semántico. Sin embargo, las modificaciones incompletas o incorrectas pueden provocar un comportamiento inesperado. Para obtener más instrucciones sobre estas operaciones, consulte el artículo Creación de modelos.
- La paleta comandos muestra algunos comandos que no se admiten actualmente.
- La configuración inicial de la integración con Git desde el área de trabajo no incluirá los scripts de la vista TMDL guardados en el modelo semántico publicado. Obtenga más información en el artículo integración de Git de Fabric.
Contenido relacionado
En los artículos siguientes se describe más sobre TMDL y sus usos.