Saltar al contenido

Escribir DAX en Power Pivot: 7 desafíos reales de Excel 365

Ventana de Power Pivot en Excel 365 con el área de cálculo y una medida DAX escrita desde Claude Desktop

Escrito por

en

,

TL;DR: Power Pivot usa el mismo motor DAX que Power BI, pero te da un cuadro de texto en lugar de un editor. No hay formateador, no hay vista de consulta para probar una medida, no hay lista única de medidas y el modelo vive dentro del .xlsx, así que no hay diff ni control de versiones. El MCP de Excel (ExcelMcp) conecta Claude Desktop con la aplicación real de Excel y cubre esos siete huecos con 31 herramientas y 326 operaciones.

¿Por qué escribir DAX en Power Pivot cuesta más que en Power BI?

Cuesta más porque Power Pivot comparte el motor pero no las herramientas de autor. El motor tabular que evalúa CALCULATE dentro de Excel 365 es el mismo que corre en Power BI Desktop: mismo contexto de filtro, mismas funciones, mismos resultados. Lo que cambia es todo lo que rodea a la escritura de la medida.

Power BI Desktop acumuló en los últimos años un panel de medidas con IntelliSense multilínea, vista de consulta DAX, carpetas de visualización y formato automático. Power Pivot se quedó con el cuadro de diálogo Medida y el área de cálculo: una cuadrícula debajo de cada tabla donde las medidas se depositan en celdas sueltas.

El resultado práctico es que el analista de Excel escribe el mismo DAX con menos red de seguridad. No es que la fórmula sea más difícil: es que equivocarse sale más caro, porque el entorno no te avisa, no te formatea y no te deja probar en aislamiento. Si vienes de Power BI, la comparación entre Power BI y Excel te da el contexto de por qué las dos herramientas evolucionaron distinto.

Desafío 1: ¿por qué el cuadro de medida se siente como un bloc de notas?

Porque prácticamente lo es. El diálogo de medida de Power Pivot es un campo de texto sin numeración de líneas, sin plegado de código y sin botón de formato. Una medida de 20 líneas con VAR anidadas se convierte en un párrafo continuo que hay que leer de corrido.

En Power BI existe el botón de formato y el editor multilínea. En Power Pivot, si quieres DAX legible, la rutina es copiar la fórmula, pegarla en DAX Formatter, copiar el resultado y volver a pegarlo en el cuadro. Tres viajes por medida.

Multiplica eso por un modelo de 40 medidas y entiendes por qué tantos libros de Excel terminan con DAX escrito en una sola línea: no es pereza del autor, es fricción del entorno. Y el DAX en una línea es exactamente el que nadie se atreve a tocar seis meses después.

Margen % =
VAR VentaNeta = [Venta Neta]
VAR CostoTotal = [Costo Total]
RETURN
    DIVIDE ( VentaNeta - CostoTotal, VentaNeta )

Esa medida, formateada, se entiende en tres segundos. La misma en una línea, no.

Desafío 2: ¿dónde están todas mis medidas?

Están repartidas por el área de cálculo, tabla por tabla, y no hay una vista única que las muestre juntas. El área de cálculo es una cuadrícula al pie de cada tabla del modelo: cada medida ocupa una celda, y el orden depende de dónde hiciste clic cuando la creaste.

Esto genera dos problemas concretos. El primero es de inventario: para saber cuántas medidas tiene el modelo hay que recorrer cada tabla y contar celdas a ojo. El segundo es de duplicación: como no ves el conjunto, es habitual crear Ventas Totales en una tabla y Total Ventas en otra, calculando exactamente lo mismo.

Power BI resuelve esto con el panel de campos y las carpetas de visualización. En Power Pivot la disciplina tiene que venir del autor, no de la herramienta. Por eso las convenciones de nomenclatura en DAX pesan mucho más en Excel que en Power BI: el nombre es la única pista que te queda.

¿Qué pasa cuando el nombre es la única pista y está mal puesto?

El libro con el que trabajo en la Sección 13 llegó con nueve medidas heredadas. Ninguna estaba mal calculada; todas estaban mal nombradas, y por eso a los seis meses nadie sabía cuál usar:

Nombre original Qué problema tiene Nombre planificado
CantidadVenta Aceptable, pero no dice la unidad Unidades
$Venta El símbolo pertenece al formato, no al nombre Ventas
PreviousDay Inglés suelto, y no dice anterior de qué Ventas Día Ant.
PreviousMonth Igual: ¿anterior de qué medida? Ventas Mes Ant.
PreviousYear Igual Ventas Año Ant.
DifPasadoPresen Abreviado y ambiguo: ¿pasado de qué periodo? Δ Ventas vs Día Ant.
%CrecimientoDAY Mezcla español e inglés en el mismo nombre % Var. vs Día Ant.
%CrecimientotAnual Error de tipeo que ya nadie se atreve a corregir % Var. vs Año Ant.
CorregirMedidaYear Nombra el parche técnico, no el número de negocio % Var. Anual (solo total)

