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 Desktop
Servicio Power BI
Con las cadenas de formato personalizado de Power BI Desktop, puede personalizar el modo en que los campos aparecen en los objetos visuales y asegurarse de que los informes tienen exactamente la apariencia que desea.
Existen cadenas de formato en tres niveles:
- Modelo. Puede establecer una cadena de formato para los campos del modelo o usar una cadena de formato dinámico para dar formato a la medida. En cualquier lugar que use ese campo, se aplica la cadena de formato, a menos que se invalide mediante una cadena de formato de nivel de elemento o objeto visual.
- Visual. Puede establecer cadenas de formato en cualquier cálculo de columna, medida o objeto visual que esté en el objeto visual, incluso si ya tenían una cadena de formato. En ese caso, se invalida la cadena de formato de nivel de modelo y se usa la cadena de formato de nivel visual. Si cambia la agregación en un campo, que invalida una cadena de formato de nivel visual establecida anteriormente, se quita la cadena de formato. Las cadenas de formato de nivel visual para los campos se conservan para los campos, pero no para los cálculos visuales. Si establece una cadena de formato de nivel visual en un campo y, a continuación, quita y lee ese campo en el mismo objeto visual, se restablece la cadena de formato de nivel visual. En cambio, para un cálculo visual, la cadena de formato no se restablece.
- Elemento. Puede establecer una cadena de formato para las etiquetas de datos y para elementos específicos de la nueva tarjeta y los nuevos objetos visuales de segmentación. Este nivel se expandirá para incluir más en el futuro. Cualquier cadena de formato que establezca aquí invalida la cadena de formato establecida en el nivel visual y de modelo.
Estos niveles son jerárquicos, con el nivel de modelo siendo el nivel más bajo y el nivel de elemento más alto. Una cadena de formato definida en una columna, medida o cálculo visual en un nivel superior invalida lo que se definió en un nivel inferior.
Dado que los cálculos visuales no están en el modelo, no pueden tener una cadena de formato establecida en el nivel de modelo, pero sí en el nivel de elemento o visual. Las medidas y columnas pueden tener cadenas de formato en los tres niveles:
| Nivel | Impactos | Disponible para |
|---|---|---|
| Elemento | Elemento seleccionado del objeto visual seleccionado | Medidas, columnas, cálculos visuales |
| Visual | Objeto visual seleccionado | Medidas, columnas, cálculos visuales |
| Modelo | Todos los objetos visuales, todas las páginas, todos los informes del mismo modelo | Medidas, columnas |
La cadena de formato de nivel de elemento solo está disponible para objetos visuales y etiquetas de datos específicos en este momento.
Cómo usar cadenas de formato personalizado
Para usar cadenas de formato personalizado, primero debe decidir en qué nivel va a trabajar: Model, Visual o Element.
Sugerencia
Si ve sufijos inesperados como K o M, proceden de la configuración Unidades de visualización (Auto) del objeto visual en lugar de la propia cadena de formato personalizado. Establezca Unidades de visualización en Ninguno para mostrar el número completo.
Adición de una cadena de formato de nivel de modelo
Para crear cadenas de formato personalizado en el modelo, seleccione el campo de la vista Modelado y, a continuación, seleccione la flecha desplegable en Formato en el panel Propiedades.
Cuando haya seleccionado Personalizado en el menú desplegable Formato, elija en la lista una de las cadenas de formato que se usan más comúnmente.
Agregar una cadena de formato de nivel visual
Para crear una cadena de formato de nivel visual, agregue primero el campo o cálculo visual al objeto visual. A continuación, con el objeto visual seleccionado, abra el panel de formato y vaya a la sección General del panel de formato. Busque las opciones Formato de datosy configure la cadena de formato allí:
Nota:
Por ahora, debe escribir una cadena de formato .NET en lugar de una cadena de formato VBA. Se trata de un problema temporal que se resolverá en una versión futura.
Agregar una cadena de formato de nivel de elemento
Para crear una cadena de formato de nivel de elemento, abra el panel de formato y busque las secciones de cadena de formato del elemento en el que desea establecer el formato. Tenga en cuenta que no todos los elementos admiten cadenas de formato. Además, las unidades de visualización de nivel de elemento todavía pueden aplicar el escalado automático de K/M/B a menos que los establezca en Ninguno. Para establecer una cadena de formato en una etiqueta de datos, abra la sección Visual del panel de formato, establezca Etiquetas de datos>Valor>Unidades de visualización en personalizado y escriba el código de formato:
Sintaxis de formato personalizado admitida
Las cadenas de formato personalizado siguen la sintaxis de estilo VBA, común a Excel y a otros productos de Microsoft, pero no admiten toda la sintaxis usada en otros productos.
Nota:
Actualmente, las cadenas de formato de nivel visual usan tokens de formato numérico y fecha y hora de .NET (limitación temporal). Esto significa que el uso de mayúsculas y minúsculas es importante (M = mes, m = minuto). Las cadenas de formato personalizado de nivel de elemento y modelo usan los tokens de estilo VBA documentados en las tablas siguientes. Esta limitación se quitará en una versión futura para que todos los niveles usen una sintaxis unificada.
Solución de problemas de valores inesperados del mes o del minuto
** Si un formato personalizado muestra minutos donde esperaba un mes:
- Confirme si ha aplicado el formato en el nivel visual (sintaxis de .NET).
- Si es así, cambie
maMdurante el mes o mueva la cadena de formato personalizado al nivel de modelo para usar el estilomVBA. - Use
nndurante minutos en contextos de estilo VBA para evitar confusiones con símbolos de mes.
Solución de problemas de escalado automático no deseado (K, M, B sufijos)
Si el objeto visual muestra un sufijo como K (miles), M (millones) o B (miles de millones), aunque establezca un formato de número personalizado (por ejemplo #.### o #,##0), el sufijo normalmente no procede de la cadena de formato personalizado. Se aplica mediante la configuración Unidades de visualización (escalado automático) en el objeto visual o elemento.
Causas típicas:
- Las unidades de visualización se establecen en Automático (valor predeterminado) para una tarjeta, KPI, medidor, tarjeta nueva, valor de segmentación o etiqueta de datos.
- Se aplica formato de nivel de elemento, pero las unidades de visualización del elemento siguen escalando automáticamente.
- Cálculo visual o agregación leído después de cambiar el formato (las unidades de visualización se revierten a Automático).
Cómo quitar el sufijo K/M/B:
- Seleccione el objeto visual.
- Abra el panel Formato .
- Busque la configuración de valores numéricos (por ejemplo, formato de datos generales>, etiquetas de datos visuales>, valor de llamada o Valores para la nueva tarjeta).
- Establezca Unidades de visualización (a veces etiquetadas unidades o unidades de valor) en Ninguno (no automático).
- Vuelva a aplicar (o confirme) la cadena de formato personalizado deseada (por ejemplo
#,##0, ,0,0.0,#,##0.###).
Si sigue presente:
- Compruebe si hay una anulación a nivel de elemento (por ejemplo, la configuración de la etiqueta de datos) también establecida en Automático.
- Confirme que no insertó un literal "K" en el formato personalizado (por ejemplo
0" K"). - Para las medidas de nivel de modelo, asegúrese de que ninguna lógica DAX ya haya escalado el valor (por ejemplo, dividiendo por 1000).
Comparación de ejemplo:
| Configuración | Mostrar unidades | Formato personalizado | Resultado |
|---|---|---|---|
| Visual de tarjeta (predeterminado) | Coche | #,##0 |
12K (escalado) |
| Visualización de tarjeta (cambiada) | Ninguno | #,##0 |
11,732 |
| Etiqueta de datos (columna agrupada) | Coche | 0 |
12K |
| Etiqueta de datos (columna agrupada) | Ninguno | 0 |
11,732 |
| Nueva tarjeta (formato del valor) | Coche | 0.0" °C" |
23.4K °C (no deseado) |
| Nueva tarjeta (formateo de valores) | Ninguno | 0.0" °C" |
23.4 °C |
Sugerencia
Si desea abreviaturas personalizadas pero no la lógica predeterminada de K/M/B, mantenga Unidades de visualización: Ninguno y anexe texto literal en la cadena de formato (por ejemplo 0.0"k"). Esto preserva el control de precisión numérica en bruto.
Nota:
El escalado dinámico basado en el tamaño de valor (por ejemplo, cambiar entre ningún sufijo, K y M) requiere una medida que devuelva texto (por ejemplo, mediante FORMAT() o lógica condicional) o una medida de cadena de formato dinámico. Las cadenas de formato personalizadas estáticas, por sí solas, no proporcionan lógica de sufijos condicionales.
En las tablas siguientes se define la sintaxis admitida en Power BI.
Símbolos de fecha admitidos (sintaxis de estilo VBA usada en el nivel de modelo y de elemento)
Los símbolos siguientes se aplican a cadenas de formato personalizado que usan la sintaxis de estilo VBA (similar a Excel).
Importante
Las cadenas de formato personalizado de nivel visual requieren temporalmente tokens de formato .NET (vea la nota siguiente). En formatos personalizados de fecha y hora en .NET, mayúscula M representa mes y minúscula m representa minutos. En los formatos de estilo VBA (utilizados aquí en los niveles de modelo y elemento), el m en minúsculas representa el mes. Esta diferencia es una fuente común de confusión.
| Símbolo | Significado o salida |
|---|---|
| d | Día del mes sin cero inicial (1–31). |
| dd | Día del mes con un cero inicial (01–31). |
| m | Número de mes sin cero inicial (1–12). Si inmediatamente después de h o de hh se interpreta como minutos (vea "Símbolos de minutos" que siguen). |
| mm | Número de mes con cero a la izquierda (01–12). Si inmediatamente después de h o hh se interpreta como minutos con un cero inicial (00–59). |
| mmm | Nombre abreviado del mes (Jan-Dec). (Los nombres de los meses hijri no tienen abreviaturas). |
| mmmm | Nombre completo del mes (enero-diciembre). |
| yy | Año de dos dígitos (00–99). |
| aaaa | Año de cuatro dígitos (0001–9999). |
Nota:
Si ve valores de minutos inesperados en los que espera meses, confirme si ha especificado el formato en una configuración de nivel visual (actualmente estilo .NET) o una configuración de nivel de modelo o elemento (estilo VBA).
Símbolos de hora admitidos (estilo VBA)
| Símbolo | Significado o salida |
|---|---|
| h | Hora sin cero inicial (0-23). Cuando se combina con AM/PM, representa de 1 a 12. |
| hh | Hora con cero a la izquierda (00–23). Cuando se combina con AM/PM, representa 01–12. |
| n | Minuto sin cero inicial (0-59). |
| nn | Minuto con ceros iniciales (00–59). |
| m / mm | TAMBIÉN minutos (0–59 / 00–59) solo cuando siguen inmediatamente a h o hh. De lo contrario, se tratan como símbolos de mes (consulte símbolos de fecha). |
| d | Segundo sin cero inicial (0 – 59). |
| ss | Segundo con cero inicial (00-59). |
Sugerencia
Se prefiere n / nn durante minutos para evitar ambigüedad con m / mm símbolos de mes.
Ejemplos de fecha y hora
Supongamos la marca de tiempo de ejemplo: 2025-09-04 15:07:08 (4 de septiembre de 2025, 3:07:08 PM).
| Cadena de formato | Contexto (estilo VBA frente a .NET) | Salida prevista | Notas |
|---|---|---|---|
| m/d/yy | Estilo VBA (modelo) | 9/4/25 | Mes como número; día sin cero a la izquierda. |
| dd/mm/aaaa | Estilo VBA (modelo) | 04/09/2025 | Ceros iniciales. |
| mmm d, aaaa | Estilo VBA (modelo) | 4 de septiembre de 2025 | Mes abreviado. |
| mmmm d | Estilo VBA (modelo) | Septiembre de 4 | Nombre completo del mes. |
| h:nn:ss | VBA-style (modelo) | 15:07:08 | Usa nn para evitar la ambigüedad del mes. |
| h:m:s | Estilo VBA (modelo) | 15:7:8 |
m interpretado como minutos (sigue a h). |
| m | Estilo VBA (modelo) | 9 | Número de mes independiente. |
| M | Nivel visual de .NET | 9 | En .NET, M mayúscula = mes. |
| m | Nivel visual de .NET | 07 | En .NET, m en minúsculas = minutos. |
| mm/dd | Uso incorrecto mixto (nivel visual de .NET) | 07/04 | Muestra minutos/día cuando el usuario esperaba mes/día, lo que causa confusión. |
Nota:
Si ve un valor de minutos (como 07) donde esperaba un mes (como 09), probablemente haya ingresado un formato de estilo .NET (nivel visual) pensando que era de estilo VBA. Ajuste el uso de mayúsculas y minúsculas (M frente a m) o mueva el formato al nivel de modelo.
Agregar símbolos Unicode o especiales (grado, moneda, superíndices)
Las cadenas de formato personalizado no admiten secuencias hexadecimales o de escape (por ejemplo \u00B0, , 0xB0o °). Para incluir un símbolo, inserte (pegar/escribir) el carácter Unicode real dentro de un literal entre comillas o (para algunos formatos numéricos) sin comillas si es un literal final.
| Objetivo | Cadena de formato (estilo de modelo/VBA) | Ejemplo de salida | Notas |
|---|---|---|---|
| Agregar un espacio después de Celsius | 0.0" °C" |
23.4 °C |
El espacio está entre comillas, por lo que se conserva. |
| Agregar texto de porcentaje (no escalado automático) | 0.00" pct" |
12.34 pct |
Diferente del % marcador de posición (que multiplica por 100). |
| Mostrar miles con sufijo KB | 0" KB" |
512 KB |
Literal "KB". |
| Moneda con símbolo explícito | #,##0.00" €" |
1,234.00 € |
Prefiere la moneda de nivel de modelo basada en la configuración regional si es necesario un símbolo dinámico. |
| Etiqueta de microsegundos | 0" µs" |
15 µs |
Inserte μ (U+00B5). |
| Grado sin unidad final | 0"°" |
90° |
No se ha agregado espacio. |
| Superíndice cuadrático | 0" m²" |
25 m² |
Pegar ² (U+00B2). |
Sugerencia
Para insertar un símbolo:
- Windows: presione
Win + .(emoji/panel de símbolos) o use un código ALT (por ejemplo, mantenga presionadoAlt, escriba0176en el teclado numérico para °). - Copiar y pegar desde un mapa de caracteres.
Una vez que el literal se encuentra en la cadena de formato, se considera como texto sin formato.
Importante
Las barras diagonales inversas (\), \uXXXXo 0xNN los patrones de escape no se interpretan: Power BI no los traduce a Unicode en cadenas de formato personalizado. Utiliza el propio carácter. En el caso de los formatos de nivel visual (.NET), la regla es la misma: incluya el carácter real entre comillas (por ejemplo 0.0" °C"). Una barra diagonal inversa sólo escapa al siguiente carácter; no crea secuencias Unicode.
Nota:
Para la lógica de símbolos dinámicos (por ejemplo, cambiar de °C a °F según la selección en el segmentador), se usa una medida DAX que devuelve un valor de texto o una medida de cadena de formato dinámico en lugar de una cadena de formato estática y personalizada.
Puede ver un ejemplo de cómo cambiar el formato de las cadenas de valores personalizados.
Una expresión de formato definida por el usuario para los números puede tener de una a tres secciones separadas por punto y coma. Si incluye signos de punto y coma sin nada entre ellos, no se mostrará la sección que falta, en su lugar verá "". Si no especifica el punto y coma, usa el formato positivo.
Estos son ejemplos de distintos formatos para diferentes cadenas de valor:
| Valores | Cadena de formato | Cadena de formato | Cadena de formato | Cadena de formato |
|---|---|---|---|---|
| 0,00;-0,0;"Cero" | 0,00;; | 0,00;-0,0; | 0,00; | |
| -1,234 | -1,2 | "" | -1,2 | "" |
| 0 | "Cero" | "" | "" | 0,0 |
| 1,234 | 1,23 | 1,23 | 1,23 | 1,23 |
En la tabla siguiente se identifican los formatos de fecha y hora con nombre predefinidos:
| Nombre de formato | Descripción |
|---|---|
| Fecha general | Muestra una fecha u hora, por ejemplo, 3/4/93 05:34 p. m. Si no hay ninguna parte fraccionaria, muestra solo una fecha, por ejemplo, 3/4/93. Si no hay ninguna parte entera, solo se muestra la hora, por ejemplo, 05:34 p. m. La visualización de las fechas viene determinada por la configuración del sistema. |
| Fecha larga | Muestra una fecha según el formato de fecha larga del sistema. |
| Fecha corta | Muestra una fecha con el formato de fecha corta del sistema. |
| Hora larga | Muestra una hora con el formato de hora larga del sistema; incluye horas, minutos y segundos. |
| Hora corta | Muestra una hora con el formato de 24 horas, por ejemplo, 17:45. |
Formatos numéricos con nombre
En la tabla siguiente se identifican los formatos numéricos con nombre predefinidos:
| Nombre de formato | Descripción |
|---|---|
| Número general | Muestra el número sin separador de miles. |
| Moneda | Muestra el número con un separador de miles. Muestra dos dígitos tras el separador decimal. La salida se basa en la configuración regional del sistema. |
| Fija | Muestra al menos un dígito antes y dos dígitos después del separador decimal. |
| Estándar | Muestra el número con un separador de miles, al menos un dígito antes y dos dígitos después del separador decimal. |
| Porcentaje | Muestra el número multiplicado por 100 con un signo de porcentaje ( % ). Muestra siempre dos dígitos tras el separador decimal. |
| Científico | Usa la notación científica estándar. |
Otros caracteres de formato de fecha y hora
Se aplican los siguientes caracteres complementarios (aún no cubiertos):
| Carácter | Description |
|---|---|
| : | Separador de hora (específico de la configuración regional). |
| / | Separador de fecha (específico de la configuración regional). |
| tt | Designador AM/PM (reloj de 12 horas, mayúsculas). |
Nota:
Otros tokens day/month/year/hour/minute/second ya definidos siguen la semántica de estilo VBA a nivel de modelo/elemento y la semántica de .NET (sensible a mayúsculas) a nivel visual.
En la tabla siguiente se identifican los caracteres que se pueden usar para crear formatos de número definidos por el usuario.
| Carácter | Description |
|---|---|
| Ninguno | Muestra el número sin formato. |
| ( 0 ) | Marcador de posición de dígitos. Muestra un dígito o un cero. Si la expresión tiene un dígito en la posición donde aparece el 0 en la cadena de formato, se muestra. En caso contrario, se muestra un cero en esa posición. Si el número tiene menos dígitos que ceros (en cualquier lado del separador decimal) en la expresión de formato, se muestran ceros a la izquierda o a la derecha. Si el número tiene más dígitos que ceros tras el separador decimal, se redondea el número a tantos lugares decimales como ceros haya. Si el número tiene más dígitos que ceros antes del separador decimal, se muestran los dígitos adicionales sin modificación. |
| ( # ) | Marcador de posición de dígitos. Muestra un dígito o nada. Si la expresión tiene un dígito en la posición donde aparece este símbolo en la cadena de formato, se muestra; en caso contrario, no se muestra nada en esa posición. Este símbolo funciona como el marcador de posición de cero dígitos. Sin embargo, los ceros a la izquierda y a la derecha no se muestran si el número tiene los mismos dígitos o menos que caracteres # en cualquier lado del separador decimal en la expresión de formato. |
| ( . ) | Marcador de posición decimal. En algunas configuraciones regionales, se usa una coma como separador decimal. El marcador de posición decimal determina el número de dígitos que se muestran antes y después del separador decimal. Si la expresión de formato solo contiene signos de número a la izquierda de este símbolo, los números menores que uno comienzan con un separador decimal. Para mostrar un cero a la izquierda con números fraccionarios, use 0 como primer marcador de posición de dígitos a la izquierda del separador decimal. El carácter real usado como marcador de posición de decimales en la salida con formato depende del formato de número que reconozca el sistema. |
| (%) | Marcador de posición de porcentaje. La expresión se multiplica por 100. El carácter de porcentaje ( % ) se inserta en la posición en la que aparece en la cadena de formato. |
| ( , ) | Separadores de miles. En algunas localidades, se usa un período como separador de miles. El separador de miles separa miles de cientos dentro de un número que tiene cuatro o más lugares a la izquierda del separador decimal. Se especifica el uso estándar del separador de miles si el formato contiene un separador de miles rodeado de marcadores de posición de dígitos ( 0 o # ). Dos separadores de miles adyacentes o un separador de miles inmediatamente a la izquierda del separador decimal (si se especifica o no un decimal) significa "escalar el número dividiéndola en 1000, redondeando según sea necesario". Por ejemplo, puede usar la cadena de formato "##0", para representar 100 millones como 100. Los números menores que un millón se muestran como 0. Dos separadores de miles adyacentes en cualquier posición que no sea inmediatamente a la izquierda del separador decimal se tratan simplemente como especificar el uso de un separador de miles. El carácter real que se usa como separador de miles en la salida con formato depende del formato de número reconocido por el sistema. |
| ( : ) | Separador de líneas. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de hora. El separador de hora separa las horas, los minutos y los segundos cuando se aplica formato a los valores de hora. La configuración del sistema determina el carácter real que se usa como separador de hora en la salida con formato. |
| ( / ) | Separador de fecha. En algunas configuraciones regionales, se pueden usar otros caracteres para representar el separador de fecha. El separador de fecha separa el día, el mes y el año cuando se aplica formato a los valores de fecha. La configuración del sistema determina el carácter real que se usa como separador de fecha en la salida con formato. |
| (E- E+ e- e+) | Formato científico. Si la expresión de formato contiene al menos un marcador de posición de dígitos (0 o #) después de E-, E+, e- o e+, el número se muestra en formato científico y se inserta E o e entre el número y su exponente. El número de marcadores de posición de dígitos determina el número de dígitos en el exponente. Use E- o e- para colocar un signo menos junto a los exponentes negativos. Use E + o e + para colocar un signo menos junto a los exponentes negativos y un signo más junto a los exponentes positivos. |
| - + $ ( ) | Muestra estos caracteres literales. Cualquier otro carácter Unicode (°, €, μ, ², etc.) puede incluirse escribiendo o pegandolo entre comillas dobles (por ejemplo 0.0" °C"). Utilice una barra diagonal inversa solo para escapar el siguiente carácter si de otra manera se interpretaría (no introduce caracteres hexadecimales ni secuencias de escape \u). |
| ( \ ) | Muestra el siguiente carácter en la cadena de formato. Para mostrar un carácter con un significado especial como carácter literal, escríbalo precedido por una barra diagonal inversa (\). La barra diagonal inversa no se muestra. Utilizar una barra diagonal inversa es equivalente a delimitar el siguiente carácter con comillas dobles. Para mostrar una barra diagonal inversa, utilice dos barras diagonales inversas (\\). Los caracteres de formato de fecha y hora (a, c, d, h, m, n, p, q, s, t, w, / y :) no se pueden mostrar como caracteres literales, los caracteres de formato numérico (#, 0, %, E, e, coma y punto) y los caracteres de formato de cadena (@, &, <, >, !). |
| ("ABC") | Muestra la cadena entre comillas dobles (" "). |
Consideraciones y limitaciones
- No se puede establecer una cadena de formato personalizada para los campos de tipo cadena o booleano.
Contenido relacionado
Para más información, vea: