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
Caz_16
Helper II
Helper II

LA función RELACIONADA no funciona sin cambios en mis datos

Tengo un informe que tiene una larga declaración IF que se supone que busca un número de fondo de una de las dos tablas de reemplazo en función de si no están en blanco. Si ambos están en blanco, simplemente extrae el número de fondo original que se encuentra en la columna Nombre del proyecto. Puede ver la función a continuación:

FUND DE CARGA : IF(NOT(ISBLANK('TIME'[Time Override])), 'TIME'[Time Override],
IF(NOT(ISBLANK(RELATED(TASKS[Activity Override]))), RELATED(TASKS[Activity Override]),RELATED(PROJECTS[Project Name])))
- Esta es una fórmula de columna
- Se coloca en la tabla TIME de mi modelo.
- El error es el siguiente "La columna 'PROJECTS[Nombre del proyecto]' no existe o no tiene una relación con ninguna tabla disponible en el contexto actual."
- Una última cosa a tener en cuenta es que a si sustituyo el RELATED(PROJECTS[Project Name]) por el texto "False", me da este error en su lugar "La columna 'TASKS[ACTIVITY OVERRIDE]' no existe o no tiene una relación con ninguna tabla disponible en el contexto actual."
Esta es una función común utilizada en mi organización y está trabajando en todos los demás informes de nuestro sistema (también como un col. y también en la tabla TIME). También estaba trabajando en mi informe anteriormente, pero ha roto sin ningún cambio en el informe por mí. Puede echar un vistazo a mi modelo de datos a continuación para ver las relaciones en la tabla. Como pueden ver, todas las relaciones deben estar ahí.
Rels1.PNGtable1.PNGtable2.PNG
Por favor, ayúdenme a este es un gran problema y rompe todo mi informe.
Gracias
3 REPLIES 3
amitchandak
Super User
Super User

@Caz_16 , Relacionado puede ayudar a sólo un nivel. medios de proyecto a tarea y tarea a tiempo.

La solución alternativa es que obtenga el nombre del proyecto en una tarea mediante related y de ahí a la tarea.

O use un var en la fórmula para obtener el nombre del proyecto para la tarea y, a continuación, use la tarea para volver a Tiempo.

@amitchandak @Greg_Deckler

Esto es lo que intenté:

En primer lugar, traté de hacer la dirección de la relación Ambos, no resolvió el problema, mismo error.

LOOKUPVALUE y TREATAS no son funciones disponibles para ser utilizadas en ese contexto en una instrucción IF, por lo que no funcionaron.

Intenté agregar la columna Nombre del proyecto a la tabla TASKS con lo siguiente:
Nueva columna : "Nombre del proyecto" - RELACIONADO (PROYECTOS[Nombre del proyecto], esto no funcionó, produjo el mismo error.

La columna 'PROJECTS[Project Name]' no existe o no tiene una relación con ninguna tabla disponible en el contexto actual.

Eso hace que esto sea un poco más interesante. Abrí MS Visual Studio Code y veriqué que mi base de datos no había cambiado. Hay datos en la tabla PROJECTS y la nomenclatura de nomenclatura coincide. Así que no hay cambios en el backend.

Luego eliminé la tabla PROJECTS para empezar desde cero. Llegué a un punto en el que estaba intentando agregar en una tabla resume resumen que usa el número de fondo de proyectos (que es una columna calculada en la tabla de proyectos) como una clave principal para la tabla de resumen. Debe ser una relación de 1-Muchos. Sin embargo, al volver a agregar la tabla, PBI no me permitía convertirla en una relación de 1-muchos y produjo el siguiente error.

Capture.PNG

Fórmula para la tabla de resumen:

Project Summary Table = SUMMARIZE(
    PROJECTS,
    
    'PROJECTS'[PROJECT FUND NUMBER],
        "Reporting Category",
        IF([Higher than 400k]=TRUE(),
        "SPONSORED",
        LOOKUPVALUE('TYPE LOOKUP'[Reporting Categories],
            'TYPE LOOKUP'[Fund #],
            PROJECTS[PROJECT FUND NUMBER],
            "UNCATEGORIZED"
            )
        ),
    "Sum of Duration",
    CALCULATE(SUM('TIME'[Duration]))
)

Pensamientos sobre lo que habría hecho que esto se rompiera y creara una dependencia circular?

Gracias.

Greg_Deckler
Super User
Super User

@Caz_16 En primer lugar, movería la instrucción IF anidada a una instrucción SWITCH(TRUE()...). En segundo lugar, el problema son las direcciones de su relación. El tiempo de tareas y las tareas para proyectar las relaciones deben ser ambos. De lo contrario, tendrá que utilizar algo como LOOKUPVALUE o tal vez TREATAS, pero yo recomendaría lo de la relación.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.