ebjm
Hola, estoy usando powerBI para conectarme a un servidor MySQL. Podemos conectarnos bien y podemos recibir datos bien: estoy llamando a un procedimiento almacenado desde powerBI usando el siguiente comando;
LLAME a mi_sp();
Mi problema es que cuando trato de pasar un parámetro al procedimiento almacenado como este;
ESTABLECER @p0 = ‘xyz’;
LLAME a mi_sp(@p0);
Power BI devuelve un mensaje que dice que debo usar una conexión sin cifrar. Cuando lo hago, aparece el siguiente error: «MySQL: se encontró un error fatal durante la ejecución del comando».
Entonces mi pregunta es: ¿cómo puedo pasar un parámetro a un procedimiento almacenado de MySQL desde powerBI?
Agradecería cualquier sugerencia/consejo. Gracias.
Anónimo
Hola @ebjm
Espero que esto pueda ayudarte. Escribí esta respuesta en otro hilo:
«Resulta que esto es realmente posible en Power BI. Creé un video tutorial sobre cómo hacer esto aquí.
La esencia básica es agregar un objeto visual R que tome su selección de segmentación como su valor. Hay un paquete R llamado RODBC que puede ejecutar código SQL en su base de datos. Luego puede pasar su valor de segmentación a la consulta SQl usando alguna interpolación de cadenas o la función «pegar». Déjame saber cómo funciona esto para ti».
Deberá cambiar el tipo de conexión de SQL Server a MySQL.
Espero que esto ayude,
parker
ebjm
En respuesta a Anónimo
Gracias pero estoy desconcertado. ¿Por qué puedo pasar lo siguiente de Power BI a mi servidor MySQL?
LLAME a mi_sp();
pero no me dejan pasar
ESTABLECER @p0 = ‘xyz’;
LLAME a mi_sp(@p0);
Anónimo
En respuesta a ebjm
¿Cómo lo estás pasando?
ebjm
En respuesta a Anónimo
Lo paso a través del campo de texto ‘Declaración SQL’ después de ‘Obtener datos’.
Anónimo
En respuesta a ebjm
No estoy muy familiarizado con MySQL, pero cuando me conecte a SQL Server, Power BI envolverá todo el comando en un SELECCIONAR.
Eso me lleva a creer que
SELECT
*
FROM (CALL my_sp();
)
funcionará, pero lo siguiente no:
SELECT * FROM (SET @p0 = 'xyz'; CALL my_sp(@p0); )
Tal vez esa es la razón de tus problemas. Pero como dije en una publicación anterior, eche un vistazo a mi video y podrá solucionar su problema si su situación se ajusta. Implica el uso de un objeto visual R para ejecutar su SP en lugar de la función Obtener datos de Power BI.
Espero que esto ayude,
parker
nirvana_moksh
En respuesta a Anónimo
Entonces, ¿puede usar el código R para pasar el parámetro de fecha en su Procedimiento almacenado y esto también funcionará con más de un parámetro?
Anónimo
En respuesta a nirvana_moksh
Sí, puede pasar tantos campos al objeto visual R como necesite. Luego puede hacer referencia a todos ellos en su código SQL incrustado en su código R
nirvana_moksh
En respuesta a Anónimo
Voy a probar esto esta noche, ¿tu video detalla toda la información necesaria? También para el conector RODBC, ¿necesitamos descargarlo en SSMS?
Anónimo
En respuesta a nirvana_moksh
La única diferencia entre mi video y su situación es que pasará un parámetro de Power BI. Para hacer esto, deberá crear el parámetro y habilitar la carga para que luego pueda pasarlo a R Visual. En cuanto a RODBC, es un paquete R que deberá instalar. Aparte de eso, deberías estar listo para irte. Siéntase libre de comunicarse con preguntas.
Editar: Al leer su publicación inicial, no estoy seguro de si está pasando un parámetro de Power BI. Podrá pasar cualquier columna o parámetro de Power BI con este método.