Forum Discussion
Ayuda de dependencia circular
- 4 years ago
Se referían el uno al otro. Eso es lo que hace CALCULATE() en una columna calculada. Crea un filtro oculto para cada columna de la tabla. Así que cuando haces el primero, funciona. Pero cuando haces el segundo, crea un filtro para el primero, pero ahora el primero crea un filtro para el segundo.
Pero no necesitas CALCULAR aquí. Aquí están ambas fórmulas de columna, una Calc Min y la otra Calc Max.Calc Min = VAR varCurrentDiff = Data[Capacity v Usage Difference] VAR varMin = MIN(Data[Capacity v Usage Difference]) VAR Result = IF( varCurrentDiff = varMin, 1, 0 ) RETURN Result Calc Max = VAR varCurrentDiff = Data[Capacity v Usage Difference] VAR varMax = MAX(Data[Capacity v Usage Difference]) VAR Result = IF( varCurrentDiff = varMax, 1, 0 ) RETURN ResultPuede ver que mis Calc Min / Max son los mismos que el resultado deseado.
Está manipulando el contexto de filtro que CALCULATE aplica con ALLEXCEPT, por lo que le dijo que eliminara los filtros de todo excepto la columna de diferencia. Por lo tanto, CALCULATE no crea un filtro para cada columna y, a continuación, no crea la referencia circular.
Pero como puedes ver en mi fórmula, no necesitas calcular en absoluto. Cree una nueva columna y simplemente ponga =MAX('Tabla de diferencias'[Capacidad v Diferencia de uso]) en ella y pulsa ok. Será el mismo valor en cada fila, cualquiera que sea el valor MAX para la columna 'Tabla de diferencias'[Capacidad v Diferencia de uso]. Put SUM('Tabla de diferencias'[Capacidad v Diferencia de uso]). Mismo.
Ahora ponga CALCULATE(SUM('Tabla de diferencias'[Capacidad v Diferencia de uso])
Ahora cada fila será única, y el mismo valor que si acabas de poner ='Tabla de diferencias'[Capacidad v Diferencia de uso] (a menos que cualquiera de las filas sea 100% idéntica)
Estudie sobre la transición del contexto para comprender realmente cómo funciona esto. Los capítulos 4 y 5 de la Guía Definitiva de DAX realmente ayudarán aquí. He leído esos dos capítulos docenas de veces. Tanta profundidad allí.
gracias por la información añadida. el uso calculado fue impulsado desde otra publicación que hice hace un tiempo, es bueno saber que hay alternativas y tengo algo en lo que trabajar
gracias