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

Level up your Power BI skills this month - build one visual each week and tell better stories with data! Get started

Reply
Syndicate_Admin
Administrator
Administrator

Ayuda con DAX - Dependencia circular

Hola, ¿alguien puede ayudarme a arreglar (romper) la dependencia circular?

Utilicé la fórmula DAX para calcular la cuota de mercado de un cliente basándome en:

Cuota de mercado CL8 = ClienteModeloCompartir[Construcción total de modelos Cust] / ClienteModeloCompartir[Construcción Total Cust]
La respuesta es 7%
Ahora estoy intentando usar ese MS para calcular el volumen mensual del cliente:
Construcción mensual de modelos Cust = SI(ClienteModeloCompartir[Categoría de camión]="CL8",ClienteModeloCompartir[Crece un poco] * ClienteModeloCompartir[Cuota de mercado])
!! Se detectó una dependencia circular: CustomerModelShare[Cust Monthly Model Build], CustomerModelShare[Market Share], CustomerModelShare[Total Cust Model Build], CustomerModelShare[Total Cust Mthly Build], CustomerModelShare[Cust Monthly Model Build].
La respuesta debería ser:
Ene = 600
Feb = 587
Mar = 614
Abr = 641
Etc.....
Agradezco cualquier ayuda.
7 REPLIES 7
Syndicate_Admin
Administrator
Administrator

Obtienes la dependencia circular porque mezclas columnas calculadas que dependen de otras columnas calculadas que (directa o indirectamente) dependen de la primera.

La cuota de mercado y la "construcción mensual de modelos" son agregaciones y normalmente deberían ser medidas de todos modos.

Market Share =
DIVIDE( [Total Cust Model Build], [Total Cust Build] )

Total Cust Model Build =
SUM ( CustomerModelShare[Total Cust Model Build] ) 

Total Cust Build =
SUM ( CustomerModelShare[Total Cust Build] )

Cust Monthly Model Build :=
IF(
    SELECTEDVALUE(CustomerModelShare[Truck Category]) = "CL8",
    [Cust Mthly Build] * [Market Share],
    BLANK()
)

Cust Mthly Build =
SUM ( CustomerModelShare[Cust Mthly Build] )

Syndicate_Admin
Administrator
Administrator

Básicamente, lo que está ocurriendo aquí:

"Para calcular A necesito B, pero para calcular B necesito A."

Eso crea un bucle — y DAX no permite bucles en columnas calculadas.

Solución propuesta:

DIVIDE(

Market Share :=

DIVIDE(

SUM(CustomerModelShare[Total Cust Model Build]),

SUM(CustomerModelShare[Total Cust Build])

)







Cust Monthly Model Build :=

IF(

SELECTEDVALUE(CustomerModelShare[Truck Category]) = "CL8",

SUM(CustomerModelShare[Cust Mthly Build]) * [Market Share]

)

Ahora bien, existen:

  • No hay columna que haga referencia a otra columna
  • No hay dependencia fila por fila
  • Sin lógica circular

Creaste un bucle en las columnas almacenadas.
Mueve la lógica a las medidas y deja que Power BI la calcule dinámicamente.

Si esto ayuda, Marcar como Kudos | Marcar como solución| Ayuda a los demás

Syndicate_Admin
Administrator
Administrator

Hola @yaya1974 , ¿puedes confirmar si se usan columnas calculadas en el DAX? A, B, C, D y E son columnas nativas o columnas calculadas


Cuota de mercado CL8 = ClienteModeloCompartir[Construcción total de modelos Cust] / ClienteModeloCompartir[Construcción Total Cust]

ClienteModeloCompartir[Construcción total de modelos Cust] --> A

ClienteModeloCompartir[Construcción Total de Población] --> B

Construcción mensual de modelos Cust = SI(ClienteModeloCompartir[Categoría de camión]="CL8",ClienteModeloCompartir[Crece un poco] * ClienteModeloCompartir[Cuota de mercado])
ClienteModeloCompartir[Categoría de camión] --> C
ClienteModeloCompartir[Cust Montaje Mixto] --> D
ClienteModeloShare[ShareMarket] --> E

También mencionaste: "Ahora estoy intentando usar ese MS para calcular el volumen mensual del cliente:"

¿si la Cuota de ClienteModelo[Cuota de Mercado] y la Cuota de Mercado CL8 son la misma columna?

Gracias
Syndicate_Admin
Administrator
Administrator

¿Podrías mostrarnos cómo está construido tu modelo? ¿Cómo están relacionadas las tablas entre sí?

Tengo el total anual de todos los clientes: 265.000. Tengo el nivel alto de MS para cada cliente, 41,5%

Tengo el volumen total de clientes del año en todos los productos, 109.975.

Tengo el MS de los productos, ahora quiero usar el MS del producto para calcular el volumen de producto mensual

Perdona si no tiene mucho sentido.

Gracias,

Además, no tengo medidas, todos mis datos son columnas calculadas. Intenté usar VAR con el mismo resultado, intenté crear una nueva tabla solo con el MS, mismo resultado. Entiendo que necesitas Volumen para calcular MS, pero también necesitas MS para intentar calcular Volumen si no tienes, pero sí lo necesitas.

Los datos están todos en una sola tabla.

Helpful resources

Announcements
April Power BI Update Carousel

Power BI Monthly Update - April 2026

Check out the April 2026 Power BI update to learn about new features.

Fabric SQL PBI Data Days

Data Days 2026 coming soon!

Sign up to receive a private message when registration opens and key events begin.

New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.