Combine Two Different Objects

Welcome Forums General PowerShell Q&A Combine Two Different Objects

Viewing 1 reply thread
  • Author
    • #181638
      Topics: 14
      Replies: 22
      Points: 186
      Rank: Participant


      I'm looking to combine/match results from two different object sets.  The first one is from 'Get-PowerBIReport' has the following output:

      Id : 12573cbf-77ab-42c4-b915-6
      Name : PBPhone
      WebUrl :
      EmbedUrl :
      DatasetId : 971a8a6e-f465-4e42-b2b8

      The other is from 'Get-PowerBIDataset' and has the following output:

      Id : 29a26268-8b33-4de5-be90-63
      Name : server_count_example
      ConfiguredBy :
      DefaultRetentionPolicy :
      AddRowsApiEnabled : False
      Tables :
      WebUrl :
      Relationships :
      Datasources :
      DefaultMode :
      IsRefreshable : True
      IsEffectiveIdentityRequired : False
      IsEffectiveIdentityRolesRequired : False
      IsOnPremGatewayRequired : True

      Is there anyway to match the results?  I'd also like to add a third object from a different get statement.



    • #181665
      Topics: 10
      Replies: 1385
      Points: 1,527
      Helping Hand
      Rank: Community Hero
      • #181890
        Topics: 14
        Replies: 22
        Points: 186
        Rank: Participant

        I tried something similar, but not quite the linq query. I created an empty array to collect the objects, but I still seem to be missing data.

        $outputCollection = @()
        $reports = Get-PowerBIReport -Scope Organization 
        $datasets = Get-PowerBIDataset -Scope Organization
        $reports | Foreach-Object {
            #Associate objects
            $reportObject = $reports
            $datasetObject = $datasets | Where-Object {$_.Id -eq $reportObject.Id}
            #Make a combined object
            $outputObject = "" | Select Name, ConfiguredBy, MailboxAttribute
            $outputObject.Name = $reportObject.Name
            $outputObject.ConfiguredBy = $reportObject.ConfiguredBy
            $outputObject.ID = $datasetObject.Id
            #Add the object to the collection
            $outputCollection += $outputObject

        The output:

        Name             : {Dashboard Usage Metrics Report, Office 365 Adoption Preview, Office 365 
                           Adoption Preview, Microsoft Azure Consumption Insights...}
        ConfiguredBy     : 

        I'm still missing the link between reports and datasets?


Viewing 1 reply thread
  • The topic ‘Combine Two Different Objects’ is closed to new replies.