jsBrizius
¿Parece que por alguna razón un DECLARE en la declaración SQL no funciona?
Aquí hay un ejemplo simple …
v-sihou-msft
En respuesta a jsBrizius
Hola @jsBrizius,
Reproducimos el mismo número que el suyo. Power BI Desktop siempre resolverá la declaración SQL de entrada del front-end como una tabla derivada. Entonces, al pasar la instrucción SQL, la instrucción «Decalare» causa un error de sintaxis. Vea la consulta obtenida en el generador de perfiles SQL:
Hemos informado de este problema internamente.
Saludos,
Anónimo
Hola,
Hice una nueva función (nueva fuente —> consulta en blanco) y tuve el mismo problema con esta consulta:
dejar
UserNameSQL = Sql.Database («Nombre del servidor», «Nombre de la base de datos»,[Query=»EXEC [proj].[TestOrganisation2]»])
en
UserNameSQL
pero lo resolví cambiándolo a esto:
dejar
UserNameSQL = () =>
Sql.Database («Nombre del servidor», «Nombre de la base de datos»,[Query=»EXEC [proj].[TestOrganisation2]»])
en
UserNameSQL
Espero que pueda ayudarlos 🙂
Saludos
vissvess
En respuesta a Anónimo
¡Pero qué es esto en caso de consulta directa …!
Esto convertir la consulta en función y luego invocar a una consulta y cargar es convertir la consulta al modo de importación.
¿Qué debo hacer para la consulta directa?
Vicky_Song
@jsBrizius, obtuve la información de PG de que el problema que obtienes es un comportamiento por diseño. Verifique lo siguiente como información detallada:
Esto está funcionando actualmente según lo diseñado. DirectQuery e Import usan la instrucción SQL de manera diferente. La importación ejecutará la declaración SQL directamente, pero DirectQuery usa la declaración SQL como una subconsulta como:
SELECCIONE [Column1], SUMA ([Column2])
DESDE (
AGRUPAR POR [Column1]
Como resultado, existe el requisito de que la instrucción SQL sea una subconsulta válida que tenga restricciones que no se apliquen a las instrucciones SQL independientes. No permitir variables locales es una de las restricciones. Para evitar la restricción, el usuario puede definir una función con valores de tabla que permita variables locales y luego importar la tabla a través de la función con valores de tabla en lugar de la declaración SQL directamente.
entumecido
En respuesta a Vicky_Song
Gracias @Vicky_Song por la explicación. Parece que la consulta directa tiene serias limitaciones. Por ejemplo, no puede ejecutar un procedimiento almacenado (es decir, exec usp_something) como una consulta directa. Como resultado, pierde la actualización automática del modelo de datos. Así que tampoco
- Vuelva a escribir el procedimiento almacenado de recopilación de datos como una vista (si es posible / práctico) O
- Usar el modo de conectividad de datos importar en vez de consulta directa – y programe sus actualizaciones a través de la puerta de enlace.
Si necesita sus procedimientos almacenados para sus otras aplicaciones, primero haga la vista (para la consulta directa) y luego envuelva la vista en un proceso almacenado (para sus otras aplicaciones).
No es genial, pero casi viable (y tiene un año, ¿realmente no ha habido cambios para adaptarse a esto?).
verstreater86
En respuesta a Vicky_Song
Intenté crear una función, pero aparece el error «Uso no válido de un operador de efectos secundarios ‘EXECUTE STRING’ dentro de una función. Lo que leí fue que no se puede usar SQL dinámico en una UDF. Alguna alternativa para obtener mi dinámica ¿SQL para ingresar a Power BI como una consulta directa?
verstreater86
En respuesta a Vicky_Song
Tengo problemas para sortear las restricciones. ¿Alguna posibilidad de que puedas dar más detalles, por favor?
jsBrizius
Recibo un error cuando intento Cerrar y aplicar el Editor de consultas. Mi consulta parece funcionar bien hasta que intento Cerrar y Aplicar.
ankitpatira
En respuesta a jsBrizius
@jsBrizius Puedo reproducir tu problema. Pero mirando su consulta puede salirse con la suya sin usar Declare. En su lugar, puede utilizar cada una de esas funciones en línea.
jsBrizius
En respuesta a ankitpatira
¿Es esto un error?
Mi consulta es mucho más difícil de leer sin la capacidad de declarar una variable. Parece extraño que funcione bien en el Editor de consultas.
v-sihou-msft
En respuesta a jsBrizius
Hola @jsBrizius,
Reproducimos el mismo número que el suyo. Power BI Desktop siempre resolverá la declaración SQL de entrada del front-end como una tabla derivada. Entonces, al pasar la instrucción SQL, la instrucción «Decalare» causa un error de sintaxis. Vea la consulta obtenida en el generador de perfiles SQL:
Hemos informado de este problema internamente.
Saludos,
jsBrizius
En respuesta a jsBrizius
Entonces, ¿aparentemente no puedes usar DECLARE? Sigo recibiendo el mismo error con la siguiente consulta.