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

Grow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.

Reply
Syndicate_Admin
Administrator
Administrator

[AYUDA] El gráfico circular por categoría distintiva no funciona

Hola a todos,

Permítanme comenzar con una tabla de ejemplo:

Número de trabajoHoraCategoría
1500,25Con el tiempo
3000,065Con el tiempo
5000,3Con el tiempo
5801Con el tiempo
1501Con el tiempo
3000,25Con el tiempo
9120,1Con el tiempo
3000Sin tiempo

Como se puede ver en la columna JobNumber tengo algunos valores repetidos, actualmente me interesa mantener la tabla de esta manera pero quiero hacer un gráfico circular que muestre el número de JobNumbers sin repetirse, si se repiten se debe sumar el tiempo para definir la categoría (mayor que 0 con tiempo y menor o igual a 0 sin tiempo).

He probado DISTINCTCOUNT para la columna JobNumber para los valores del gráfico circular y la columna Category para las categorías, pero no funciona, la suma de las dos categorías termina siendo mayor de lo que debería.

También intenté crear una tabla idéntica solo con esos valores, pero como tengo filtros basados en otra columna de esa misma tabla en el mismo panel, estos dejan de funcionar cuando cambio la fuente de datos a la nueva tabla para el gráfico circular.

Cualquier ayuda será bienvenida, muchas gracias de antemano.

10 REPLIES 10
Syndicate_Admin
Administrator
Administrator

Hola @v-huijiey-msft

Una vez más, ¡muchas gracias! Con esa función para la columna calculada, el gráfico circular funcionó perfectamente, reflejando los datos reales. 😘

Syndicate_Admin
Administrator
Administrator

Hola @GJE ,

No se puede clasificar por una base repetidamente y por otra base sin repetición. Solo se puede clasificar por una base al mismo tiempo.

Cree una medida:

Num = DISTINCTCOUNT('Table'[JobNumber])

Esto se clasifica según la categoría:

vhuijieymsft_0-1714980900188.png

Esto se clasifica según el tiempo:

vhuijieymsft_1-1714980900189.png

Esto se clasifica según JobNumber:

vhuijieymsft_2-1714980910675.png

PBIX está conectado.

Si tiene más preguntas, no dude en ponerse en contacto conmigo.

Saludos
Yang
Equipo de apoyo a la comunidad

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

Hola @v-huijiey-msft ,

¡Gracias por tu respuesta!

Inicialmente esto es lo que busco, pero lo que no entiendo es por qué si agregas una tarjeta a la que agregas la métrica, el resultado es 5 en lugar de 6. ¿No debería obtener el mismo valor? Básicamente este es mi problema, pero con una tabla mucho más grande donde la diferencia se ve así:

GJE_0-1714982715982.png

¿Será que no estoy entendiendo cómo funciona DISTINCTCOUNT y el resultado es correcto?

Saludos.-

Hola @GJE ,

¿Por qué el resultado de la carta debe ser 6?

Como se muestra en los datos de muestra, hay 5 datos "150 500 300 580 912". Arrastre Num al objeto visual de la tarjeta y el resultado será 5.

Si desea obtener más información sobre DISTINCTCOUNT, consulte:

Función DISTINCTCOUNT (DAX) - DAX | Microsoft Learn


Si tiene más preguntas, no dude en ponerse en contacto conmigo.

vhuijieymsft_0-1714985556670.png

Saludos
Yang
Equipo de apoyo a la comunidad

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

Hola @v-huijiey-msft

bien, ahora lo entiendo.

Una última pregunta: ¿podría hacer que el gráfico circular sea un recuento distinto pero generar la categoría dinámicamente en función de la suma de tiempo? Es decir, si tengo 3 filas de JobNumber 300, sumo sus tiempos y los clasifíquelos en función de ese resultado.

Muchas gracias de nuevo.

Hola @GJE ,

¿Así?

vhuijieymsft_0-1714989762501.png

¿Intentar colocar los campos así?

vhuijieymsft_1-1714989820441.png

vhuijieymsft_2-1714989832759.png

Si tiene más preguntas, no dude en ponerse en contacto conmigo.

Saludos
Yang
Equipo de apoyo a la comunidad

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

Hola @v-huijiey-msft

Para este caso en particular, el resultado solo debe ser "Con tiempo", ya que la suma de Tiempo para el JobNumber 300 diferente es mayor que 0.

GJE_0-1714990613861.png

Por ejemplo, si tuviéramos varios registros del mismo número de trabajo y todos con tiempo 0, la suma sería 0 y por lo tanto se mostraría bajo la categoría "Sin tiempo".

Espero haber aportado un poco más de claridad a mi problema.

Hola @GJE ,

Modifique la sintaxis de la medida de la siguiente manera:

Num = IF(MAX('Table'[Time]) <> 0, DISTINCTCOUNT('Table'[JobNumber]),0)

El efecto de página es el siguiente:

vhuijieymsft_0-1715043517444.png

Si tiene más preguntas, no dude en ponerse en contacto conmigo.

Saludos
Yang
Equipo de apoyo a la comunidad

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

Hola @v-huijiey-msft

¡Gracias de nuevo!

Me pasa lo siguiente y pido disculpas por no mencionarlo antes, la columna Categoría es una columna condicional cuya función es la siguiente:

TimeCategory = IF(DETAILOTS[TotalTheoreticalTimeHours] > 0, "Con tiempos teóricos", "Sin tiempos teóricos")

Al aplicar el cambio que ha mencionado, los datos del gráfico circular no se ajustan completamente. ¿Se debe a esta columna condicional?

Saludos.-

Hola @GJE ,

Estos son los datos de origen modificados:

Número de trabajo

TotalTheoreticalTimeHours

150

25

300

65

500

3

580

1

150

1

300

25

912

1

300

0

De acuerdo con la clasificación temporal de cada número de trabajo, si la suma del tiempo de un mismo número de trabajo es >0, es con tiempos teóricos, de lo contrario es sin tiempos teóricos.

Cree una columna calculada:

TimeCategory =
VAR_IF =
     SUMX (
         FILTER (
             ALL ( 'DETAILOTS' ),
             'DETAILOTS'[JobNumber] = EARLIER ( 'DETAILOTS'[JobNumber] )
         ),
         [TotalTheoreticalTimeHours]
     )
RETURN
     IF ( _IF >= 0, "With theoretical times", "Without theoretical times" )

Cree una medida para contar:

Num = DISTINCTCOUNT('DETAILOTS'[JobNumber])

El efecto de la página del gráfico circular es el siguiente:

vhuijieymsft_0-1715240466911.png

Se adjunta el archivo PBIX.

Si tiene más preguntas, no dude en ponerse en contacto conmigo.

Saludos
Yang
Equipo de apoyo a la comunidad

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

Helpful resources

Announcements
Europe Fabric Conference

Europe’s largest Microsoft Fabric Community Conference

Join the community in Stockholm for expert Microsoft Fabric learning including a very exciting keynote from Arun Ulag, Corporate Vice President, Azure Data.

RTI Forums Carousel3

New forum boards available in Real-Time Intelligence.

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

MayPowerBICarousel1

Power BI Monthly Update - May 2024

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

Top Solution Authors