Renombrar después no es gratis: rompe tablas dinámicas, segmentaciones y gráficos. En Power Pivot el nombre se decide antes de escribir la fórmula, no después.

Desafío 3: ¿cómo pruebo una medida sin armar una tabla dinámica?

En Power Pivot, no puedes: no existe vista de consulta DAX. Para ver qué devuelve una medida tienes que crear una tabla dinámica, arrastrar la medida al área de valores, agregar los campos de contexto y leer el resultado. Cada prueba cuesta varios clics y ensucia la hoja.

Power BI Desktop incorporó la vista de consulta DAX, donde escribes EVALUATE y ves la tabla resultante al instante. Excel no tiene equivalente nativo. La alternativa clásica es DAX Studio, una herramienta externa y gratuita que se conecta al modelo del libro abierto.

El problema de fondo no es la herramienta, es el bucle. Cuando probar cuesta cinco clics, se prueba menos. Y cuando se prueba menos, los errores de contexto de filtro aparecen en la reunión, no en el desarrollo.

EVALUATE
TOPN (
    10,
    SUMMARIZECOLUMNS (
        Productos[Categoria],
        "Margen", [Margen %]
    ),
    [Margen], DESC
)

Esa consulta responde «¿mis diez mejores categorías por margen?» sin tocar una sola tabla dinámica.

Desafío 4: ¿por qué mi medida no aparece cuando la llamo desde otra?

Porque probablemente no es una medida, sino una agregación implícita. Cuando arrastras un campo numérico al área de valores de una tabla dinámica, Excel crea una agregación implícita que se ve igual que una medida en el informe, pero no existe como objeto del modelo y no se puede referenciar desde DAX.

La consecuencia es un error que confunde a todo el mundo al empezar: escribes [Importe] dentro de un CALCULATE y Power Pivot responde que no encuentra la medida, aunque la estés viendo en pantalla en ese mismo momento. Estabas mirando una agregación implícita, no una medida explícita.

La regla de trabajo es simple y conviene adoptarla desde el primer día: toda cifra que vayas a reutilizar se escribe como medida explícita en el área de cálculo, aunque sea un SUM de una sola columna. Las medidas base son el cimiento; si no existen, nada de lo que construyas encima se puede referenciar.

Venta Neta = SUM ( Ventas[Importe] )

Desafío 5: ¿por qué la misma medida da distinto en la tabla dinámica?

Porque la tabla dinámica es la que fija el contexto de filtro, y no siempre lo hace como esperas. En Power BI el contexto lo ponen los visuales y las segmentaciones de forma bastante explícita. En Excel lo ponen las filas, las columnas, los filtros de informe, las segmentaciones, la escala de tiempo y el propio subtotal, todo a la vez.

El caso más frecuente es el de los subtotales y totales generales. Una medida de ratio que funciona perfecta a nivel de fila devuelve un número que parece absurdo en la fila de total, porque el total no es la suma de los ratios: es el ratio calculado sobre el contexto completo.

A esto se suman las relaciones. En Power Pivot cada par de tablas admite una relación activa, y el filtrado cruzado bidireccional no está expuesto en la interfaz como en Power BI: si lo necesitas, se resuelve dentro de la fórmula con CROSSFILTER, o se activa una relación inactiva con USERELATIONSHIP. Si vienes de combinar criterios, el patrón de FILTER con múltiples criterios aplica igual aquí.

Power Pivot y DAX para análisis de datos en Excel Office365Udemy
Power Pivot

Power Pivot y DAX para análisis de datos en Excel Office365

★ 4.7(157 estudiantes)
$22.99

Desafío 6: ¿puedo refactorizar el modelo en masa?

No con las herramientas habituales del ecosistema. Tabular Editor, el estándar para operaciones masivas y para el Best Practice Analyzer, trabaja contra modelos de Analysis Services y Power BI, no contra el modelo incrustado en un .xlsx. En Power Pivot no hay scripting de modelo ni renombrado masivo.

Esto significa que cambiar el prefijo de 30 medidas, aplicar un formato numérico consistente o detectar medidas huérfanas son tareas manuales, una por una, en el área de cálculo. En un modelo mediano es media mañana de trabajo mecánico y propenso a errores de dedo.

