Forum Discussion
Recibir un error al realizar una DirectQuery
Hola @EZimmet
El problema aquí es que Power BI no permite el uso de DECLARE, INSERT INTO o construcciones temporales de tipo tabla en el modo DirectQuery. Power BI espera que una sola consulta devuelva el conjunto de datos sin pasos ni variables intermedias.
A continuación, se muestra cómo puede ajustar la consulta SQL para que funcione en Power BI:
Solución:
Debe volver a escribir la consulta para evitar el uso de DECLARE e INSERT INTO. En su lugar, use una expresión de tabla común (CTE) o una subconsulta para lograr el mismo resultado.
Esta es una consulta reescrita mediante una CTE:
SQL
Copiar código
WITH SiteIDs AS (
SELECT 21 AS SiteID
UNIR TODOS
SELECT 5 AS SiteID
)
ESCOGER
(SELECCIONE SiteID DE [NZ. Node.Nodes] WHERE ID = P.NodeID) AS SiteID,
P.NodeID,
P.[Fecha],
P.MAX_PWR,
P.MIN_PWR,
P.AVG_PWR
DESDE [NZ. DW. Node.CapIntel] P
DONDE P.NodeID IN (SELECT ID FROM [NZ. Node.Nodes])
Y SiteID EN (SELECCIONE SiteID FROM SiteIDs)
ORDENAR POR P.[Fecha], P.NodeID;
Ajustes clave:
Se reemplazó DECLARE e INSERT INTO:
Se usó un CTE (WITH SiteIDs AS (...)) para definir la lista de valores de SiteID.
Se ha mantenido intacta la consulta principal:
Se hace referencia a la CTE de SiteID en lugar de usar una variable o una tabla temporal.
Se ha eliminado la sintaxis no admitida:
No hay DECLARE, INSERT INTO u otras instrucciones de procedimiento que no se admitan en Power BI DirectQuery.
Pasos para implementar:
Copie y pegue la consulta reescrita en el editor de consultas de Power BI.
Pruebe la conexión y valide la vista previa de los datos.
Aplique los cambios y el error debería resolverse.
Si esta publicación ayuda, considere aceptarla como la solución para ayudar a los otros miembros a encontrarla más rápidamente.
TY para la respuesta: probé el nuevo código y recibí el siguiente error