- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Las columnas calculadas no funcionan debido a la dependencia circular
Hola
Estoy haciendo dos columnas calculadas y estoy recibiendo un error de dependencia circular en una de ellas.
Lacolumna 'Capacidad Real' es básicamente una multiplicación de =
Y losmúltiploscolumm del ' Objetivo de Capacidad ' =
¿Cómo puedo hacer que funcione?
https://1drv.ms/u/s!ApgeWwGTKtFdh13Pj8JD18lE9HC8?e=3362I6
Saludos.
Solved! Go to Solution.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Esta expresión de columna evita el error, pero definitivamente lo aliento a que corrija su modelo. Modelo simple, dax simple.
Objetivo de capacidad =
DÓNDE bpmgoal =
CALCULAR (
[Objetivo de conversión de BPM],
ELIMINARFILTROS ( 'SKU por línea - Oficial'[Capacidad Real] )
)
DÓNDE mezclar =
CALCULAR (
[Mezcla por producto],
ELIMINARFILTROS ( 'SKU por línea - Oficial'[Capacidad Real] )
)
DÓNDE resultadoado =
SI (
'SKU por línea - Oficial'[Mes] = 1,
(
bpmgoal * mezclar
* RELACIONADO ( 'Horas por línea - Oficial'[Tiempo máximo disponible Enero (horas) [Días naturales - Días no laborables) * # de turnos máximos posibles * horas por **bleep**] )
* RELACIONADO ( 'Horas por línea - Oficial'[Total de horas con descuento (CIP y Cambios de moho) - Enero] )
) * 60,
SI (
'SKU por línea - Oficial'[Mes] = 2,
(
bpmgoal * mezclar
* RELACIONADO ( 'Horas por línea - Oficial'[Tiempo máximo disponible Febrero (horas) [Días naturales - Días no laborables) * # de turnos máximos posibles * horas por **bleep**] )
* RELACIONADO ( 'Horas por línea - Oficial'[Total de horas con descuento (CIP y Cambios de moho) - Febrero] )
) * 60,
0
)
)
DEVOLUCIÓN
resultado
Palmadita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Miré su archivo y comenté partes de su expresión para ver cuál está causando el error de dependencia. Tanto la parte de medidas como las partes de LOOKUPVALUE lo causan. Al observar sus columnas, tiene varias columnas pivotadas que tienen datos similares (por ejemplo, datos de enero y febrero). Realmente debería mejorar su modelo (unpivot y configurar relaciones 1: M con filtros de una sola dirección). Tener un modelo más simple conduce a un DAX más simple.
Palmadita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hay @mahoneypat
Correcto, tengo varias columnas pivotadas en la tabla 'Horas por línea'. De enero a diciembre. Lo sigo siendo así porque me permite mantener la columna 'Plant-Line-Package' con valores únicos y hacer el puente entre tablas.
Cambié mi relación de 1:M:
Intenté usar el cálculo debajo de la instrucción IF, pero aún muestra rojo:
¿Puedes asesorarte más?
¡Gracias!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hay @mahoneypat
¿Puede por favor aconsejarme más una vez que cambie a 1:M?
¿Cómo puedo hacer que este error de dependencia circular funcione?
Gracias.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Lo miré un poco más, pero este modelo necesita mucho trabajo. Podría evitar el error circ usando REMOVEFILTERS con las dos medidas, pero el LOOKUPVALUES en varias columnas calculadas también está causando un error circ. Debe mejorar su modelo y/o considerar el uso de RELATED para obtener un valor de la otra tabla en lugar de LOOKUPVALUE.
Palmadita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Esta expresión de columna evita el error, pero definitivamente lo aliento a que corrija su modelo. Modelo simple, dax simple.
Objetivo de capacidad =
DÓNDE bpmgoal =
CALCULAR (
[Objetivo de conversión de BPM],
ELIMINARFILTROS ( 'SKU por línea - Oficial'[Capacidad Real] )
)
DÓNDE mezclar =
CALCULAR (
[Mezcla por producto],
ELIMINARFILTROS ( 'SKU por línea - Oficial'[Capacidad Real] )
)
DÓNDE resultadoado =
SI (
'SKU por línea - Oficial'[Mes] = 1,
(
bpmgoal * mezclar
* RELACIONADO ( 'Horas por línea - Oficial'[Tiempo máximo disponible Enero (horas) [Días naturales - Días no laborables) * # de turnos máximos posibles * horas por **bleep**] )
* RELACIONADO ( 'Horas por línea - Oficial'[Total de horas con descuento (CIP y Cambios de moho) - Enero] )
) * 60,
SI (
'SKU por línea - Oficial'[Mes] = 2,
(
bpmgoal * mezclar
* RELACIONADO ( 'Horas por línea - Oficial'[Tiempo máximo disponible Febrero (horas) [Días naturales - Días no laborables) * # de turnos máximos posibles * horas por **bleep**] )
* RELACIONADO ( 'Horas por línea - Oficial'[Total de horas con descuento (CIP y Cambios de moho) - Febrero] )
) * 60,
0
)
)
DEVOLUCIÓN
resultado
Palmadita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
¡Impresionante @mahoneypat funcionó! !
Probé su consejo para hacer el modelo más simple. Así que no voté las columnas:
¿Una relación M:M causó que era la única forma de unir las tablas?
Y luego actualicé el código con filtro:
Capacity Real =
IF (
'SKU by line - Official'[Month] = 1,
(
[BPM Conversion Real] * [Mix by product]
*
FILTER(
'Hours by line - Official',
RELATED(
'Hours by line - Official'[Attribute]) = "Hours by line - Official'[Max available time January (hours) [Calendar days - Non working days) * # of max shifts possible * hours per **bleep**]"
)
*
FILTER(
'Hours by line - Official',
RELATED(
'Hours by line - Official'[Attribute]) = "Hours by line - Official'[Total hours to discount (CIP and Mold Changes) - January]"
)
) * 60,
IF (
'SKU by line - Official'[Month] = 2,
(
[BPM Conversion Real] * [Mix by product]
*
FILTER(
'Hours by line - Official',
RELATED(
'Hours by line - Official'[Attribute]) = "Hours by line - Official'[Max available time February (hours) [Calendar days - Non working days) * # of max shifts possible * hours per **bleep**]"
)
*
FILTER(
'Hours by line - Official',
RELATED(
'Hours by line - Official'[Attribute]) = "Hours by line - Official'[Total hours to discount (CIP and Mold Changes) - February]"
)
) * 60,
0
)
)
Recibí el siguiente error:
La columna 'Horas por línea - Oficial[Atributo]' no existe o no tiene relación con ninguna tabla disponible en el contexto actual.
En caso de que quieras echar un vistazo al pbix con las columnas no votadas.
¡Todavía resolviste mi problema original y realmente aprecio tu ayuda!
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Vea cómo eliminar filtros de sus columnas dependientes en este artículo / video.
Evitar errores de dependencia circular en DAX - SQLBI
Palmadita
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hay @mahoneypat
Por lo que he visto tengo que usar Calculate y AllExcept, tan pronto como use calculate mi columna va así:
No estoy seguro de qué debo excluir con todos los AllExcept.
La columna de capacidad se calcula con 2 medidas y 2 columnas de la otra tabla.
Gracias.
Helpful resources
Join us at the Microsoft Fabric Community Conference
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Power BI Monthly Update - January 2025
Check out the January 2025 Power BI update to learn about new features in Reporting, Modeling, and Data Connectivity.
Subject | Author | Posted | |
---|---|---|---|
04-23-2020 07:51 AM | |||
06-16-2023 03:39 AM | |||
04-25-2021 05:21 PM | |||
03-19-2024 02:43 PM | |||
10-05-2023 04:21 PM |