También significa que no hay un analizador que te avise de los antipatrones clásicos: columnas calculadas que deberían ser medidas, tipos de datos mal asignados, relaciones sobre columnas de texto de alta cardinalidad. En Power BI el BPA los marca solo. En Excel, los descubres cuando el libro empieza a pesar y a tardar.

Desafío 7: ¿cómo llevo control de versiones de un modelo dentro de un .xlsx?

No se puede con herramientas de texto. El modelo de datos vive comprimido dentro del archivo .xlsx, junto con las hojas, el formato y las tablas dinámicas. Para Git es un binario opaco: no hay diff línea a línea, no hay merge y no hay historial de qué medida cambió.

Power BI resolvió esto con el formato PBIP y TMDL, donde cada tabla y cada medida es un archivo de texto plano versionable. Excel no tiene equivalente. La práctica real en la mayoría de equipos sigue siendo modelo_v3_final_REV2.xlsx, con todo lo que eso implica.

La única forma de recuperar trazabilidad es sacar las definiciones del libro y guardarlas aparte: un archivo de texto con el nombre, la fórmula y el formato de cada medida, versionado en paralelo al libro. Hacerlo a mano es tedioso; hacerlo por programa es trivial, y ahí es donde entra la pieza que faltaba.

¿Cómo resuelve esto el MCP de Excel con Claude Desktop?

ExcelMcp conecta Claude Desktop con la aplicación real de Excel en Windows mediante COM, así que opera sobre tu libro como lo haría una persona, pero por programa. Cuando publiqué el artículo sobre cargar datos en Power Query con el MCP de Excel el 8 de agosto de 2026, el servidor tenía 26 herramientas y 234 operaciones. Hoy, 44 días después, son 31 herramientas y 326 operaciones.

¿Qué acciones de datamodel cubren cada desafío?

La herramienta datamodel expone 14 acciones sobre el modelo de Power Pivot. Estas son las que atacan directamente los siete huecos anteriores:

Acción Qué resuelve Desafío
list-measures Inventario completo de medidas del modelo 2
create-measure / update-measure Escribe la medida sin abrir el diálogo 1
evaluate Ejecuta EVALUATE contra el modelo de Excel 3
execute-dmv Metadatos del modelo vía $SYSTEM.SchemaRowset 2, 6
daxFormulaFile DAX multilínea desde un archivo de texto 1, 7
formatDax Formatea vía daxformatter.com (requiere consentimiento) 1

La acción evaluate es la que más cambia el día a día: le da a Excel la vista de consulta DAX que nunca tuvo. Puedes pedirle a Claude que ejecute un SUMMARIZECOLUMNS y te devuelva la tabla, sin crear una sola tabla dinámica de prueba.

Y daxFormulaFile resuelve el desafío 7 de lado: si la fórmula entra al modelo desde un archivo de texto, ese archivo es versionable. El libro sigue siendo binario, pero las definiciones ya no viven solo dentro de él.

¿Qué necesitas antes de montarlo?

Necesitas Windows, Excel 2016 o superior, .NET 10 y una sesión de escritorio interactiva. ExcelMcp no es un lector de archivos: automatiza la aplicación real, así que no funciona en Linux, macOS ni en procesos por lotes del lado del servidor.

Hay un requisito que sorprende a todos la primera vez: el libro debe estar cerrado en Excel antes de que el MCP lo abra. COM exige acceso exclusivo al archivo. Si lo tienes abierto en pantalla, la sesión falla.

El flujo de trabajo es siempre el mismo: file(open) devuelve un sessionId, ese identificador acompaña a todas las llamadas siguientes, y file(close) con save: true cierra y guarda al terminar. Para lotes de 10 o más escrituras conviene poner el cálculo en manual, escribir todo y recalcular una sola vez al final.

El servidor es de código abierto con licencia MIT y vive en github.com/sbroenne/mcp-server-excel. El protocolo que lo hace posible está documentado en modelcontextprotocol.io.

¿Cómo se planifica un modelo antes de escribir la primera medida?

Se planifica en ocho pasos que van de la decisión a la fórmula, y el DAX es el último. La regla que ordena todo el método es una sola: ninguna medida se escribe hasta que alguien pueda decir qué decisión cambia con ella. Si nadie decide nada distinto porque ese número suba o baje, esa medida no existe todavía.

Los ocho pasos son: la pregunta manda sobre la columna · radiografía del modelo · brief de cinco columnas · las cuatro capas · ficha de medida · nombres y formato · semáforo · y recién entonces, escribir la capa 0. Es el plan de una página con el que trabajo en la Sección 13, y toma entre 35 y 45 minutos.

