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.
Se encontró con un problema al intentar usar un procedimiento almacenado de SQL Server como origen de datos en el escritorio de Power BI. Aparece el error "Microsoft SQL: Sintaxis incorrecta cerca de la palabra clave 'EXEC'.". Un poco irónico que se encuentre un error con el propio producto DataBase de Microsoft. He probado las opciones "Consulta directa" e "Importar" con el mismo resultado final exacto. Puedo EXECute el Proc almacenado muy bien dentro de SQL Server Management StudioSQL Server Management Studio con el mismo ID de usuario que uso en Power BI. Apreciar cualquier ayuda
Gracias
Jagannathan Santhanam
Solved! Go to Solution.
En SQL, ¿puede crear una vista que llame al proc almacenado y, a continuación, que llegue a la vista desde Power BI?
Hola a todos
¿Hay alguna actualización con respecto a este tema?. Estoy encontrando el mismo problema, los procedimientos almacenados no se pueden usar en Direct Query pero funcionan con el modo Importar.
Si alguien encontró una solución con respecto a este problema, por favor comparta su idea para superar esto.
Gracias
Dharmendran
Sí, puede usar un procedimiento almacenado como "origen de datos" SI el procedimiento almacenado devuelve una tabla. He creado esta prueba simple y funciona:
CREATE TABLE TableTest
(
NAME VARCHAR(100),
AGE INT
)
INSERT INTO TableTest
VALUES
('Jonh Doe', 20),
('Tom Wayne', 35),
('Tony Clark', 40)
SELECT * FROM TableTest
CREATE PROCEDURE ProcedureTest
AS
BEGIN
SELECT * FROM TableTest
END
EXEC ProcedureTest
Si ejecuto este código SQL en SQL Server Management StudioSQL Server Management Studio, devolverá 3 líneas con 2 columnas que contienen el contenido de TableTest.Si va a Power BI y va a "Obtener datos", elija "Sql Server Database" y coloque la dirección IP, haga clic en el botón inferior de "Opciones avanzadas" y coloque EXEC ProcedureTest en el campo de "Instrucción SQL" se cargará y mostrará la devolución del procedimiento, si la devolución es una tabla, verá una tabla. Como lo siguiente:
Mismo número, tengo la última versión de PBI Desktop "Versión: 2.82.5858.961 64-bit (junio 2020)"
¿Podría probar el tipo "Importar" y usar "procedimiento EXEC" en su lugar "procedimiento EXECUTE"?
(Uso Power BI en portugués)
devolución:
@gluizqueiroz es correcto, sólo funciona con el modo de importación, no con la consulta directa.
Bueno, si mi comprensión del modo de importación es correcta, derrota todo el propósito de una "Consulta Directa" en vivo. No quiero actualizar manualmente los datos cada vez que los datos cambian en la base de datos, que es cada minuto, todos los días.
Por lo tanto, puede usar Consulta directa y copiar la instrucción select (que está dentro del procedimiento) y pegarla en Power BI, en su lugar, usar el "procedimiento EXEC".
Use SP_HELPTEXT 'YourProcedure' en SQL Server Management Studio > Copiar la instrucción sql entre BEGIN y END > Pegarla en el campo Instrucción SQL en Power BI > Elegir consulta directa
Debería funcionar, pero tal vez sea necesario realizar algunos cambios en el código sql.
También podría incrustar SQL en mi conexión directa, sin embargo, derrota todo el propósito de la encapsulación de código. Si necesito cambiar el código, no quiero hacerlo en Power BI, debe realizarse en el nivel de SQL Server.
Por cierto, implementé una vista usando el SQL y funciona. Esto es sin duda una mejora para el equipo de desarrolladores de Microsoft Power BI
En SQL, ¿puede crear una vista que llame al proc almacenado y, a continuación, que llegue a la vista desde Power BI?
No creo que una VISTA pueda ejecutar un procedimiento almacenado dentro de sí mismo. He probado varios tipos de comandos y encontrado errores de compilación. Por cierto, mi publicación original parece un área de mejora para el equipo de desarrollo de Power BI
Encontré lo siguiente que podría ayudar.
https://intellipaat.com/community/3763/how-to-use-sql-server-stored-procedures-in-microsoft-powerbi
Para ejecutar el procedimiento almacenado en Power BI:
Vaya a SQL Server "clic derecho" en el procedimiento almacenado y seleccione "Ejecutar". Después de la ejecución del bacalao, se abre una nueva ventana de consulta que fue responsable de la ejecución. Copie esa consulta.
Vaya al Editor de consultas de Power BI, haga clic en Nuevo origen y seleccione SQL Server. Después de dar el servidor y la base de datos, haga clic en "Opciones avanzadas", pegue la consulta en la "Declaración SQL". Navegue usando la jerarquía completa y haga clic en Ok.
Verá los datos de los parámetros que ha pasado solo en Procedimientos almacenados.
Recuerde que esto funciona en la opción "Importar consulta".
Esto es demasiado inteligente. ¡¡¡¡¡Muchas gracias!!!!!
Ya lo intenté, sólo veo tablas y vistas. No veo Procedimientos almacenados, aunque el Proceso almacenado específico se granó los derechos correctos.
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |