Business Intelligence Controlling

La nueva generación del reporting económico-financiero y el control de gestión empresarial

Página 3 de 4

Medias móviles en Power BI

En estadística, una media móvil se refiere al cálculo de puntos de datos mediante la creación de una serie de promedios de diferentes subconjuntos del total de los datos originales con el objetivo de suavizar las fluctuaciones del corto plazo, resaltando así las tendencias o ciclos de largo plazo.

En este artículo vamos a ver diferentes formas de implementar una media móvil en Power BI, no con el objetivo de crear patrones predefinidos que podamos usar directamente en nuestros modelos, sino con el propósito de entender distintas formas de manipular el contexto de filtro y practicar nuestras habilidades para «pensar en DAX».

Leer más

Imitar el comportamiento del argumento MissingField.Ignore en Table.TransformColumnTypes

Introducción

En el anterior artículo estuvimos hablando del reto de crear consultas robustas que sean resistentes a los cambios en la estructura de los datos en el origen, y que no fallen en la actualización por culpa de estas modificaciones. Vimos cómo, probablemente, el catalizador más común de este tipo de errores corresponde al uso de la función Table.TransformColumnTypes, y como se considera buena práctica el definir el tipo de solamente aquellas columnas que lo necesiten, con la finalidad de referenciar el menor número posible de ellas en nuestro código, y así evitar posibles fallos a la hora de actualizar nuestro modelo.

Cuando tratamos el tema de como eliminar de forma segura columnas en Power Query vimos el funcionamiento del argumento MissingField.Ignore, un parámetro opcional en muchas de las funciones de registro y de tabla, que indica que los campos referenciados dentro de la función que no se detecten deben ser ignorados.

Desafortunadamente, al contrario de lo que ocurre con las funciones Table.RemoveColumns o Table.RenameColumns, este tercer parámetro opcional no puede ser usado dentro de la función Table.TransformColumnTypes, lo que hace que cuando trabajamos con orígenes de datos dinámicos donde los campos pueden sufrir modificaciones, tengamos un poco más difícil el hecho de proteger nuestras consultas de este tipo de errores. Por ello, en este artículo vamos a ver cómo podemos imitar el comportamiento de MissingField.Ignore dentro de la función Table.TransformColumnTypes, con el objetivo de dotar de mayor robustez a nuestras consultas.

Leer más

Eliminar y transformar columnas de forma segura en Power Query

Introducción

El editor de consultas de Power Query nos proporciona un interfaz gráfico de usuario que facilita enormemente una gran parte de nuestras tareas de limpieza y optimización estructural de los datos, traduciendo los pasos que vamos realizando sobre una vista previa, a un flujo de instrucciones programáticas en lenguaje M que podemos ejecutar con el objetivo de automatizar dichas tareas.

Desafortunadamente, esta facilidad a la hora de realizar las tareas de ETL trae consigo la capacidad de cometer, sin que nos demos cuenta, algunos errores que pueden llevarnos a la creación de consultas vulnerables que no serán capaces de soportar los cambios en orígenes de datos dinámicos, y por lo tanto no se actualizarán.

Leer más

Integración de previsiones presupuestarias y otros datos a diferente granularidad en Power BI

Introducción

El modelado de previsiones presupuestarias constituye uno de los escenarios más desafiantes en el campo del diseño y explotación de modelos de datos en Power BI. Las estructuras de datos en dicha herramienta se basan en el motor de Analysis Services y en la tecnología xVelocity (previamente denominada VertiPaq); de hecho, al ejecutar un archivo .pbix se inicia a su vez una instancia tabular de SSAS (SQL Server Analysis Services) en un puerto aleatorio.

En el modelo tabular, a diferencia de lo que ocurre en el multidimensional, las relaciones entre tablas se establecen utilizando una sola columna, que requiere que sus valores sean únicos en la tabla de búsqueda, por lo que no podemos definir relaciones entre hechos y dimensiones a diferentes granularidades directamente.

En este artículo veremos cómo manejar las relaciones entre tablas con distinta granularidad, escenario típico cuando tratamos de incluir previsiones presupuestarias en nuestro modelo. En este tema cada empresa es un mundo y todo depende del nivel de detalle al que se hayan definido dichas previsiones, pero el problema consiste a menudo en que la granularidad del presupuesto es completamente distinta a la del resto del modelo de datos.

Leer más

Aprendizaje supervisado con Python en Power BI: Clasificación

Introducción

El denominado Machine Learning es una rama de la inteligencia artificial que utiliza algoritmos con el objetivo de automatizar la construcción de modelos analíticos. Se basa en la idea de que los sistemas pueden aprender de observaciones pasadas, identificar patrones, tomar decisiones y predecir comportamientos futuros sin necesidad de programación explicita.

Dentro del Machine Learning clásico nos encontramos con dos tipos principales de tareas: supervisadas y no supervisadas. La diferencia entre ambas reside en que el aprendizaje supervisado se realiza utilizando datos con etiquetas ya identificadas, o en otras palabras, tenemos un conocimiento previo de cuáles pueden ser los valores de salida para nuestras muestras. Por lo tanto, el objetivo del aprendizaje supervisado es aprender una función que, dada una muestra de datos y salidas posibles, se aproxime mejor a la relación entre entrada y salida observable en los datos. El aprendizaje no supervisado, por otro lado, no tiene resultados etiquetados, por lo que su objetivo es inferir la estructura natural presente dentro de un conjunto de puntos de datos.

Leer más

Textos y títulos dinámicos en Power BI

