Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
Anonymous
Not applicable

Iterar consultas basadas en otras consultas

Hola

Estoy creando una consulta de Power BI para un sistema que se ejecuta en SQL Server local (2016). Básicamente, el sistema tiene departamentos multipe que tiene su propia base de datos con esquema idéntico. Necesito crear una consulta que se ejecute en todos los departamentos (bases de datos) y obtener filas de una tabla (oficina). Así que pude obtener la lista de departamentos (bases de datos) con lo siguiente:

let
    Source = Sql.Database("dbserver01/db01", "master", [Query="SELECT name FROM sys.databases"])

Pero ahora necesito recorrer en bucle este resultado y consultar otras bases de datos de la siguiente manera:

<some looping with results above>
    let
        offices = Sql.Database("dbserver01/db01", Source[name], [Query="SELECT officeName FROM Offices"]

¿Hay alguna manera de recorrer en bucle Source y crear subconsulsiones para cada base de datos y devolver el resultado de officeName combinado en las bases de datos?

1 ACCEPTED SOLUTION
Anonymous
Not applicable

De todos modos, la solución es crear la consulta con el parámetro como el nombre de la base de datos y devolver los nombres de oficina para un departamento determinado. A continuación, puede convertir esta función en una función con los parámetros getOffices(DepartmentName).

A continuación, cree otra consulta a la base de datos maestra para obtener el nombre del departamento y use Table.TransformRows(Departments, each getOffices(_[dbName])) y, a continuación, convierta la lista resultante en Table.

Esta es una versión mucho más corta de lo que he escrito originalmente. No estoy seguro de si debo marcar esto como la respuesta...

View solution in original post

5 REPLIES 5
camargos88
Community Champion
Community Champion

@koss0003 ,

¿Crear una vista consultando estas bases de datos no es una opción?



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Anonymous
Not applicable

Técnicamente, podría codificar todas las bases de datos y anexar consultas, pero tenemos más de 30 departamentos y necesitamos tener en cuenta los nuevos departamentos que se están agregando. Sería ideal hacerlo mediante programación si fuera posible.

@koss0003 ,

Puede crear una selección dinámica dentro de un procedimiento para ejecutarla.

También es posible hacerlo mediante Power Query mediante la creación de una función para seleccionar en cada base de datos.

Voy a trabajar en un ejemplo aquí.



Did I answer your question? Mark my post as a solution!

Proud to be a Super User!



Anonymous
Not applicable

En serio, Microsoft, después de tomar mucho tiempo y un gran esfuerzo para escribir una solución dolorosamente larga a mi pregunta, y su software de foro simplemente abandona el trabajo y me dice que no he iniciado sesión?

Anonymous
Not applicable

De todos modos, la solución es crear la consulta con el parámetro como el nombre de la base de datos y devolver los nombres de oficina para un departamento determinado. A continuación, puede convertir esta función en una función con los parámetros getOffices(DepartmentName).

A continuación, cree otra consulta a la base de datos maestra para obtener el nombre del departamento y use Table.TransformRows(Departments, each getOffices(_[dbName])) y, a continuación, convierta la lista resultante en Table.

Esta es una versión mucho más corta de lo que he escrito originalmente. No estoy seguro de si debo marcar esto como la respuesta...

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.