• Blog
  • Productos
    • Cursos
    • Libros
    • Apps y Plugins
  • Academia
    • Ir a la Academia
    • Membresía Power Elite
    • Próximos Lanzamientos
Power SkillPower Skill
  • Blog
  • Productos
    • Cursos
    • Libros
    • Apps y Plugins
  • Academia
    • Ir a la Academia
    • Membresía Power Elite
    • Próximos Lanzamientos

El Poder de las Macros en Power BI: Automatización de Modelos

04/12/2023 Posted by Miguel Caballero C#, Lenguaje DAX, Power BI


Descubre cómo utilizar scripts de C# para automatizar tareas repetitivas al estilo de Macros para Power BI en el modelo semántico, gracias a Tabular Editor.



¡Prepárate para sumergirte en el emocionante mundo de las Macros en Power BI, donde la automatización de tareas repetitivas es una realidad! Hoy, descubriremos cómo podemos implementar poderosos Scripts (Conjunto de instrucciones en un lenguaje de programación para llevar a cabo una tarea) para transformar nuestra forma de trabajar, explorando como automatizar actividades tediosas en nuestro modelo semántico, es decir, de ese universo de tablas, columnas, medidas, relaciones, Etc.

— Imagina la posibilidad de:

  • Crear medidas de negocio estándar con velocidad y eficiencia sorprendentes.
  • Diseñar medidas de inteligencia de tiempo y calendarios personalizados con una agilidad sin precedentes.
  • Construir medidas explícitas adaptadas a columnas específicas, todo en un abrir y cerrar de ojos.

TOM: Tabular Object Model

La eficacia de automatizar tareas repetitivas relacionadas con el modelo de datos en Power BI se consigue gracias al TOM, o Tabular Object Model, una API que Microsoft pone a nuestra disposición. Este poderoso recurso nos ofrece una serie de instrucciones codificadas, permitiéndonos ejecutar estas tareas de manera más eficiente. En esencia, Microsoft nos proporciona las herramientas necesarias en forma de código para realizar estas manipulaciones con mayor facilidad y precisión, abriendo un abanico de posibilidades en la gestión de modelos de datos.

Esquema Jerárquico del Tabular Objct Model

Sin embargo, es importante reconocer que manejar esta API no es una tarea sencilla. Requiere de una comprensión detallada y habilidades específicas para aprovechar todo su potencial

Herramienta Externa Tabular Editor

La buena noticia es que contamos con una herramienta externa excepcionalmente poderosa, diseñada para simplificar nuestra interacción con esta API. Esta herramienta nos permite acceder y aprovechar todo su potencial de forma directa y más sencilla, gracias a su robusta interfaz. Así, podemos centrar nuestra atención en la creación de scripts (“Macros en Power BI”), maximizando la eficiencia y efectividad de nuestros procesos.

En Tabular Editor, tenemos a nuestro alcance una amplia gama de funcionalidades, pero en este caso, nos enfocaremos en una introducción al uso de Scripts de C# para automatizar tareas, esencialmente creando Macros en Power BI. Tabular Editor ofrece dos versiones: Tabular Editor 3, que es de pago pero ofrece una prueba gratuita, y Tabular Editor 2, completamente gratuita y igualmente capaz de facilitar la creación de ‘Macros en Power BI (Scripts de C#) para la automatización de tareas.

Te invito a visitar la página oficial aquí y elegir la versión que mejor se adapte a tus necesidades.

La Macro en Power BI a Realizar

Vamos a crear nuestra Macro en Power BI que haga un recorrido columna por columna en una selección y, a partir de ahí, cree una medida explícita de la suma asociada a la columna en la iteración actual. Aunque este proceso puede realizarse manualmente con un simple clic derecho, añadiendo una nueva medida y escribiendo la expresión para cada columna, en realidad es una tarea repetitiva que se maneja mucho mejor con una automatización. Ahora, imaginemos que tenemos que hacer esto para 40 columnas diferentes. Aquí es donde una macro puede marcar una gran diferencia, realizándolo de manera más eficiente y precisa.

El Modelo de Datos

En el modelo que usaremos una mirada al panel de datos nos revela una variedad de tablas. Nuestra atención, sin embargo, se dirige específicamente a la tabla Pedidos. Al inspeccionarla, nos encontramos con un mosaico de columnas.

Tabla Pedidos

La medida explícita, asociada a la suma de la columna Ingresos en la tabla Pedidos y denominada Ingresos Tot ya ha sido previamente creada. Podemos corroborar esto en la tabla especializada para alojar medidas.

Medida Explícita de SUM de Columnas Ingresos

Si observamos la barra de fórmulas teniendo seleccionada la medida la expresión DAX es:

                1 | Ingresos Tot = 2 | SUM ( Pedidos[Ingresos] )            
lenguaje DAX Logo Cartas DAX

No obstante, vamos a crear la misma medida, es decir, el SUM para las columnas CostoDeEmpaque, CostoDeEnvio, CostoDelProducto y también Unidades. Esto lo llevaremos a cabo con Tabular Editor.

Tabular Editor

Para utilizar Macros en Power BI, primero nos dirigimos a la pestaña Herramientas externas. En mi caso, tengo instalados ambos Tabular Editor. Para este artículo y vídeo, usaré Tabular Editor 3, así que seleccionaré esa opción.

Tabular Editor 3 en Herramientas Externas

Al abrir Tabular Editor 3, aparece su ventana de inicio. La pestaña inicial nos ofrece un vistazo a últimas actualizaciones y recursos de la comunidad.

