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.
Se aplica a:✅ Power BI Escritorio y servicio Power BI
Un cálculo visual es un cálculo de expresiones de análisis de datos (DAX) que se ejecuta directamente en un objeto visual en lugar de en el modelo semántico. Usa los datos que se muestran en el objeto visual, por lo que puede crear totales en ejecución, medias móviles y comparaciones entre períodos sin administrar el contexto de filtro o las relaciones del modelo. Los cálculos visuales son fórmulas DAX que se centran en los datos visuales en lugar del modelo semántico completo.
En este artículo se explica cómo funcionan los cálculos visuales, cómo sus parámetros controlan el flujo de cálculo y cómo difieren de otros cálculos DAX.
El siguiente cálculo visual define una suma en ejecución para Importe de ventas:
Running sum = RUNNINGSUM([Sales Amount])
Un cálculo visual puede hacer referencia a columnas, medidas u otros cálculos visuales en el mismo objeto visual.
Los cálculos visuales difieren de las otras opciones de cálculo en DAX:
- Los cálculos visuales se almacenan en un objeto visual, no en el modelo. Agregue un campo de modelo al objeto visual antes de hacer referencia a él en un cálculo visual.
- Los cálculos visuales combinan la simplicidad del contexto de las columnas calculadas con la flexibilidad de cálculo a petición de las medidas.
- Los cálculos visuales funcionan en datos agregados en lugar de datos de nivel de detalle, por lo que a menudo funcionan mejor que las medidas equivalentes.
- Dado que los cálculos visuales forman parte del objeto visual, pueden hacer referencia a su estructura.
Para obtener una comparación detallada de las opciones de cálculo, consulte Uso de opciones de cálculos en Power BI Desktop.
Los objetos visuales de tabla y matriz también ofrecen cálculos visuales mediante la funcionalidad de totales personalizados, que permite cambiar lo que muestra la fila de totales sin escribir DAX. Para obtener más información, consulte los artículos visuales de tabla y matriz .
Para obtener información sobre cómo agregar o editar un cálculo visual, consulte Creación de cálculos visuales.
Funcionamiento de los cálculos visuales
Creas cálculos visuales en el modo Edit, que se abre sobre el elemento visual seleccionado. La superficie de edición tiene tres partes: una vista previa del objeto visual, una barra de fórmulas para la expresión DAX y una matriz visual que muestra los resultados a medida que escribe.
La mayoría de los cálculos visuales evalúan cada fila de la matriz visual, por lo que las funciones de agregación como SUM suelen ser innecesarias. Las funciones que dependen de las relaciones del modelo, incluidas USERELATIONSHIP, RELATED y RELATEDTABLE, no están disponibles.
Después de agregar un cálculo visual, aparece en la lista de campos del objeto visual y se representa en el propio objeto visual.
Funciones DAX disponibles en cálculos visuales
Muchas funciones DAX existentes funcionan en cálculos visuales. Los cálculos visuales también proporcionan funciones que actúan como accesos directos a las funciones de ventana DAX.
| Función | Descripción | Ejemplo | Acceso directo a |
|---|---|---|---|
| COLLAPSE | El cálculo se evalúa en un nivel superior del eje. | Porcentaje del padre = DIVIDE([Importe de ventas], COLLAPSE([Importe de ventas], ROWS)) | N/D |
| COLLAPSEALL | El cálculo se evalúa en el nivel total del eje. | Porcentaje del total general = DIVIDE([Importe de ventas], COLLAPSEALL([Importe de ventas], ROWS)) | N/D |
| EXPAND | El cálculo se evalúa en un nivel inferior del eje. | Promedio de elementos secundarios = EXPAND(AVERAGE([Importe de ventas]), ROWS) | N/D |
| EXPANDALL | El cálculo se evalúa en el nivel de hoja del eje. | Promedio del nivel hoja = EXPANDALL(AVERAGE([Importe de ventas]), ROWS) | N/D |
| FIRST | Hace referencia a la primera fila de un eje. | ProfitVSFirst = [Profit] - FIRST([Profit]) | INDEX(1) |
| ISATLEVEL | Informa de si una columna especificada está presente en el nivel actual. | IsFiscalYearAtLevel = ISATLEVEL([Año Fiscal]) | N/D |
| LAST | Hace referencia a la última fila de un eje. | ProfitVSLast = [Profit] - LAST([Profit]) | INDEX(-1) |
| LOOKUP | Evalúa una expresión en la matriz visual mediante el contexto actual. | LookupSalesFor2025WithContext = LOOKUP(SUM([Sales]), [Year], "2025") | N/D |
| LOOKUPWITHTOTALS | Evalúa una expresión en la matriz visual con totales. | LookupSalesFor2025WithTotals = LOOKUPWITHTOTALS(SUM([Ventas]), [Año], "2025") | N/D |
| MOVINGAVERAGE | Agrega una media móvil en un eje. | MovingAverageSales = MOVINGAVERAGE([Importe de ventas], 2) | WINDOW |
| NEXT | Hace referencia a una fila siguiente de un eje. | ProfitVSNext = [Profit] - NEXT([Profit]) | OFFSET(1) |
| PREVIOUS | Hace referencia a una fila anterior de un eje. | ProfitVSPrevious = [Profit] - PREVIOUS([Profit]) | OFFSET(-1) |
| RANGE | Hace referencia a un segmento de filas de un eje. | AverageSales = AVERAGEX(RANGE(1), [Importe de venta]) | WINDOW |
| RUNNINGSUM | Agrega una suma acumulada en un eje. | RunningSumSales = RUNNINGSUM([Importe de ventas]) | WINDOW |
Parámetros que controlan el flujo de cálculo
Algunas funciones de cálculo visual aceptan parámetros opcionales que controlan cómo atraviesa el cálculo la matriz visual:
- Axis y Reset son específicos de los cálculos visuales. Hacen referencia a la estructura visual en lugar de campos específicos.
- OrderBy y PartitionBy también funcionan en columnas y medidas calculadas. Hacen referencia a campos directamente.
En las siguientes secciones se describen cada parámetro y cuándo conviene usar uno u otro.
Axis
Muchas funciones tienen un parámetro opcional Axis , que solo se puede usar en cálculos visuales. El Axis parámetro influye en la forma en que el cálculo visual atraviesa la matriz visual. El Axis parámetro tiene como valor predeterminado el primer eje del objeto visual. Para muchos objetos visuales, el primer eje es ROWS, lo que significa que el cálculo del objeto visual se evalúa fila por fila en la matriz visual, de arriba a abajo. En la siguiente tabla se muestran los valores válidos para el parámetro Axis.
| Icono Axis | Nombre Axis | Descripción |
|---|---|---|
|
ROWS | Calcula entre filas. |
|
COLUMNS | Calcula en todas las columnas. |
|
ROWS COLUMNS | Calcula por filas y luego por columnas. |
|
COLUMNS ROWS | Calcula por columnas y luego por filas. |
| ROWPAGES | Calcula en múltiplos pequeños. | |
| ROWS ROWPAGES | Calcula por filas y, a continuación, múltiplos pequeños. | |
| COLUMNS ROWPAGES | Calcula entre columnas y, a continuación, múltiplo pequeño. | |
| ROWPAGES ROWS | Calcula a través de múltiplos pequeños y, a continuación, de las filas. | |
| ROWPAGES COLUMNS | Calcula a través de múltiplos pequeños y, a continuación, de columnas. | |
| ROWS COLUMNS ROWPAGES | Calcula primero por filas, luego por columnas y, a continuación, por múltiplos pequeños. | |
| ROWS ROWPAGES COLUMNS | Calcula por filas, por múltiplos pequeños y, a continuación, por columnas. | |
| COLUMNS ROWS ROWPAGES | Calcula a través de columnas, filas y, a continuación, múltiplos pequeños. | |
| COLUMNS ROWPAGES ROWS | Calcula a través de las columnas, los múltiplos pequeños y, a continuación, por filas. | |
| ROWPAGES ROWS COLUMNS | Calcula a través de múltiplos pequeños, filas y después columnas. | |
| ROWPAGES COLUMNS ROWS | Calcula a través de múltiplos pequeños, columnas y luego filas. |
Los cálculos visuales son compatibles con elementos visuales que usan múltiplos pequeños. En la matriz visual, el campo del campo Múltiplo pequeño aparece en el ROWPAGES eje. Use ROWPAGES para calcular entre los múltiplos pequeños, o combinarlo con ROWS y COLUMNS para controlar el orden de recorrido.
Nota:
Si especifica un eje que no está presente en el objeto visual, el cálculo omite ese eje.
Reset
Muchas funciones incluyen un parámetro opcional Reset que solo se puede usar en cálculos visuales. Este parámetro particiona la columna de destino para determinar cuándo se restablece la función a 0 o cambia el ámbito mientras recorre la matriz visual.
El valor predeterminado es NONE, lo que significa que el cálculo no se restablece.
El Reset parámetro acepta estos valores:
- Un entero.
- Referencia de columna.
- Sinónimo: HIGHESTPARENT, LOWESTPARENT o NONE.
Cada valor especifica un nivel de destino en la jerarquía de cálculo visual. El cálculo interpreta este nivel en modo absoluto o relativo .
El signo de un entero determina el modo. Los valores positivos usan el modo absoluto, los valores negativos usan el modo relativo y 0 no restablece el cálculo. Los sinónimos proporcionan valores equivalentes.
Una referencia de columna usa el modo absoluto.
Modo de restablecimiento absoluto
El modo absoluto divide por la columna de destino y todas las columnas por encima de ella. Si la columna de destino no está presente en un nivel, el cálculo se particiona por las columnas disponibles restantes.
Un entero positivo identifica la columna de destino desde la parte superior de la jerarquía. La primera columna es 1, la columna siguiente es 2 y el valor máximo es N, el número de columnas de la jerarquía. Los valores mayores que N usan N. También puede especificar la columna directamente.
Por ejemplo, considere un cálculo visual con estos niveles de jerarquía: Año, Trimestre, Mes y Día. En la tabla siguiente se muestra cómo las particiones de cálculo en cada nivel dependen del valor de Reset:
| Nivel/valor | Reset = 1 o Año | Reset = 2 o trimestre | Reset = 3 o Mes | Reset = 4 o Día |
|---|---|---|---|---|
| Nivel diario | Año | Trimestre y año | Mes, Trimestre y Año | Día, Mes, Trimestre y Año |
| Nivel mensual | Año | Trimestre y año | Mes, Trimestre y Año | Mes, Trimestre y Año |
| Nivel trimestral | Año | Trimestre y año | Trimestre y año | Trimestre y año |
| Nivel de año | Año | Año | Año | Año |
| Nivel total general | Ninguno | Ninguno | Ninguno | Ninguno |
Modo de restablecimiento relativo
Para un entero negativo -X, el modo relativo particiona por columnas que están X o más niveles por encima del nivel actual. Si ninguna columna cumple esa condición, el cálculo no se divide en particiones. Los valores válidos van de -1 a -N+1, donde N es el número de columnas de la jerarquía. Los valores debajo de ese intervalo usan -N+1.
En la tabla siguiente se muestra el modo relativo de una jerarquía con Año, Trimestre, Mes y Día:
| Nivel/valor | Reset = -1 | Reset = -2 | Reset = -3 |
|---|---|---|---|
| Nivel diario | Mes, Trimestre y Año | Trimestre y año | Año |
| Nivel mensual | Trimestre y año | Año | Ninguno |
| Nivel trimestral | Año | Ninguno | Ninguno |
| Nivel de año | Ninguno | Ninguno | Ninguno |
| Nivel total general | Ninguno | Ninguno | Ninguno |
Restablecer sinónimos de parámetros
El Reset parámetro también proporciona los sinónimos siguientes:
- El valor predeterminado es NONE. No restablece el cálculo y equivale a 0.
- HIGHESTPARENT efectúa un restablecimiento absoluto en el nivel más alto y equivale a 1.
- LOWESTPARENT realiza un restablecimiento relativo por el padre inmediato y es equivalente a -1.
Ejemplos de uso del parámetro Reset
Para una jerarquía con Año, Trimestre, Mes y Día, los siguientes cálculos son equivalentes. Devuelven la suma de Importe de ventas y se reinician para cada año en cada nivel de evaluación:
RUNNINGSUM([Sales Amount], HIGHESTPARENT)
RUNNINGSUM([Sales Amount], 1)
RUNNINGSUM([Sales Amount], [Year])
Los cálculos siguientes reinician la suma de Importe de ventas en 0 para cada elemento padre inmediato. El elemento padre depende del nivel de evaluación:
RUNNINGSUM([Sales Amount], LOWESTPARENT)
RUNNINGSUM([Sales Amount], -1)
El siguiente cálculo no se restablece. Agrega el importe de ventas de cada día a los valores anteriores:
RUNNINGSUM([Sales Amount])
OrderBy y PartitionBy
El OrderBy parámetro acepta ORDERBYy el PartitionBy parámetro acepta PARTITIONBY. A diferencia Axis de y Reset, puede usar estos parámetros en columnas calculadas, medidas y cálculos visuales, y hacen referencia a campos directamente.
No todas las funciones proporcionan estos parámetros. Las funciones exclusivas de cálculo visual no proporcionan un PartitionBy parámetro. Las funciones de ventana solo proporcionan un Reset parámetro si los usa en un cálculo visual. El parámetro Relation en las funciones de ventana está disponible tanto si se usa en un cálculo visual como si no, pero solo acepta un Axis si se usa en un cálculo visual.
Elegir entre estos parámetros
No es necesario especificar todos estos parámetros y puede combinarlos. Para decidir qué parámetro se va a usar:
- Prefiere Axis y Reset si desea un comportamiento independiente del campo que sigue a la estructura visual. Hacer referencia a la estructura visual es más flexible que hacer referencia explícitamente a campos.
- Use OrderBy y PartitionBy cuando desee anclar el cálculo a campos específicos independientemente del diseño visual.
- Use PartitionBy en lugar de Reset cuando el eje tenga un solo nivel. Reset requiere varios niveles, por lo que no funciona con un campo o con varios campos en un solo nivel.
Selectores de parámetros
Utilice selectores de parámetros para seleccionar valores para los parámetros de función de cálculo visual. En la imagen siguiente se muestra la plantilla Buscar un valor con totales :
Para activar selectores de parámetros, presione Ctrl+Space.
Plantillas de cálculo visual
Los cálculos visuales incluyen plantillas para facilitar la escritura de cálculos comunes. El botón plantilla del modo de edición de cálculos visuales abre un menú de plantillas disponibles.
Están disponibles las siguientes plantillas:
- Suma acumulada. Calcula la suma de valores, mediante la agregación del valor actual a los valores anteriores. Usa la función RUNNINGSUM.
- Media acumulada. Calcula un promedio de un conjunto de valores en una ventana determinada dividiendo la suma de los valores por el tamaño de la ventana. Usa la función MOVINGAVERAGE.
- Porcentaje del padre. Calcula el porcentaje de un valor con respecto a su elemento primario. Usa la función COLLAPSE.
- Porcentaje de total general. Calcula el porcentaje de un valor en relación con todos los valores, mediante la función COLLAPSEALL.
- Promedio de niños. Calcula el valor medio del conjunto de valores hijos. Usa la función EXPAND.
- Frente a anterior. Compara un valor con un valor anterior mediante la función PREVIOUS.
- Frente a siguiente. Compara un valor con un valor posterior mediante la función NEXT.
- Frente a primero. Compara un valor con el primer valor mediante la función FIRST.
- Frente a último. Compara un valor con el último valor mediante la función LAST.
- Busque un valor con contexto. Busca un valor o evalúa una expresión en la matriz visual dentro del contexto actual. Usa la función LOOKUP.
- Busque un valor con totales. Busca un valor o evalúa una expresión en la matriz visual con totales. Usa la función LOOKUPWITHTOTALS.
Ocultar campos en el objeto visual
En el modo de edición de cálculos visuales, puede ocultar campos del objeto visual igual que ocultar columnas y tablas en la vista de modelado. Por ejemplo, para mostrar solo el cálculo visual Beneficio, oculte Importe de ventas y Costo total del producto de la vista.
Los campos ocultos permanecen en la matriz visual, por lo que los cálculos visuales todavía pueden hacer referencia a ellos. No aparecen en el objeto visual resultante. Incluya campos ocultos solo cuando los cálculos visuales los requieran.
Dar formato a un cálculo visual
Dar formato a un cálculo visual con tipos de datos, opciones de formato o una cadena de formato de nivel visual personalizada. Las opciones Formato de datos de la sección General del panel de formato controlan el formato.
Consideraciones y limitaciones
Tipos de objetos visuales no admitidos
Los cálculos visuales y los campos ocultos no funcionan con los siguientes objetos visuales:
- Segmentador, Visualización de R, Visualización de Python
- Influenciadores clave, árbol de descomposición, preguntas y respuestas, narración inteligente
- Métricas, informe paginado, Power Apps, Power Automate
- Objetos visuales personalizados
Características no admitidas
Las siguientes características no están disponibles con cálculos visuales:
- Filtrado, ordenación o cambio de agregaciones
- Autoreferencia (un cálculo no puede referirse a sí mismo)
- Copiar, pegar o reutilizar en objetos visuales
- Categorías de datos, límites de datos o mostrar elementos sin datos
- Cadenas de formato dinámico (no se pueden establecer ni usar como cadena de formato)
- Personalización de cálculos visuales o campos ocultos
- Puede establecer alertas en los cálculos visuales, pero los cambios en los valores de cálculo visual no desencadenan las alertas.
- Ver detalles de registros
- IntelliSense para Power BI incrustado
Limitaciones de publicación y uso compartido
- No se puede anclar a los tableros de control
- No se puede usar Publicar en web
- Las exportaciones de datos excluyen los resultados del cálculo visual; Los campos ocultos solo aparecen en las exportaciones de datos subyacentes
Otras limitaciones
- Los parámetros de campo funcionan con cálculos visuales, pero tienen algunas limitaciones.
- Las conexiones dinámicas a SQL Server Analysis Services requieren la versión 2025 o posterior.
Contenido relacionado
- Creación de cálculos visuales
- Módulo de entrenamiento: Creación de cálculos visuales en Power BI Escritorio
- Usar opciones de cálculos en Power BI Desktop
- Creación de medidas para el análisis de datos en Power BI Desktop
- Crear y dar formato a visualizaciones de tabla en Power BI: incluye totales personalizados, que funcionan con cálculos visuales.