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

Prepping for a Fabric certification exam? Join us for a live prep session with exam experts to learn how to pass the exam. Register now.

Reply
Syndicate_Admin
Administrator
Administrator

Porcentaje de gráfico circular dinámico

Hola a todos

He pasado 1 día golpeándome la cabeza con este problema al tratar de arreglar la codificación de Dax. Quiero crear un gráfico circular dinámico que cambie el segmento % en función de varios filtros seleccionados.

El escenario es complejo de la siguiente manera:

Tablas y columnas a utilizar:

  1. Tabla de hechos:

    • Nombre de la tabla: Fact_Astro_PU_ALL_ICB
    • Columna a dividir: Costo real por 1000 ASTRO PU
  2. Tabla "DatesCalendar":

    • Columnas:
      • Ejercicio (Filtro)
      • Trimestre financiero (Filtro)
  3. Tabla "Dim_Region":

    • Columnas:
      • RegShort (Filtro)
      • ICB (Detalles granulares de la subentidad de RegShort (cada región tiene una serie de subentidades de ICB vinculadas a ella)

Aquí mi medida de Dax

DynamicSegmentPercentage =
FUERON Costo total =
CALCULAR(
SUMA('Fact_Astro_PU_ALL_ICB'[Actual Coste por 1000 ASTRO PU]),
TODO('DIM_Region'[RegShort], 'DIM_Region'[ICB]),
'FechasCalendario'[Ejercicio] = SI(ISFILTERED('FechasCalendario'[Ejercicio]), SELECTEDVALUE('FechasCalendario'[Ejercicio]), 'FechasCalendario'[Ejercicio]),
'FechasCalendario'[Trimestre Financiero] = SI(ISFILTERED('FechasCalendario'[Trimestre Financiero]), SELECTEDVALUE('FechasCalendario'[Trimestre Financiero]), 'FechasCalendario'[Trimestre Financiero]),
'DIM_Region'[RegShort] = SI(ISFILTERED('DIM_Region'[RegShort]), SELECTEDVALUE('DIM_Region'[RegShort]), 'DIM_Region'[RegShort])
)

FUERON SelectedCost (Costo seleccionado) =
CALCULAR(
SUMA('Fact_Astro_PU_ALL_ICB'[Actual Coste por 1000 ASTRO PU]),
TODO('FechasCalendario'),
TODOSEXCEPTO('DIM_Region', 'DIM_Region'[RegShort]),
'FechasCalendario'[Ejercicio] = SI(ISFILTERED('FechasCalendario'[Ejercicio]), SELECTEDVALUE('FechasCalendario'[Ejercicio]), 'FechasCalendario'[Ejercicio]),
'FechasCalendario'[Trimestre Financiero] = SI(ISFILTERED('FechasCalendario'[Trimestre Financiero]), SELECTEDVALUE('FechasCalendario'[Trimestre Financiero]), 'FechasCalendario'[Trimestre Financiero]),
'DIM_Region'[RegShort] = SI(ISFILTERED('DIM_Region'[RegShort]), SELECTEDVALUE('DIM_Region'[RegShort]), 'DIM_Region'[RegShort]),
'DIM_Region'[ICB] = SI(ISFILTERED('DIM_Region'[ICB]), SELECTEDVALUE('DIM_Region'[ICB]), 'DIM_Region'[ICB])
)

DEVOLUCIÓN
DIVIDIR(SelectedCost (Costo seleccionado), Costo total
Problema, cuando filtro por año financiero o trimestre financiero y por región %segmento de gráfico circular no vuelve a coincidir con 1 o 100% y tiene % inexacto para la región seleccionada?
zohra69_0-1710664148368.png

y si profundizo en la región SW, el gráfico circular no segmenta por subentidades ICB y muestra un % inexacto

zohra69_1-1710664269724.png

Si alguien puede señalar mi error muy apreciado

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Hola @झोहरा69 ,

Como @lbendlin dijo, los gráficos circulares funcionan mejor cuando muestran un número limitado de categorías para comparar partes de un todo.
Pero puedes intentar modificar la expresión, algo así como

VAR TotalCost =
CALCULATE(
SUM('Fact_Astro_PU_ALL_ICB'[Actual Cost per 1000 ASTRO PU]),
ALLSELECTED('DatesCalendar'),
ALLSELECTED('DIM_Region')
)


La función ALLSELECTED quita los filtros contextuales de las columnas y filas de la consulta actual, a la vez que conserva cualquier otro filtro contextual o filtro explícito. Para obtener información detallada, consulte el documento: Función ALLSELECTED (DAX) - DAX | Microsoft Learn.

Si su período actual no se refiere a esto, por favor aclárelo en una respuesta de seguimiento.

Saludos

Clara Gong

Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Hola

Comparta una versión condensada del archivo solo con las tablas que sean necesarias. Muestre claramente el problema allí.

Syndicate_Admin
Administrator
Administrator

Gracias por su pronta respuesta. El gráfico circular representa el 100% de los datos como la información derivada de la misma tabla. La única diferencia es que mis fechas son de una tabla DatesCalendar diferente.

Syndicate_Admin
Administrator
Administrator

If someone can pinpoint my error 

Está utilizando un gráfico circular.

En la gran mayoría de los casos, un gráfico circular es el tipo visual incorrecto. Solo es aplicable si no se aplican filtros o si los datos de ese gráfico circular representan realmente el 100% del interesado.

Considere la posibilidad de probar otros tipos de gráficos.

Helpful resources

Announcements
May PBI 25 Carousel

Power BI Monthly Update - May 2025

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

May 2025 Monthly Update

Fabric Community Update - May 2025

Find out what's new and trending in the Fabric community.

Top Solution Authors
Top Kudoed Authors