March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
No estoy seguro de si esto es posible con parámetros y plantillas PBI.
Supongamos que tenemos la Empresa A y la Compañía B que utilizan una base de datos de ventas con la misma estructura (mismas tablas, campos, etc.), pero los datos de cada una de las bases de datos son únicos para cada Empresa. La base de datos de la empresa A se denomina sql.Databases("CompanyA") y la base de datos de la empresa B se denomina Sql.Databases("CompanyB").
¿Se puede usar una plantilla para conectarse a cualquiera o ambas bases de datos y, en caso afirmativo, cómo crearía la lista de valores aceptados que solicitaría a un usuario a qué base de datos conectarse?
Gracias.
Hola, @MojoGene
Me gustaría sugerirle que cree tres parámetros como se muestra a continuación.
A continuación, puede hacer clic en 'Editor avanzado' y parametrizar el origen de datos. Uso SQL Server para probar.
A continuación, debe guardarlo como un archivo de plantilla (archivo pbit).
Al abrir el archivo pbit, puede introducir el parámetro correspondiente para conectarse a la tabla específica.
Para obtener más información, me gustaría sugerirle que consulte los siguientes enlaces.
Crear plantillas de informe para Power BI Desktop
Profundizar en los parámetros de consulta y plantillas de Power BI
Parámetros de consulta de Power BI Desktop
Saludos
Allan
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
La mejor manera de hacerlo sería crear un parámetro en el editor de consultas para contener los nombres de la base de datos. A continuación, usaría este nombre de parámetro en la consulta. Si desea un escenario de selección única y el usuario selecciona (los parámetros solo pueden contener un valor único), tendrá una consulta que consulta la base de datos para ese valor. Si desea que se consulta la opción múltiple (se consultan todas las bases de datos enumeradas y el usuario puede elegir las bases de datos deseadas de una segmentación de datos), crearía una tabla con la lista de nombres de base de datos y, a continuación, crearía una función personalizada que acepte el mismo parámetro pero el nombre de la base de datos para esa fila como entrada. Todos los resultados se anexarían y aún tendría la columna de nombre de base de datos para cortar.
Si esto funciona para usted, por favor márquelo como la solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
palmadita:
Gracias por entrar.
Podría crear una lista con los nombres de base de datos para cada compañía. Eso parece bastante simple. Pero, ¿cómo paso el valor de lista seleccionado como origen para cada tabla de la base de datos?
Cree una función personalizada en el editor de consultas y en la consulta con la tabla con la lista de nombres de base de datos, en la pestaña Agregar elija Invocar función personalizada, eligiendo la columna con los nombres de base de datos como parámetro de entrada. Consulte este post para obtener instrucciones.
Para crear la función, realice una consulta que haga lo que desee con una de las bases de datos y, a continuación, modifique la consulta en el editor avanzado, reemplazando el nombre de la base de datos por el nombre del parámetro. En el ejemplo siguiente, el nombre del parámetro está entre paréntesis. Los valores de la tabla de nombres se insertan allí cuando se invoca la función personalizada.
(nombre de la base de datos) >
Fuente: sql.database(actualservername, databasename, ...)
Si esta solución funciona para usted, márquela como la solución. Los felicitaciones también son apreciados. Por favor, avísame si no.
saludos
palmadita
To learn more about Power BI, follow me on Twitter or subscribe on YouTube.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!