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
Syndicate_Admin
Administrator
Administrator

Enumerar todas las fuentes de datos / Base de datos / Tablas / Vistas utilizadas

Hola a todos,

Tengo varios informes de pBI creados y mi equipo me pide que enumere todas las fuentes de datos, tablas y consultas que utilicé en mis informes de pBI

Por lo general, me conecto a nuestra instancia SQL al crear las consultas, por lo que ayudaría mucho si hay una manera de enumerar todas las consultas que creé en una sola vista, la información importante sería la fuente de datos, la base de datos y la tabla / vista que se usó en la consulta

Gracias de nuevo

5 REPLIES 5
Syndicate_Admin
Administrator
Administrator

El fragmento de código utiliza una operación de matriz que es O(n). Si la cantidad de filas es un número grande, esto se ralentizará hasta arrastrarse. Cambiarlo para que sea una tabla hash debería acelerar un poco la recopilación.

$datasource_hashTable = @{}

$pbidatasource = Get-PowerBIDatasource -DatasetId {INSERT ID}

foreach ($datasource in $pbidatasource) {
    $datasource_row = @{
        "Name"                = $datasource.name
        "ConnectionString"    = $datasource.ConnectionString
        "ConnectionServer"    = $datasource.ConnectionDetails.Server
        "ConnectionDatabase"  = $datasource.ConnectionDetails.Database
        "ConnectionUrl"       = $datasource.ConnectionDetails.Url
        "GatewayID"           = $datasource.GatewayId
        "Datasoruceid"        = $datasource.DatasourceId
    }
    $datasource_hashTable[$datasource.DatasourceId] = $datasource_row
}

También puede usar la API de gráficos y python (que tiene pandas), que podrían ser aún más rápidos.

Syndicate_Admin
Administrator
Administrator

Funciona pero es MUY lento en 45.000 conjuntos de datos y 47.000 fuentes de datos. Además, para ver todos los suyos, debe agregar -Scope Organization, pero solo si es un administrador de Fabric.

Syndicate_Admin
Administrator
Administrator

Hola

Los detalles de conexión son una matriz, por lo que debe usar una tabla hash o desempaquetarla.

Este ejemplo hará eso.

$datasource_array = @()
$pbidatasource = Get-PowerBIDatasource -DatasetId {INSERT ID}
        
            foreach($datasource in $pbidatasource){

                $datasource_row = New-Object psobject -property @{
                    "Name" = $datasource.name
                    "ConnectionString" = $datasource.ConnectionString
                    "ConnectionServer" = $datasource.ConnectionDetails.Server
                    "ConnectionDatabase" = $datasource.ConnectionDetails.Database
                    "ConnectionUrl" = $datasource.ConnectionDetails.Url
                    "GatewayID" = $datasource.GatewayId
                    "Datasoruceid" = $datasource.DatasourceId

                }
                $datasource_array += $datasource_row
            }

Syndicate_Admin
Administrator
Administrator

hola @amitchandak este es el único resultado que estoy obteniendo, ¿lo estoy haciendo mal?

mangchaaBI_0-1681378882726.png

Syndicate_Admin
Administrator
Administrator

@mangchaaBI , una opción es usar cmdlets de Power BI

https://learn.microsoft.com/en-us/powershell/module/microsoftpowerbimgmt.data/get-powerbidatasource?...

Modo de empleo

https://learn.microsoft.com/en-us/powershell/power-bi/overview?view=powerbi-ps

También puede ver todas las conexiones en la vista de linaje del servicio Power BI del conjunto de datos

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.