Forum Discussion

ivanoharris's avatar
ivanoharris
Regular Visitor
9 years ago
Solved

salesforce object connector - Lookup relationship support ?

Does anyone know if lookup relationships are supported in the Salesforce Object Connector.  For example, I'd like to query the object Account and pull in Name from a lookup object called Market.  Typically within a normal SOQL query I would query as such:

 

SELECT Market__r.Name FROM Account

 

When I try and use the Advanced Editor to modify the Dax query to include this it errors out.  

 

Thank you for the help.

Ivano

 

 

  • OK, after playing around with this some more I found a solution and it's actually quite simple and functional.  I just couldn't find any documentation on the subject.

     

    For reference here is how you can query on lookup relationship fields using the Salesforce Object connector:

     

    1 - When picking Salesforce Object connector, on the screen where you select the object you just check the option at the bottom of the window entitled "Include Relationship Columns"

    2 - Click on "Choose Columns" and scroll to the bottom where all of the lookup fields are located.  They will end in __r, such as Market__r.  Select the lookup relationship you'd like to use

    3 - From the preview window, click on the hierarchy looking button on the column header for the lookup relationship.  This will pop out a window where you can select the relationship fields in question, such as Market__r.Name

     

    Here's a screenshot for reference and the Dax it generates for reference:

     

     

    Dax from Advanced Editor:

     

    let
    Source = Salesforce.Data("https://login.salesforce.com/", [CreateNavigationProperties = true]),
    Account1 = Source{[Name="Account"]}[Data],
    #"Removed Other Columns" = Table.SelectColumns(Account1,{"Name", "RecordTypeId", "Market__r"}),
    #"Expanded Market__r1" = Table.ExpandRecordColumn(#"Removed Other Columns", "Market__r", {"Name"}, {"Market__r.Name"}),
    #"Expanded Market__r" = Table.ExpandRecordColumn(#"Expanded Market__r1", "Market__r", {"Id", "Name", "Parent_Market__c", "Geocode__c", "Geocode_Address__c", "Parent_Market__r"}, {"Market__r.Id", "Market__r.Name", "Market__r.Parent_Market__c", "Market__r.Geocode__c", "Market__r.Geocode_Address__c", "Market__r.Parent_Market__r"}),
    #"Filtered Rows" = Table.SelectRows(#"Expanded Market__r", each ([RecordTypeId] = "012130000018FFPAA2"))
    in
    #"Filtered Rows"

9 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi ivanoharris,

    What error message do you get when modifying the code in Advanced Editor?  Please follow the instructions in this similar blog to  define lookup relationships in Advanced Editor.

    However, comparing to modifying code in Advanced Editor, it is easier to use the Merge Queries feature in Power BI Desktop. Merge lets you join two data queries and retrieve lookup object , for more details, please review this similar blog: https://businessintelligist.com/2015/09/15/power-bi-desktop-merge-query-options/ .

    Thanks,
    Lydia Zhang

    • ivanoharris's avatar
      ivanoharris
      Regular Visitor

      Lydia,

      It's a lot more work to use merge queries on the PowerBI side than it is to leverage the inherent built-in SOQL query support for querying lookup relationships.

       

      If the connector supports this, I'd love to know.  If not, I'd think you'll want to look into it. 

       

      Ivano

      • Anonymous's avatar
        Anonymous
        Not applicable

        Hi ivanoharris,

        I am not able to found any official Power BI blog or salesforce blog stating that there is a limitation about lookup relationship. Lookup relationship should be supported in the connector, could you please post the error message you get?

        Thanks,
        Lydia Zhang

  • metrica's avatar
    metrica
    Post Prodigy

    Hi ivanoharris,

     

    The accepted solution is still valid. Enable Include relationship columns in the Salesforce Objects connector, select the required lookup relationship, and expand the related record in Power Query.

     

    Power BI Connector for Salesforce also provides an ERD for exploring Salesforce objects, fields, and relationships before export.

     

    AppExchange and 30-day trial:
    https://appexchange.salesforce.com/appxListingDetail?listingId=31526f0e-abd8-4cb5-bd1a-3bd56b5c0577

     

    Docs:
    https://metricasoftware.com/docs/salesforce/

     

    Cheers,
    Metrica Team