Forum Discussion
Error de formato condicional
- 6 years ago
Esto no es un error, así es como funciona Power BI. Esto es lo que está sucediendo:
- El campo de margen, por ejemplo, no tiene datos. Así que le dices que muestre elementos sin datos. Esta es una de las razones por las que no uso campos para valores en objetos visuales. Utilice siempre medidas explicat. SUM(Table[Margins]) por ejemplo. Todavía devuelve espacios en blanco. Voy a llegar a eso.
- El formato condicional no es dar formato al campo de estado actual en función del campo de color. Se le está da formato en función del valor FIRST() del campo de color. Pero no tiene datos, por lo que incluso si muestra los elementos sin datos, la medida que Power BI usa en segundo plano no devuelve ningún registro, por lo que no se devuelve FIRST(colorfield).
- La solución es utilizar una medida explícita como la siguiente:
New Margin = COALESCE( SUM('Table'[Margin]), 0)Por lo tanto, si no hay margen, devuelve cero. A continuación, se obtiene esta tabla:
Si no desea ceros en la tabla, debe usar el formato personalizado para que las medidas devuelvan un espacio visual en blanco. Utilice este formato:
#,##0;-#,##0;Está en la vista del modelo:
A continuación, se obtiene esta tabla:
Estos son los datos que usé, como ejemplo (una vez cargados en Power BI, las celdas vacías deben leer "null")
| Deuda (Mio. | Margen de capital incluido | Irr | Margen | ProjectCode | Producción | Ingresos 12m | Estado actual | D_CurrentStatusLightsColor |
| 22584 | 25840 | 0.1024 | 5300 | Proj1 | 10 | 474 | Problemas | #ED7D31 |
| 115.93 | 181 | 0.0551 | 2000 | Proj10 | 60 | 17505 | Continua | #70AD47 |
| 75501 | 75501 | 0.1069 | 1000 | Proj11 | 31 | 14334 | Problemas | #ED7D31 |
| Proj12 | Continua | #70AD47 | ||||||
| 13000 | 5735 | 0.0753 | Proj13 | 2 | 122 | Continua | #70AD47 | |
| Proj2 | Crítico | #FF0047 | ||||||
| Proj3 | Crítico | #FF0047 | ||||||
| Proj4 | Crítico | #FF0047 | ||||||
| 52716 | 279 | 0.04 | 33640 | Proj5 | 3 | 801 | Continua | #70AD47 |
| Proj6 | Problemas | #ED7D31 | ||||||
| 1494 | 6976 | 0.0758 | 830139 | Proj7 | 26 | 177 | Continua | #70AD47 |
| 3050000 | 1459500 | 0.0303 | Proj8 | 7 | 346097 | Continua | #70AD47 | |
| Proj9 | Continua | #70AD47 |
Cuando hago una tabla con todos estos valores y dote condicionalmente el estado actual por D_CurrentStatusLightsColor , algunos valores no se muestran:
Al hacer clic en "Mostrar elementos sin datos", puedo hacer que estos sean visibles, pero el formato no funciona en estos:
¿Alguna idea?
Esto no es un error, así es como funciona Power BI. Esto es lo que está sucediendo:
- El campo de margen, por ejemplo, no tiene datos. Así que le dices que muestre elementos sin datos. Esta es una de las razones por las que no uso campos para valores en objetos visuales. Utilice siempre medidas explicat. SUM(Table[Margins]) por ejemplo. Todavía devuelve espacios en blanco. Voy a llegar a eso.
- El formato condicional no es dar formato al campo de estado actual en función del campo de color. Se le está da formato en función del valor FIRST() del campo de color. Pero no tiene datos, por lo que incluso si muestra los elementos sin datos, la medida que Power BI usa en segundo plano no devuelve ningún registro, por lo que no se devuelve FIRST(colorfield).
- La solución es utilizar una medida explícita como la siguiente:
New Margin = COALESCE( SUM('Table'[Margin]), 0)
Por lo tanto, si no hay margen, devuelve cero. A continuación, se obtiene esta tabla:
Si no desea ceros en la tabla, debe usar el formato personalizado para que las medidas devuelvan un espacio visual en blanco. Utilice este formato:
#,##0;-#,##0;
Está en la vista del modelo:
A continuación, se obtiene esta tabla:
- Syndicate_Admin5 years ago
Administrator
¡usted es increíble! ¡Gracias!