Formato de fechas en Power BI: grupos de cálculo y Deneb

csalcedodatabi Power BI Deneb DAX
Formato de fechas en Power BI. A la derecha, una tabla diseñada en Deneb con las ventas de 2024 bajo los cuatro elementos de un grupo de comparación con el año anterior, con el valor ya formateado y la cadena de formato de cada uno: Medida seleccionada $10,387,132, Año anterior $9,516,546 y Diferencia $870,586, los tres con \$#,0; solo Diferencia % sale en porcentaje, 9.1% con 0.0%

En resumen — Un ejemplo, no un truco: un grupo de cálculo que compara cada año con el anterior. Tres columnas son moneda y una es porcentaje. En una matriz de Power BI eso se ve bien desde siempre; en Deneb, desde la versión 1.6, también, sin escribir un solo formato.

📥 El proyecto de Power BI y el spec están gratis al final del artículo.

El ejemplo

Tres campos y nada más: el año, el elemento de un grupo de cálculo de comparación y una medida, Total Sales. El grupo tiene cuatro elementos:

  • Medida seleccionada — las ventas tal cual.
  • Año anterior — las del año previo.
  • Diferencia — una menos otra.
  • Diferencia % — esa diferencia, en porcentaje.

Solo el último cambia el formato. Los otros tres conservan la moneda de la medida.

En Power BI

Así lo pinta una matriz nativa:

Matriz de Power BI con Year en filas y los cuatro elementos del grupo de comparación en columnas. 2024: $10.387.132, $9.516.546, $870.586 y 9,1 %. 2023 no tiene año anterior

En Deneb

Y así llega a Deneb, con los mismos tres campos:

Tabla diseñada en Deneb con los mismos datos: 2024 muestra $10,387,132, $9,516,546, $870,586 y 9.1 %; solo la columna Diferencia % sale en porcentaje

Los mismos formatos, celda a celda. El spec no sabe qué columna es porcentaje: la etiqueta lee el texto que Power BI ya formateó.

La etiqueta
"text": { "field": "Total Sales__formatted", "type": "nominal" }

Qué es __formatted y de dónde sale está en Formato de medidas en Power BI: __format en Deneb.

2023 sale incompleto a propósito: no tiene año anterior con el que compararse, así que esas celdas quedan vacías y la diferencia iguala a las ventas. Es el borde del calendario, no un fallo.

Antes no era así

Hasta la versión 1.5, Deneb recibía de un grupo de cálculo el número crudo: 0.0915 en lugar de 9.1%. Cualquier formato que le dieras en el spec valía para una columna y rompía las demás. Lo pidió el propio autor de Deneb y llegó en la 1.6, en noviembre de 2023: el formato de cada fila viaja en dos columnas de apoyo.

Este ejemplo es el caso que se reprodujo en el repositorio de Deneb frente a la tabla nativa, y funciona igual en la versión certificada y en la 2.0.

Actívalo en tu visual

Ten presente que en Deneb 2.0 estas dos columnas hay que activarlas: un visual nuevo no las trae. Se hace en el editor, sin tocar el spec:

  1. Pestaña Project setup.
  2. Supporting fields: dataset.
  3. En la medida —aquí, Total Sales—, marca Format string y Formatted value.

Sin ellas, cada celda dice «sin dato»: es el texto de respaldo del spec cuando Total Sales__formatted no existe. El archivo de descarga ya las trae activadas.

El grupo de cálculo

Solo Diferencia % declara formato. Los demás no declaran nada y heredan el de la medida.

El grupo de cálculo TimeIntel
calculationItem 'Medida seleccionada' = SELECTEDMEASURE()

calculationItem 'Año anterior' =
  CALCULATE( SELECTEDMEASURE(), SAMEPERIODLASTYEAR( DimDate[Date] ) )

calculationItem Diferencia =
  SELECTEDMEASURE() - CALCULATE( SELECTEDMEASURE(), SAMEPERIODLASTYEAR( DimDate[Date] ) )

calculationItem 'Diferencia %' =
  VAR py = CALCULATE( SELECTEDMEASURE(), SAMEPERIODLASTYEAR( DimDate[Date] ) )
  RETURN DIVIDE( SELECTEDMEASURE() - py, py )
  formatStringDefinition = "0.0%"

Si quieres que un elemento respete el formato de cada medida y no solo el de esta, mira Heredar el formato de la medida. El grupo con moneda, miles y porcentaje sobre una sola medida está en Grupos de cálculo en Power BI: su formato en Deneb.

Pruébalo

El modelo es Contoso Retail y es público. El ejemplo es la página 4 · Comparativa interanual del proyecto de grupos de cálculo: arriba la matriz nativa, abajo Deneb.

Recursos

Descargar gratis los recursos de este artículo

  • El proyecto de Power BI con el grupo de comparación TimeIntel en la página 4 · Comparativa interanual: matriz nativa y Deneb
  • Otros tres escenarios de grupos de cálculo en el mismo archivo

Es un proyecto PBIP dentro de un .zip: descomprime y abre el archivo .pbip. El archivo no trae datos para pesar poco: al abrirlo pulsa Actualizar y los carga de Contoso Retail en unos segundos.

¿Te resultó útil este artículo?

Tu apoyo me permite seguir creando contenido de calidad.

¡Contáctame!