Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!
Hola a todos,
He visto muchos mensajes relacionados con este problema, pero no he sido capaz de encontrar una solución.
Tenemos una relación 1:* entre 2 tablas. La tabla en el lado de muchos de la relación, tableMANY, está utilizando la consulta directa y el otro, tableOne, está utilizando la importación. En la tabla en el lado de muchos de esta relación, estoy tratando de agregar una columna que usará la función RELATED() pero siga recibiendo el error "La columna no existe o no tiene una relación con ninguna tabla disponible en el contexto actual". Nuestra fórmula inicial es una gran cantidad de declaraciones IF anidadas, así que pensé que sería bueno ver si soy capaz de extraer sólo el campo, así que ahora mi fórmula está solo RELACIONADA(tableOne[campo de fecha]) pero todavía estoy recibiendo el mismo error.
He visto muchos mensajes sugiriendo usar la función RELATEDTABLE(), pero no creo que debamos usar eso para este caso, ya que estoy tratando de extraer los datos de un lado de la relación. Si intento ir por la ruta de acceso del uso de una función CALCULATED (por ejemplo: intentar filtrar y capturar el valor máximo), obtengo un error que dice "La función 'CALCULATE' no está permitida como parte de una columna calculada de expresiones DAX en modelos de DirectQuery".
¿Alguien tiene alguna idea sobre cómo resolver esto? ¿Hay algún problema con el uso de RELATED() con consultas directas + tablas de importación?
La función relacionada no funciona, aunque la relación se está haciendo entre las dos tablas.
Esa no es una observación muy útil.
Esto es lo que encontré que es mucho más útil:
Para ser honesto, NO me sorprende que esto sea una limitación en Power BI.
Piénsalo.
Es como si fueras a hornear un pastel y fueras a la tienda a buscar huevos, leche y harina. Podrías preguntarle al empleado de la tienda, "¿cuánto son tus huevos?" y te dirían porque los huevos están en la misma tienda.
Pero si preguntas, "¿Cuánto estoy los huevos en la tienda al otro lado de la calle?" El secretario no puede responder a esa pregunta.
El modo IMPORT son los datos EN LA MISMA TIENDA.
La consulta directa son los datos en la tienda en la calle.
Estoy teniendo el mismo problema. Es muy decepcionante que PBI no pueda manejar esta situación.
El error "La columna no existe o no tiene una relación con ninguna tabla disponible en el contexto actual" se produce debido a las limitaciones de DirectQuery. Actualmente, una columna calculada en una tabla de importación puede hacer referencia a otras tablas, pero una columna calculada en una tabla de DirectQuery solo puede hacer referencia a columnas de la misma tabla. Por lo tanto, cuando intenta crear una columna calculada en la tabla DirectQuery de varios lados, no se puede relacionar con las columnas de la tabla de un solo lado y verá el error.
Además, las columnas calculadas en una tabla DirectQuery se limitan a ser intra-fila, como en, solo pueden hacer referencia a valores de otras columnas de la misma tabla, sin el uso de ninguna función de agregado. Las funciones que no se admiten no se muestran en autocompletar al crear el DAX para una columna calculada y darían lugar a un error si se usa.
Referencia:
Si no está seguro de si Consulta directa frente a importación está causando un problema, intente cambiar ambas consultas a Importar y pruébela.
Básicamente, si está en el lado MANY de una relación de 1 a varios, debería ser capaz de crear una COLUMNA calculada con la función DAX RELATED() siempre que haya una línea de relación activa entre las dos tablas.
Hola Todd,
Muchas gracias por esta información. Aquí están los detalles de la relación:
Así que estoy tratando de crear la columna calculada en la tabla CVCS. Cuando sólo intento hacer una función simple RELATED() sin ningún IFs anidado, todavía obtengo un error:
No estoy muy seguro de adónde ir desde aquí. Según el diseñador original del informe, necesitamos usar DirectQuery ya que es un origen de datos de HANA para que no quieran importar los datos. Sin embargo, he estado pensando en tratar de importar los datos por mi cuenta para ver si eso soluciona el problema, pero será un cambio mayor.
Dado que Power BI es una herramienta en memoria, cuando cree una columna calculada como lo intenta (y parece que todo se hace correctamente aquí), Power BI revisará todos los registros de la tabla, resolverá esa función para obtener un valor y, a continuación, insertará esos datos resultantes en la memoria.
Pero dado que la tabla contra la que va es Consulta directa (¿es así, o es al revés?) es posible que NO pueda resolver la función.
Pruebe una prueba simple con ambas tablas, con datos limitados, haciendo Importar. A continuación, pruebe los mismos datos pero con Consulta directa. Los resultados de esas pruebas deberían decirte algo.