Business Intelligence Controlling

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

Etiqueta: DAX Página 1 de 3

Calculando clientes nuevos, perdidos y recuperados con funciones WINDOW

Introducción

Hace ya unos años que Microsoft incorporó a DAX una nueva familia de funciones tabulares muy especiales: las funciones WINDOW. Se trata de funciones conceptualmente muy similares a las funciones homónimas de SQL, diseñadas para operar sobre conjuntos de datos previamente ordenados y, si es necesario, particionados.

Hasta ese momento, resolver cálculos dependientes de posiciones relativas; el primer cliente, el anterior pedido, el siguiente valor en un ranking, implicaba recurrir a funciones como TOPN o RANKX, y a iteraciones anidadas.

Estas funciones no amplían realmente la capacidad expresiva de DAX, todo lo que hoy hacemos con estas funciones ya podía hacerse antes, pero sí transforman la forma en que lo escribimos. Simplifican el código, lo hacen más mantenible y, en muchos casos, más eficiente. Además, introducen un concepto nuevo y fundamental en el lenguaje: apply semantics, al que seguramente dedicaremos otro artículo más adelante, que permite que dichas funciones interactúen simultáneamente con el contexto de fila y el contexto de filtro.

En este artículo vamos a aplicar estas funciones a un caso de negocio muy habitual: la identificación de clientes nuevos, perdidos y recuperados. Un problema clásico en análisis comercial que, gracias a estas funciones puede resolverse hoy con un rendimiento, claridad y precisión muy superiores a los patrones tradicionales.

Aunque el foco estará en clientes, el patrón que construiremos es completamente generalizable. La misma lógica puede aplicarse para detectar productos que dejan de venderse, productos reactivados, tiendas que inician o cesan actividad, comerciales que recuperan cartera…

En los siguientes apartados veremos cómo funcionan estas funciones y cómo utilizarlas correctamente para construir un patrón sólido, reutilizable y eficiente.

Leer más

Las tablas padre-hijo y el reporting económico-financiero en Power BI

Introducción

En el ámbito del reporting económico-financiero hay algo incuestionable: las estructuras nunca son definitivas. Las organizaciones evolucionan, cambian los criterios de análisis y aparecen nuevas necesidades de información que obligan a revisar continuamente la forma en que se presentan los estados financieros.

Esta situación se hace especialmente evidente en la gestión de las estructuras jerárquicas que soportan estados financieros analíticos, como la Cuenta de Resultados Analítica. Epígrafes, subepígrafes y centros de responsabilidad forman jerarquías complejas que deben ser coherentes y fáciles de mantener y evolucionar. Cuando estos cambios requieren intervención técnica o ajustes costosos (en tiempo y dinero), el reporting deja de acompañar al negocio y se convierte en una limitación.

Antes de continuar, cuando en este artículo hablemos de centros de responsabilidad (coste o beneficio), a lo que me refiero es a centros de responsabilidad contables, es decir, centros virtuales que agrupan ingresos/costes relacionados con una actividad que no tiene por qué estar definida formalmente y que en la práctica corresponden a las combinaciones que existen entre las cuentas contables y las dimensiones analíticas definidas en una organización, como pueden ser el departamento, el área, el equipo etc…

En este contexto de las estructuras de los estados financieros, las tablas padre-hijo ofrecen un enfoque especialmente adecuado. Permiten almacenar y gestionar jerarquías de profundidad variable sin alterar la estructura física de los datos, facilitando una gestión flexible y escalable de las estructuras de reporting financiero.

A lo largo de este artículo veremos qué son las tablas padre-hijo, por qué encajan de forma natural con el reporting económico-financiero y cómo, combinadas con Dataverse y una model-driven Power App (o cualquier otro sistema en el que podamos crear la aplicación), permiten trasladar al usuario de negocio la responsabilidad y la autonomía para mantener y adaptar estas estructuras. Porque en los departamentos de finanzas y controlling, el cambio no es la excepción, sino la norma.

Leer más

Tablas de intervalos de fechas y relaciones virtuales

En el último artículo utilizamos DAX para analizar las ventas de una empresa a partir de una tabla en la que disponíamos de los precios para un determinado cliente, artículo y rango de fechas.

En este artículo vamos a complicar un poco más el requisito de negocio y veremos cómo podemos utilizar la función TREATAS para establecer relaciones virtuales en el caso de que existan registros de precios que no dependan de las columnas de relación, en el ejemplo del artículo anterior, el IdCliente y el IdArticulo, sino que utilicen otros atributos dimensionales para la asignación del importe.

