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

Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.

Reply
Syndicate_Admin
Administrator
Administrator

¿Cómo corregir la dependencia circular en dos columnas calculadas usando la instrucción switch?

¡Hola a todos!

En primer lugar, ¡gracias a todos los que ayudan!

Así que tengo esta mesa de oficina:

OficinaNivel
AÉlite
BMedio
CMedio
DBajo

Ahora quería obtener números de demanda y oferta para estas oficinas que provienen de las tablas de demanda y oferta de mi modelo respectivamente (su contenido probablemente no sea necesario para mi problema).


Como quiero que los números de demanda y oferta se calculen de manera diferente para cada nivel, creé 1 medida de demanda y 1 medida de oferta para cada uno de los niveles de oficina (por lo tanto, en total 6 medidas: 3 medidas de demanda y 3 medidas de oferta).

Para aplicar las medidas de demanda a cada oficina dependiendo de su nivel, creé una columna calculada llamada demanda con la siguiente fórmula:

DemandColumn = Switch('Office'[Tier], "Elite", EliteDemandMeasure, "Mid", MidDemandMeasure,"Low",LowDemandMeasure)

La tabla resultante tiene el siguiente aspecto:

OficinaNivelDemandColumn
AÉlite200
BMedio150
CMedio150
DBajo100

AHORA, cuando intenté crear una columna calculada para el suministro llamada SupplyColumn con la siguiente fórmula:

SupplyColumn = Switch('Office'[Tier], "Elite", EliteSupplyMeasure, "Mid", MidSupplyMeasure,"Low",LowSupplyMeasure)

Esto me dio un error diciendo que hay dependencia circular entre mis dos nuevas columnas calculadas Demandcolumn y SupplyColumn. ¿Hay alguna forma de arreglar esto?

Mi objetivo principal es tener dos imágenes de tarjetas; Uno para Demanda y otro para Oferta que tendrían las dos columnas calculadas aplicadas a ellos respectivamente. Cuando una persona hace una selección en una segmentación de datos 'Office' que he creado (que tendrá la primera columna de mi tabla de oficina), los elementos visuales de la tarjeta de oferta y demanda usarían mis dos columnas calculadas para recuperar el valor. Si alguien tiene una mejor manera de hacer esto, por favor hágamelo saber!

Gracias

Realización

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

@vedantsri,

La razón por la que ve un error de dependencia circular es que las columnas calculadas DemandColumn y SupplyColumn hacen referencia entre sí. Para resolver este problema, puede crear dos medidas independientes para la demanda y la oferta en lugar de columnas calculadas.

Así es como puedes hacerlo:

  1. Cree las siguientes medidas:

    EliteDemand = CALCULATE(SUM('DemandTable'[Value]), 'Office'[Tier] = "Elite")

    MidDemand = CALCULATE(SUM('DemandTable'[Value]), 'Office'[Tier] = "Mid")


    LowDemand = CALCULATE(SUM('DemandTable'[Value]), 'Office'[Tier] = "Low")


    EliteSupply = CALCULATE(SUM('SupplyTable'[Value]), 'Office'[Tier] = "Elite")


    MidSupply = CALCULATE(SUM('SupplyTable'[Value]), 'Office'[Tier] = "Mid")


    LowSupply = CALCULATE(SUM('SupplyTable'[Value]), 'Office'[Tier] = "Low")

  2. Cree dos nuevas medidas para los objetos visuales de la tarjeta de oferta y demanda mediante las fórmulas siguientes:


    DemandColumn = SWITCH(SELECTEDVALUE('Office'[Tier]), "Elite", [EliteDemand], "Mid", [MidDemand], "Low", [LowDemand])

    SupplyColumn = SWITCH(SELECTEDVALUE('Office'[Tier]), "Elite", [EliteSupply], "Mid", [MidSupply], "Low", [LowSupply])

  3. Agregue la tabla 'Office' al informe y cree una segmentación de datos para la columna 'Office'. Esta segmentación de datos se utilizará para seleccionar una oficina y actualizar los elementos visuales de la tarjeta de oferta y demanda en consecuencia.

Con estas medidas y fórmulas, debería poder lograr su objetivo de tener dos elementos visuales de tarjeta, uno para Demanda y otro para Oferta, que muestren los valores basados en la oficina y el nivel seleccionados.

Saludos

Isaac Chavarría

Si este post Ayuda, entonces por favor considere Aceptando como la solución y dar Kudos para ayudar a los otros miembros a encontrarlo más rápidamente

¡Muchas gracias! ¡Esto funcionó! Pero creo que esto solo funciona para una sola selección en la cortadora, ¿correcto? Si quisiera hacerlo para múltiples selecciones (donde se suman los resultados de cada oficina), ¿cómo lo haría?

Entonces, por ejemplo, si seleccionando solo la oficina A dio el resultado de la medida SupplyColumn como 2 y luego para otra oficina seleccionada B, da 4, por lo que la imagen de la tarjeta mostraría 4 + 2 por lo que 6.

¡Me alegra saber que mi solución funcionó!

Para lograr el resultado deseado de sumar los valores de varias selecciones en la segmentación de datos, puede modificar las fórmulas de las medidas DemandColumn y SupplyColumn de la siguiente manera:

DemandColumn = SUMX( VALUES('Office'[Office]), SWITCH('Office'[Tier], "Elite", [EliteDemand], "Mid", [MidDemand], "Low", [LowDemand] ) )

SupplyColumn = SUMX( VALUES('Office'[Office]), SWITCH('Office'[Tier], "Elite", [EliteSupply], "Mid", [MidSupply], "Low", [LowSupply] ) )

La diferencia clave es que en lugar de usar la función SELECTEDVALUE para obtener el valor seleccionado de la segmentación de datos, usamos la función VALUES para obtener una tabla de valores seleccionados. A continuación, utilizamos la función SUMX para iterar sobre esta tabla y sumar los resultados de la instrucción SWITCH para cada oficina seleccionada.

Con estas medidas modificadas, los objetos visuales de tarjeta DemandColumn y SupplyColumn ahora mostrarán los valores agregados para todas las oficinas seleccionadas.

Saludos

Si este post Ayuda, entonces por favor considere dar Elogios

¡Muchas gracias por responder!

Cuando probé esto, decía 'no se puede encontrar 'Office' [Tier]'. Cuando utilizo la función de valor seleccionado, la reconoce. ¿Cuál podría ser el problema?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

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

April Fabric Community Update

Fabric Community Update - April 2024

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