tlundman
He tenido problemas para pasar un valor a un procedimiento almacenado de SQL usando los parámetros de Power BI como entradas de usuario.
Ejemplo 1
He creado una consulta SQL de la siguiente manera;
Seleccione *
desde [XXXXX$E_D_I_ Inventory Advice Line] ial
unirse (seleccionar [Sell-to Customer No_]max(No_) como InvAdvNo de [XXXXX$E_D_I_ Inventory Advice Header] agrupar por [Sell-to Customer No_]) iah en ial.[Inventory Advice No_] = iah.InvAdvNo
donde ah.[Sell-to Customer No_] = XXXXX
Esta consulta crea una tabla de líneas de sugerencias de inventario que luego se pueden filtrar por el número de cliente para el que se crean esas líneas.
Posteriormente, creé un procedimiento almacenado que requiere el número de cliente de venta como entrada.
Cuando uso el procedimiento almacenado mencionado anteriormente como fuente de datos en Power BI, aparece de la siguiente manera;
dejar
Cliente=Cliente,
Fuente = Sql.Database(«xxx-xx-xxxxx», «XXX_Producción», [Query=»exec xxxInventoryAdvice ‘» & Customer2 & «‘»])
en
Fuente
Configuré mi parámetro como Customer2
Luego intento crear un nuevo parámetro en Power BI de la siguiente manera;
El valor que selecciono en este nivel como valor actual actualiza el procedimiento almacenado como Customer2 y, al aplicar o actualizar, la tabla resultante se crea perfectamente.
El problema que tengo es que no puedo identificar una forma para que el usuario final del informe suministre ese valor actual al parámetro, que luego actualiza el procedimiento almacenado subyacente, desde el informe real.
La única forma que veo para actualizar el parámetro es seleccionar el botón Editar consultas en la pestaña de inicio, resaltar el parámetro, seleccionar qué valor de parámetro usar de una lista que creé en la página de administración de parámetros, luego seleccionar el botón Aplicar y cerrar . Esto actualiza mi procedimiento almacenado y crea la tabla correcta.
He creado un empalmador y un control deslizante de parámetros What If, pero no parece conectarse al procedimiento almacenado subyacente. El parámetro what if no parece aplicarse en este caso. El empalmador contiene solo el valor que configuré como el valor actual en la página de administración de parámetros o, si se usa una tabla de números de clientes en este caso, el único valor que devolverá algún resultado debe ser el que ya se configuró en el parámetro como el valor actual.
Me gustaría tener la lista de valores que ingresé bajo el parámetro, o incluso mejor, los resultados de una segunda consulta para completar las selecciones del empalmador. Las selecciones realizadas en el empalmador actualizarían el procedimiento almacenado original como el valor del cliente2.
Si alguien tiene alguna idea de cómo hacer esto, estaría muy interesado.
Gracias,
v-lili6-msft
hola, @tlundman
primero, dropdown y un control deslizante de Parámetro What If se basa en el modelo de datosno afectará la consulta de datos básicos.
nuevo parámetro en Power BI se basa en el fuente de datos.
Para su caso, creo que hay dos formas de referirse a:
1. Continúe usando nuevo parámetro en Power BI.
Luego cambie el parámetro en el servicio power bi como se muestra a continuación:
https://docs.microsoft.com/en-us/power-bi/service-parameters
https://www.mssqltips.com/sqlservertip/4475/using-parameters-in-power-bi/
2. Ajuste su procedimiento almacenado, importe todos los datos en power bi.
Luego arrastre [Sell-to Customer No_] en una segmentación para filtrar el informe (visual).
Atentamente,
Lin