Textos dinámicos con DAX

Siempre me ha gustado crear medidas de texto que sean capaces de interpretar y explicar ciertos resultados en lenguaje natural al usuario. Creando expresiones DAX mediante el uso de variables, campos y otros elementos programáticos conseguiremos que, en función de los filtros seleccionados por el usuario, el texto de la visualización se modifique dinámicamente, actuando casi como un analista de datos automatizado capaz de evaluar distintos escenarios y ofrecernos de una forma muy sencilla la respuesta que buscamos.

Por ejemplo, en la siguiente imagen podemos ver una medida que nos explica los aspectos clave de la rentabilidad financiera teniendo en cuenta el contexto de filtro aplicado por el usuario:

Leer más

Scripts de Python en Power BI

La integración de Python en Power BI es, sin duda, una de las funcionalidades introducidas por el equipo más importantes hasta la fecha. Al igual que R, Python nos ofrece numerosas posibilidades para realizar tareas durante el proceso de ETL en nuestras propias consultas, y crear visualizaciones atractivas y útiles mediante el uso de sus librerías orientadas a la representación gráfica de información estadística. Además, nos proporciona la capacidad de incrementar de forma exponencial la competencia analítica de nuestros informes y cuadros de mando, mediante el uso de módulos de Machine Learning capaces de identificar patrones complejos en los datos con el objetivo de predecir comportamientos futuros, proporcionándonos información de alto valor para la toma de decisiones de negocio.

Ejecutar scripts de Python en el editor de consultas

El lenguaje de programación Phyton cuenta con librerías orientadas al análisis de datos con multitud de funciones y métodos que podemos usar durante las etapas de transformación y limpieza, antes de cargar las consultas al modelo. La librería pandas nos permite manipular Data Frames con un gran número de funciones diseñadas específicamente para los procesos de preparación de datos. Vamos a ver un ejemplo donde tenemos una tabla con datos de clientes que contiene valores null en las columnas que especifican el peso y la altura de cada uno de ellos:

Leer más

Dimensión horaria en M

En casi cualquier modelo de datos que diseñemos será imprescindible disponer de una dimensión temporal que nos permita filtrar y segmentar los valores numéricos de las tablas de hechos en función de los atributos temporales que nos interesen en cada momento. La dimensión temporal más común y útil corresponde a aquella de nivel de granularidad diario, donde tendremos un registro por cada día del periodo abarcado por dicha dimensión.

Por otra parte, atributos relacionados con la dimensión horaria utilizados para describir los eventos de las tablas de hechos aparecen con mucha menor frecuencia. No obstante, en algunas ocasiones en las que el tiempo queda registrado con un nivel de detalle inferior al día, la posibilidad de segmentar los datos por dichos atributos se convierte en uno de los temas principales a la hora de diseñar un almacén de datos analítico.

Este nivel de granularidad temporal, aunque más frecuente, no será exclusivo de modelos científicos que necesiten una especial precisión temporal en el registro de los eventos que pretenden analizar, sino que podemos encontrar fácilmente casos, dentro del mundo empresarial, en los que la capacidad de filtrar los datos por atributos temporales de detalle inferior a un día nos proporcionará un valor añadido importante. Un ejemplo sencillo puede ser un restaurante, donde conocer las horas de mayor y menor afluencia de clientes será clave en la toma de decisiones relacionadas con el manejo de los horarios del personal.

Leer más

Análisis económico-financiero en Power BI

Introducción

Los informes económico-financieros, basados principalmente en las normas de registro y valoración de los diferentes elementos que componen los estados que deben elaborarse bajo el Plan General de Contabilidad, han sido históricamente un proceso complejo y estático, que proporciona información limitada y con horizontes temporales predefinidos (cierre trimestral, anual…).

Dichos informes no nos permiten interactuar con los datos y profundizar en aquellos aspectos que nos interesan en cada momento, algo necesario si realmente queremos poder obtener información relevante y evaluar en detalle la evolución de las magnitudes empresariales en relación a sus objetivos.

Las herramientas de inteligencia de negocios nos permiten ir mucho más allá en la elaboración de este tipo de informes, tanto si se basan principalmente en la contabilidad financiera y se dirigen a los grupos de interés externos a la empresa, como si utilizan un amplio abanico de orígenes de datos internos y externos, y sus destinatarios más importantes son los propietarios y directivos de la empresa, con el objetivo de facilitar la toma de decisiones en cualquier momento y lugar, y proporcionando un instrumento de planificación, información, y control simultáneo y dinámico de las diferentes partes de la organización, aumentando de forma considerable la capacidad de la empresa de crear valor económico.

Leer más

Estructuras jerárquicas en tablas de hechos

Introducción

Un escenario muy frecuente cuando utilizamos bases de datos relacionales como origen principal de un modelo que reproduce un proceso de negocio, como pueden ser las ventas de una empresa, es encontrarnos con dos tablas de hechos con distinta granularidad para describir el mismo proceso. Una de ellas contendrá un registro por cada ticket, albarán o factura emitida con los atributos generales de fecha, cliente, base imponible, impuesto etc., y la otra irá un poco más allá y registrará las ventas a nivel de cada producto vendido, es decir, existirá un registro por cada línea de detalle dentro de cada documento.

En la siguiente imagen podemos ver un ejemplo de esta situación, donde tanto los albaranes como las facturas presentan una estructura de datos del tipo descrito:

Leer más

Página 3 de 4

BI CONTROLLING 2026 © TODOS LOS DERECHOS RESERVADOS