¿Por qué la radiografía del modelo va antes que el DAX?

Porque el modelo pone el techo: lo que no está, no se mide. La radiografía inventaría qué representa cada fila de cada tabla y qué preguntas habilita, para no prometer un indicador imposible. En el modelo Contoso del curso son unas 100.000 filas de ventas, un calendario de ~5.600 días y cuatro dimensiones: productos, tiendas, clientes y promociones.

Y revela cosas que cambian el plan entero. En este modelo no hay columna de importe: existen Quantity, Unit Price, Unit Cost y Unit Discount, pero el total de cada línea nunca se calculó. Eso decide media planificación, porque la medida base de ventas tendrá que ser un SUMX fila por fila, no un SUM.

Ahí está la trampa clásica que un plan te obliga a ver antes de publicar el número mal: sumar un precio unitario no es un ingreso. SUM(Unit Price) suma etiquetas de precio, no dinero vendido.

Ventas := SUMX ( Ventas_Contoso, Ventas_Contoso[Quantity] * Ventas_Contoso[Unit Price] )

Con execute-dmv y list-tables, esa radiografía sale de un prompt en lugar de media hora de clics.

¿Qué son las cuatro capas y por qué importa el orden?

Las medidas no son una lista plana, son una pirámide: cada capa usa la anterior y ninguna repite el cálculo de la de abajo. Respetar el orden hace que la misma suma se escriba una sola vez en todo el modelo, y que corregir un error sea cambiar una línea.

Capa Qué hace Funciones típicas Cuántas medidas es razonable
0 · Base Leen los datos crudos. Las únicas que tocan columnas SUM, SUMX, COUNTROWS, DISTINCTCOUNT 3 a 6
1 · Tiempo Mueven la capa 0 a otro periodo. Nunca repiten la suma CALCULATE + DATEADD, SAMEPERIODLASTYEAR, TOTALYTD 2 a 5
2 · Comparación Restan y dividen capas anteriores, siempre con DIVIDE DIVIDE, resta de medidas 3 a 8
3 · Control Deciden cuándo mostrarse y cómo. Se escriben al final HASONEVALUE, ISBLANK, SELECTEDVALUE, SWITCH 0 a 4

La regla de oro: dentro de una medida se referencian medidas, nunca se repite el cálculo. Escribe [Ventas] - [Costo], jamás vuelvas a escribir el SUMX. Si mañana cambia la definición de «venta» —por ejemplo, restar descuentos— corriges una medida y el modelo entero se actualiza solo.

Ventas Año Ant. := CALCULATE ( [Ventas], DATEADD ( CALENDARIO1[Fecha], -1, YEAR ) )

Fíjate que ahí no hay ningún SUMX: reutiliza la base. Eso es exactamente lo que compra la planificación.

¿Cuándo una medida no merece existir?

Cuando falla dos o más preguntas del semáforo. Son siete, y se le pasan a cada fila del brief antes de escribir una sola línea de DAX:

  1. ¿Puedo nombrar a la persona que la va a mirar? Sin dueño, no entra.
  2. ¿Puedo decir qué decisión cambia según su valor? Si no, es curiosidad, no indicador.
  3. ¿La puedo explicar en una frase, sin decir «CALCULATE»? Si no, todavía no la entiendes.
  4. ¿Existe ya otra medida que responde casi lo mismo? Fusiónalas: dos números parecidos generan discusiones, no decisiones.
  5. ¿Las medidas de las que depende ya están escritas y verificadas? Si no, sube una capa y termina esa primero.
  6. ¿Tengo forma concreta de comprobar que el número está bien? Sin prueba, es un número bonito y nada más.
  7. ¿Sé qué debe pasar cuando no hay datos, blanco o cero? Defínelo ahora o el total te va a mentir.

El límite sano que sale de aplicarlo: un primer modelo bien planificado vive con 8 a 15 medidas. Si tu brief tiene 30, no tienes un modelo, tienes una lista de deseos.

¿Dónde acelera realmente la IA?

En la radiografía y en la verificación, no en teclear la fórmula. Escribir DAX siempre fue lo más rápido del proceso; lo caro era levantar el inventario del modelo y sostener la disciplina de descartar medidas que no hacen falta. Esos son justamente los pasos que se saltan cuando hay prisa, y los que el MCP vuelve baratos. La IA escribe el DAX; tú decides qué se mide.

Errores comunes al escribir DAX en Power Pivot

Los errores se reparten en dos familias: los que vienen de no haber planificado y los que vienen de cómo funciona el conector. Los primeros son los caros, porque se descubren meses después.

¿Qué síntomas delatan un modelo escrito sin plan?

