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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

Reply
ivanoharris
Regular Visitor

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

 

 

1 ACCEPTED SOLUTION

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:

 

Lookup-Relationship.jpg

 

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"

View solution in original post

8 REPLIES 8
v-yuezhe-msft
Employee
Employee

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

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

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

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

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

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:

 

Lookup-Relationship.jpg

 

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"

Anonymous
Not applicable

Hi!

 

I used the Relationship Columns. It works but seems to seriously affect the performance to load data. It comes to x number of rows and then it takes forever to complete, and sometimes it will not.

 

Any hints on what I could be doing wrong?

Thanks for your suggestion. I followed the steps you have mentioned yet I am having trouble while expanding the SF Objects.

 

DataSource.Error: invalid query locator Details: List

Did you find a resolution to your error?

Hi @ivanoharris,

Glad to hear that the issue is resolved. You can accept your reply as solution, which will help other community members who encounter the same issue.


Thanks,
Lydia Zhang

Community Support Team _ Lydia Zhang
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

Helpful resources

Announcements
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

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

Top Solution Authors
Top Kudoed Authors