Pestaña Inicial de Tabular Editor 3

Entre las múltiples funcionalidades que Tabular Editor 3 nos brinda, estamos particularmente interesados en la creación de Scripts para automatizar. Esta funcionalidad es accesible desde varios puntos dentro de la aplicación, pero en esta ocasión, nos centraremos en acceder a través del menú Window -> New… -> C# Script.

New C# Script

Habilitando el Explorador TOM

Antes de comenzar a crear nuestro script de C#, es importante hacer visible el explorador del TOM. Esto se logra de manera sencilla: si nos enfocamos en la parte central del extremo derecho, encontraremos un ícono que representa al TOM. Pulsamos clic en él.

Habilitar TOM Explorer

Con ello se desplegará la jerarquía asociada al TOM, mostrando su estructura y elementos, como: Modelo, Relaciones, Tablas, Etc.

TOM Explorer

Script de C#

El código de C# que hace la magia s el siguiente:

Script de C#

Te dejo el código del Script de C# en un Code Snippet para copiar y pegar rápidamente:

                1 | foreach ( var c in Selected.Columns ) {2 | 	var nuevaMedida = Model.Tables["Medidas"].AddMeasure (3 |  		c.Name + " Tot",4 |  		" SUM ( " + c.DaxObjectFullName + " )"5 |  	);6 | }            
lenguaje csharp Logo C# para Power BI

— Explicación paso a paso del código:

  1. Bucle foreach: foreach ( var c in Selected.Columns ) { ... }
    • Itera sobre cada columna seleccionada en Tabular Editor. Selected.Columns representa todas las columnas que has seleccionado. La variable c representa la columna actual en cada iteración del bucle.
  2. Creación de una Nueva Medida: var nuevaMedida = Model.Tables["Medidas"].AddMeasure(...)
    • Dentro del bucle, por cada columna seleccionada, se crea una nueva medida en la tabla llamada “Medidas” del modelo.
    • AddMeasure es el método utilizado para añadir una nueva medida a la tabla.
  3. Nombre de la Nueva Medida: c.Name + " Tot"
    • El nombre de cada nueva medida se forma tomando el nombre de la columna actual (c.Name) y añadiéndole el texto ” Tot”. Por ejemplo, si la columna se llama “Ventas”, el nombre de la medida será “Ventas Tot”.
  4. Expresión DAX de la Nueva Medida: " SUM ( " + c.DaxObjectFullName + " )"
    • La expresión DAX para cada nueva medida es una suma de los valores de la columna actual. c.DaxObjectFullName proporciona el nombre completo de la columna en DAX, lo que garantiza que la referencia a la columna sea correcta en la expresión DAX.

En la página de Tabular Editor vas encontrar este Script y muchos otros, puedes explorar aquí.

Énfasis en Tabular Editor

Tener una base sólida en C# es fundamental para maximizar la automatización del modelo semántico. Por ello, en Power Skill, hemos desarrollado el curso Énfasis en Tabular Editor. Este curso no solo te guía a través de sus funcionalidades, sino que también te proporciona una sólida formación en C#. Esto te permitirá no solo entender los Code Snippets que el equipo de Tabular Editor ofrece y los aportes de la comunidad, sino también desarrollar la habilidad de adaptar y crear tus propias automatizaciones del modelo. Si deseas saber más, haz clic aquí para obtener todos los detalles.

Conclusiones

El Poder de las Macros en Power BI gracias a Tabular Editor, revoluciona la eficiencia en el manejo de modelos de datos. La capacidad del Tabular Object Model (TOM) de Microsoft es fundamental, aunque su uso requiere habilidades específicas. Tabular Editor emerge como una herramienta versátil, ofreciendo dos versiones adaptadas a distintas necesidades. Fundamentalmente, una base sólida en C# es crucial para maximizar el potencial de estas herramientas, por lo que el curso Énfasis en Tabular Editor se perfila como un recurso invaluable para quienes buscan profundizar en esta área.

Share
0

You also might be interested in

Power Skill en el Año 2023

Dic 30, 2023

A medida que el año 2023 se desvanece en el horizonte, nos unimos a la tradicional ola de reflexión que barre el mundo digital. Este año, no solo nos sumamos a esta costumbre retrospectiva, sino que también abrigamos la ambición de convertirla en un rito anual para nuestra comunidad

Análisis de Datos Instantáneo: Descubre las Tablas Dinámicas Recomendadas de Excel

Ene 2, 2024

Análisis de datos instantáneo: Descubre y explora las Tablas Dinámicas recomendadas de Excel y cómo configurar sus campos.

¡Formula y Storage Engine! Eleva Tu DAX a Nuevas Alturas

Ene 23, 2024

Exploramos el Formula y Storage Engine con una metáfora de un almacén que aclara el proceso desde la consulta hasta la recuperación de datos en consultas DAX.

Nuevo Mensaje!

No estamos disponibles en estos momentos, por favor déjanos un mensaje, te responderemos lo antes posible, ¡Gracias!

Envíar Mensaje
Academia de Power Skill ¡Quiero ir Ahora!

Información de Contacto

  • Power Skill
  • Coworking ocasional: HubBog
  • (+57) 313 353 47 56
  • excelfreebymcs@gmail.com
  • https://powerskill.tech/

Social Icons Widget

Copyright © 2023 - 2025 | Power Skill & Power Skills • Todos los derechos reservados.

  • Blog
  • Productos
    • Cursos
    • Libros
    • Apps y Plugins
  • Academia
    • Ir a la Academia
    • Membresía Power Elite
    • Próximos Lanzamientos