Síntoma Causa de planificación Arreglo
Hay 40 medidas y solo se usan 4 Se crearon desde columnas, no desde preguntas Aplica el semáforo y borra sin culpa
La misma suma repetida dentro de 6 medidas Nunca se cerró la capa 0 Crea la medida base y haz que las otras la referencien
Los porcentajes dan error o infinito Se usó / en vez de DIVIDE Cambia a DIVIDE y decide qué mostrar sin denominador
El total no cuadra con la suma de las filas La medida no es aditiva y nadie lo advirtió Es normal en promedios y ratios: documéntalo en la ficha
La variación anual se repite igual en cada mes Falta la capa 3 de control HASONEVALUE o ISINSCOPE para mostrarla solo en su nivel
Las medidas de tiempo devuelven blanco El calendario no está marcado como tabla de fechas, o tiene años incompletos Power Pivot → Diseñar → Marcar como tabla de fechas; debe cubrir años completos
Se suma el precio unitario y se llama «ventas» No se hizo la radiografía SUMX fila por fila, y verifica con 3 filas a mano

¿Qué falla al usar el MCP?

Error Causa Solución
La sesión no abre el libro El .xlsx está abierto en Excel Cerrar el libro antes de file(open)
La medida no encuentra a otra medida Era una agregación implícita Crear la medida explícita con create-measure
La tabla nueva no aparece en el modelo Tabla de hoja y modelo son objetos separados Llamar a datamodel(refresh) tras table(append)
La relación desaparece Borrar y recrear una tabla elimina sus relaciones Listar relaciones antes de tocar tablas
El formato de la fórmula se pierde formatDax está en false por defecto Activarlo solo con consentimiento: envía la fórmula a daxformatter.com

Preguntas frecuentes

¿Power Pivot y Power BI usan el mismo DAX?

Sí. El motor tabular es el mismo y las funciones son las mismas. Lo que cambia es el entorno de autoría: Power BI tiene editor multilínea, formateador y vista de consulta; Power Pivot no.

¿Necesito saber DAX para usar el MCP de Excel?

Sí, y bastante. El MCP escribe la fórmula en el modelo, pero la decisión de qué medir, con qué granularidad y contra qué contexto sigue siendo tuya. La IA acelera la escritura, no el criterio.

¿Funciona en Excel para Mac o en Excel en la web?

No. ExcelMcp automatiza la aplicación de escritorio de Windows mediante COM y requiere Excel 2016 o superior, .NET 10 y una sesión interactiva.

¿Es gratis?

El servidor MCP es de código abierto con licencia MIT. Claude Desktop requiere una cuenta; el plan gratuito permite probar el flujo, aunque para sesiones largas de modelado conviene un plan de pago.

¿Qué es la ficha de medida y para qué sirve?

Es el contrato que se llena antes del DAX: ocho campos —nombre, capa, pregunta que responde, fórmula en palabras, de qué depende, formato, cuándo debe quedar en blanco y cómo se verifica—. Si no puedes llenar «cómo verifico», todavía no sabes qué estás midiendo.

¿Puedo versionar mis medidas en Git?

El libro .xlsx no, pero las definiciones sí. Si escribes las fórmulas desde archivos de texto con daxFormulaFile, esos archivos son versionables y recuperas la trazabilidad de qué cambió y cuándo.

Conclusión

Power Pivot no es un DAX de segunda: es el mismo motor con menos andamiaje. Los siete desafíos de este artículo —editor pobre, medidas dispersas, sin vista de consulta, agregaciones implícitas, contexto vía tabla dinámica, sin refactorización masiva y sin control de versiones— no son defectos del lenguaje, son huecos del entorno de autoría.

El MCP de Excel cierra la mayoría de esos huecos sin sacarte de Excel, que es donde está tu trabajo, tus tablas dinámicas y tu gente. No convierte a Excel en Power BI, y no debería: te devuelve el inventario, la prueba en aislamiento y la trazabilidad que el cuadro de medida nunca te dio.

Y si el modelo se planifica antes —la pregunta antes que la columna, el brief antes que la fórmula, el semáforo antes que las 40 medidas que nadie mira— el DAX deja de ser la parte difícil. Ese método completo, los ocho pasos con sus plantillas y la escritura de todas las medidas capa por capa con Claude, está en la Sección 13 del curso: nueve clases nuevas, con vista previa habilitada.

Power Pivot y DAX para análisis de datos en Excel Office365Udemy
Power Pivot

Power Pivot y DAX para análisis de datos en Excel Office365

★ 4.7(157 estudiantes)
$22.99

Comentarios

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *