March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Necesito encontrar a todas las personas que tienen un cierto valor en otra tabla, pero no en otro valor.
Por ejemplo, una persona que tiene una licencia válida y también una cancelación de esa licencia y se almacenan en una tabla de acciones de licencia.
Intenté crear estas dos columnas calculadas:
Recall =
VAR _SEL = SELECTCOLUMNS ( RELATEDTABLE('LicenseStatus'), "ID", [Status] )
RETURN
IF ( "RECALL" IN _SEL, "YES", "NO" )
License =
VAR _SEL = SELECTCOLUMNS ( RELATEDTABLE('LicenseStatus'), "ID", [Status] )
RETURN
IF ( "LICENSE" IN _SEL, "YES", "NO" )
Para poder hacer esta pregunta:
HaveCancelledLicense =
IF ( License = "YES" and Cancelled = "YES", "YES", "NO" )
pero obtengo "Error de dependencia circular" cuando creo la segunda columna calculada. ¿Por qué? ¿No se referencian entre sí?
Creé un archivo de muestra para mostrar el problema:
https://1drv.ms/u/c/9f00986c82fa1657/ES1QHM3WKKFMuq8kc5DWiwUB4BOZIRGqEfLSWLAOfobaBA?e=psTQYg
Las Columnas Calcluidas: "Emitido" y "Cancelado" están comentadas ya que crean una Referencia Circular si no están comentadas. ¿Por qué no se me permite tener más de una columna de cálculo con RELATEDTABLE en la misma tabla?
(Sí, sé que esta no es la solución óptima, pero así es como se ve la base de datos de origen y soy consciente de que hay otras (mejores) formas de resolver esto, pero quiero saber por qué esta solución no funciona 🙂 )
Hola @hebe ,
Puede probar el siguiente DAX para agregar columnas calculadas.
Issued =
VAR _SEL= CALCULATE (
COUNTROWS ( 'Status' ),
ALLEXCEPT(Person,Person[Id]),
'Status'[Status] = "Issued"
)
RETURN IF ( _SEL > 0, "Yes", "No" )
Cancelled =
VAR _SEL= CALCULATE (
COUNTROWS ( 'Status' ),
ALLEXCEPT(Person,Person[Id]),
'Status'[Status] = "Cancelled"
)
RETURN IF ( _SEL > 0, "Yes", "No" )
Consulte el pbix adjunto como referencia.
Saludos
Dengliang Li
Si esta publicación ayuda, considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
Gracias por su respuesta uzuntasgokberk. No creo que la respuesta en el post al que te refieres sea relevante en este caso. Tienen dos medidas que obviamente dependen del resultado de la otra y, por lo tanto, crean una dependencia circular. En mi caso, no hay dependencia entre las columnas calculadas, por lo que no entiendo por qué recibo el mensaje de error de referencia circular.
Todo esto es DAX. Cometí un error cuando escribí el código para "HaveCancelledLicense", por lo que tiene razón en que debería ser "&&" y no "y".
El problema parece ser que uso "RELATEDTABLE" en la misma tabla en dos columnas calculadas separadas. No entiendo por qué eso no estaría permitido. (Si ese es el problema). Son dos columnas completamente separadas y no veo por qué se afectarían mutuamente, pero cada una de ellas funciona por sí misma, pero no juntas.
Hola @hebe,
El problema del error de dependencia circular se compartió antes en la comunidad. Puede agregar una columna en PowerQuery.
https://community.fabric.microsoft.com/t5/Desktop/Circular-dependency/m-p/2978637#M1017963
Saludos
Gokberk Uzuntas
LinkedIn: https://www.linkedin.com/in/g%C3%B6kberk-uzunta%C5%9F-b43906198/
Medio: https://medium.com/@uzuntasgokberk
Si esta publicación ayuda, considere Acéptalo como solución y felicitaciones para ayudar a los otros miembros a encontrarlo más rápidamente.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.