Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.

Reply
jblancope
New Member

Forzar la visualización de nulos en un gráfico de líneas

A partir de un modelo relacional de MySQL, he creado una tabla en Power Query mediante `Combinar consultas` que relaciona cada `nombre_subestilo` (parámetro de la tabla `subestilos` de MySQL) con el o los `ano` en que aparece (parámetro de la tabla `listas` de MySQL; la tabla `subestilos` se relaciona con la tabla `discos`, ésta con `canciones` y ésta finalmente con `listas`):

 

La tabla, que he llamado `combinada_subestilos_ano`, se ve tal que así:

 

nombre_subestilo ano
Acoustic Rock 2005
Alternative Rock 2005
Alt-Country 2009
Alternative Dance 2009
Alternative Rock 2009
...

 

Un subestilo puede aparecer varias veces un mismo año.

 

Posteriormente, mediante DAX, he calculado el número de apariciones de cada subestilo por año:

 

subestilos_agrupados_por_ano =
GROUPBY
(
combinada_subestilos_ano, //Tabla de partida (o expresión que devuelve una tabla)
combinada_subestilos_ano[nombre_subestilo], //Se agrupa por subestilo
combinada_subestilos_ano[ano], //Y por año
"apariciones", //Nombre de la columna resultante
COUNTX(CURRENTGROUP(), combinada_subestilos_ano[nombre_subestilo]) //Recuento: CURRENTGROUP() equivale a la tabla temporal que se está creando al agrupar; da igual usar [nombre_subestilo] o [ano] en la segunda posición
)

 

La tabla `subestilos_agrupados_por_ano` se ve tal que así:

 

nombre_subestilo ano apariciones
Acoustic Rock 1988 1
Acoustic Rock 1983 1
Alternative Dance 1983 1
Afrobeat 1980 1
Alternative Dance 1989 1
...

 

Bien, el problema es que al representar con un gráfico de líneas un subestilo cualquiera, Power BI hace una interpolación y obvia los años en que el valor debería ser 0; por ejemplo, para este caso en concreto, el subestilo no aparece ni en 1986 ni en 1987, pero Power BI los muestra como si el valor fuera 1:

 

wg4q4.png

 

He probado con la opción `Mostrar elementos sin datos`, tanto en `ano` como en `nombre_subestilo`, pero no funciona. La única opción es utilizar un gráfico de barras:

 

nebwL.png

 

¿De qué manera podría forzar que en un gráfico de líneas los años faltantes aparezcan con valor 0?

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

@Syndicate_Admin ,

Puede crear una tabla para el eje x y pasar los valores del eje x a la métrica original con la función SELECTEDVALUE().

Tabla 1.

vcgaomsft_0-1679899142970.png

Tabla 2.

Table 2 = GENERATESERIES(MIN('Table 1'[Year]),MAX('Table 1'[Year]),1)

vcgaomsft_1-1679899182573.png

Measure = SUM('Table 1'[Value])

vcgaomsft_2-1679899236076.png

resultado.

Measure 2 = CALCULATE([Measure],'Table 1'[Year]=SELECTEDVALUE('Table 2'[Year]))+0

vcgaomsft_3-1679899294997.png

Saludos
Gao

Equipo de apoyo a la comunidad

Si hay alguna publicación de ayuda, considere Aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente. Si no entiendo sus necesidades o todavía tiene problemas al respecto, no dude en hacérnoslo saber. ¡Muchas gracias!

Cómo obtener respuestas rápidas a sus preguntas -- Cómo proporcionar datos de ejemplo en el foro de Power BI

El problema es que mi tabla tiene una columna adicional con los subestilos; en realidad, todos los años están representados porque siempre hay varios subestilos para cada año. Lo que necesito es que aparezcan pares subestilo/año con valor 0 cuando ese subestilo no exista para ese año. Por ejemplo, para "Acoustic Rock", éstas son las equivalencias:

Captura.JPG

Para representarlo como yo quiero en un gráfico de líneas, necesitaría que para todos los restantes años entre 1960 y 2009, "apariciones" figurase con un 0.

Helpful resources

Announcements
RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

Ask questions in Eventhouse and KQL, Eventstream, and Reflex.

MayPowerBICarousel

Power BI Monthly Update - May 2024

Check out the May 2024 Power BI update to learn about new features.