Fabric is Generally Available. Browse Fabric Presentations. Work towards your Fabric certification with the Cloud Skills Challenge.
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:
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:
¿De qué manera podría forzar que en un gráfico de líneas los años faltantes aparezcan con valor 0?
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.
Tabla 2.
Table 2 = GENERATESERIES(MIN('Table 1'[Year]),MAX('Table 1'[Year]),1)
Measure = SUM('Table 1'[Value])
resultado.
Measure 2 = CALCULATE([Measure],'Table 1'[Year]=SELECTEDVALUE('Table 2'[Year]))+0
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:
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.
Check out the November 2023 Power BI update to learn about new features.
Read the latest Fabric Community announcements, including updates on Power BI, Synapse, Data Factory and Data Activator.