En este ejemplo vamos a trabajar con precios de coste en lugar de con precios de venta. Supongamos que la tabla con la que tenemos que operar ahora es la siguiente:

Leer más

La rentabilidad en un modelo de datos financiero

Introducción

En este artículo vamos a tratar una de las cuestiones clave para diagnosticar la salud de una empresa: la rentabilidad. Este indicador, que como veremos más adelante puede hacer referencia a métricas totalmente distintas entre si, depende de forma considerable de las decisiones tomadas por los directivos de la organización.

Podríamos pensar que nos acercamos a la rentabilidad mediante la comparación interanual de los beneficios empresariales. Sin embargo, dicha comparación puede albergar actuaciones empresariales que distorsionen la calidad del resultado. Por ejemplo, si el incremento de las ventas proviene de una pobre negociación con los clientes, que ha dado como resultado una ampliación del periodo medio de cobro; o si está acompañado de una estrategia de enfoque conservador en las operaciones, con grandes incrementos en los saldos de existencias para evitar roturas de stock, ese aumento de ventas y de beneficios conllevará también un incremento indeseado de los activos en el balance (en este caso, de las necesidades operativas de fondos) y, por lo tanto, exigirá igualmente un aumento de los recursos para financiarlos. Del mismo modo, un incremento en la cifra de ventas conseguido mediante un aumento desproporcionado en los costes incurridos para obtener aquellas tampoco mejorará la rentabilidad.

Leer más

Integridad referencial y miembros desconocidos en Power BI

Introducción

En este artículo vamos a explorar como se comporta Power BI cuando en un modelo de datos existen violaciones de la integridad referencial, y como podemos identificar y solventar este problema, a la vez que agrupamos los miembros desconocidos dotándolos de significado y garantizando la integridad de nuestro modelo.

La integridad referencial es un conjunto de reglas que utilizan las bases de datos relacionales para asegurarse de que no existen valores en una clave foránea que no estén en la clave primaria de la tabla relacionada. Veámoslo con una imagen:

Leer más

Las funciones ALL* como modificadores de CALCULATE

INTRODUCCIÓN

La función ALL (y sus compañeras de familia: ALLEXCEPT, ALLNOBLANKROW, ALLCROSSFILTERED y ALLSELECTED) son unas de las funciones tabulares de DAX más utilizadas, principalmente con el propósito de expandir el número de registros a considerar en la realización de un determinado cálculo, eliminando filtros que se encuentran activos en el contexto actual.

Como función tabular, ALL devuelve todas las filas de una tabla o todos los valores únicos de una o más columnas dependiendo del parámetro utilizado.

Cuando usamos una de estas funciones como la función de primer nivel en un argumento de filtro de CALCULATE, su comportamiento cambia y en lugar de funcionar como una función de tabla actúa como un modificador de CALCULATE, eliminando un filtro existente en el contexto en lugar de crear uno nuevo.

Leer más

Workshop sobre DAX en Power BI Days Madrid

El viernes 25 de noviembre estaré impartiendo un workshop sobre el lenguaje DAX en el evento Power BI Days de Madrid. ¡Allí os espero!

Video Power BI Quizz Pensando en DAX

Os dejo el video de mi participación en el Power BI Quizz de los grandes Ricardo Rincón y Raquel Alvear. Un autentico placer haber podido aportar mi granito de arena a esta iniciativa.

Hasta el último segundo en Power BI

Video de mi participación en Power Platform Madrid, con una sesión sobre la creación y el uso de una dimensión horaria que nos permita analizar nuestros hechos a granularidades inferiores al día.

GPPB2021 Madrid – Integración de previsiones y presupuestos en el modelo tabular (video)

Ya están disponibles las grabaciones del Global Power Platform Bootcamp de Madrid. Os comparto el video de mi sesión donde estuvimos analizando las diferentes opciones que tenemos para integrar previsiones y presupuestos en un modelo de datos de Power BI.

Vimos cómo crear relaciones virtuales con DAX, cómo inspeccionar el contexto de filtro para mostrar u ocultar medidas según el nivel de granularidad de los datos subyacentes con el objetivo de evitar mostrar el presupuesto en contextos de filtro para los que no se encuentra disponible, así como las distintas opciones de las que disponemos para implementar algoritmos que nos permitan asignar o distribuir nuestras previsiones a granularidades mayores a las detalladas en el presupuesto.

Página 1 de 3

BI CONTROLLING 2026 © TODOS LOS DERECHOS RESERVADOS