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

The ultimate Microsoft Fabric, Power BI, Azure AI & SQL learning event! Join us in Las Vegas from March 26-28, 2024. Use code MSCUST for a $100 discount. Register Now

Odata 4 ExpandRecordColumn stopped working

Hi Everyone,

 

All of the sudden, the reports that we had running for months stopped working.  I isolated the problem down to this simple query.  The table.ExpandRecordColumn is causing the issue.  The source data is Dynamcis CRM online using Odata 4.

 

let	
        Source = OData.Feed(CRMServiceUrl, null, [Concurrent = true, ODataVersion = 4]),
        opportunities_table = Source{[Name="opportunities",Signature="table"]}[Data],
    #"Expanded haw_Dealer" = Table.ExpandRecordColumn(opportunities_table, "haw_Dealer", {"address1_city", "name"}, {"haw_Dealer.address1_city", "haw_Dealer.name"})
in
    #"Expanded haw_Dealer"

Error Message:
Specified method is not supported.

Stack Trace:
Microsoft.Mashup.Evaluator.Interface.ErrorException: Specified method is not supported. ---> Microsoft.Mashup.Evaluator.Interface.ErrorException: Specified method is not supported. ---> Microsoft.Mashup.Evaluator.Interface.ErrorException: Specified method is not supported. ---> Microsoft.Mashup.Evaluator.Interface.ErrorException: Specified method is not supported. ---> Microsoft.Mashup.Evaluator.Interface.ErrorException: Specified method is not supported. ---> System.NotSupportedException: Specified method is not supported. ---> System.NotSupportedException: Specified method is not supported.
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataExpression.VisitColumnAccess(ColumnAccessQueryExpression expression)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataColumns..ctor(RecordTypeValue recordTypeValue, Capabilities capability, IEdmEntityType entityType, ODataEnvironment environment)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataQuery..ctor(ODataEnvironment environment, IEdmNavigationSource navigationSource, ODataPath path, IEdmNamedElement namedElement, IEdmEntityType entityType, RecordTypeValue recordTypeValue, Boolean isComposable, Boolean allColumnsSelected, Uri baseUri)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataQuery..ctor(ODataEnvironment environment, IEdmNavigationProperty navigationProperty, IEdmNavigationSource navigationSource, RecordTypeValue recordTypeValue, Uri baseUri)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataReaderEnumerator.CreateEntryLinkValue(NavigationLinkWrapperPropertyLookupValue lookupValue, TypeValue fieldType, Int32 column)
at Microsoft.Mashup.Engine1.Library.OData.ODataStructuralValueConverter.<>c__DisplayClass1f`1.<CreateEntryValue>b__1b(String key, Int32 i)
at System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Microsoft.Mashup.Engine1.Library.OData.ODataStructuralValueConverter.CreateEntryValue[TODataException](ODataEnvironmentBase environment, TypeValue type, IEnumerable`1 properties, Dictionary`2 links, Func`4 createEntryLinkValueReference, Func`2 marshalFromClr, ODataEntry entry, IEdmEntitySetBase entryEntitySet)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataReaderEnumerator.CreateEntryValue(TypeValue type, ODataEntry entry, IEdmNavigationSource entryEntitySet, Dictionary`2 links)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataReaderEnumerator.<>c__DisplayClassc.<ReadEntryFromLink>b__8(TypeValue type)
at System.Linq.Enumerable.WhereSelectListIterator`2.MoveNext()
at System.Collections.Generic.List`1..ctor(IEnumerable`1 collection)
at System.Linq.Enumerable.ToList[TSource](IEnumerable`1 source)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataReaderEnumerator.CreateEntryLinkValue(NavigationLinkWrapperPropertyLookupValue lookupValue, TypeValue fieldType, Int32 column)
at Microsoft.Mashup.Engine1.Library.OData.ODataStructuralValueConverter.<>c__DisplayClass1f`1.<CreateEntryValue>b__1b(String key, Int32 i)
at System.Linq.Enumerable.<SelectIterator>d__5`2.MoveNext()
at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
at Microsoft.Mashup.Engine1.Library.OData.ODataStructuralValueConverter.CreateEntryValue[TODataException](ODataEnvironmentBase environment, TypeValue type, IEnumerable`1 properties, Dictionary`2 links, Func`4 createEntryLinkValueReference, Func`2 marshalFromClr, ODataEntry entry, IEdmEntitySetBase entryEntitySet)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataReaderEnumerator.CreateEntryValue(TypeValue type, ODataEntry entry, IEdmNavigationSource entryEntitySet, Dictionary`2 links)
at Microsoft.Mashup.Engine1.Library.OData.V4.ODataReaderEnumerator.MoveNext()
at Microsoft.Mashup.Engine1.Library.OData.V4.BatchEnumerator.ReadPage()
at Microsoft.Mashup.Engine1.Library.OData.V4.BatchEnumerator.MoveNext()
at Microsoft.Mashup.Engine1.Language.Query.Query.get_RowCount()

Status: New
Comments
Suvidha
Employee

Hi Rhanoudi,

 

This is a known issue, we are working on it. A work around would be introducing a 

Table.Buffer(opportunities_table) before the ExpandRecordColumn. Could you let me know if that works.

 

Thanks,

Suvidha

Anonymous
Not applicable

@Suvidha - this broke for me as well when I updated to the June release of PBI desktop. Can you please provide some insight into how soon we can expect a fix? I am connecting to Dynamics for Sales and this expand functionality is really crucial for us.

 

Thanks

Scott

Anonymous
Not applicable

@rhanoudi - one more follow up. i uninstalled PowerBI and then re-installed the May release, which does not have this issue. I will test again with the July release, and hopefully the issue will be fixed.

 

Best,

Scott

Suvidha
Employee

Apologies for the trouble. One work around is change your query from

let
        Source = OData.Feed(CRMServiceUrl, null, [Concurrent = true, ODataVersion = 4]),
        opportunities_table = Source{[Name="opportunities",Signature="table"]}[Data],
    #"Expanded haw_Dealer" = Table.ExpandRecordColumn(opportunities_table, "haw_Dealer", {"address1_city", "name"}, {"haw_Dealer.address1_city", "haw_Dealer.name"})
in
    #"Expanded haw_Dealer"

 

 

let
        Source = OData.Feed(CRMServiceUrl + "/opportunities?select=*", null, [Concurrent = true, ODataVersion = 4]),
    #"Expanded haw_Dealer" = Table.ExpandRecordColumn(Source, "haw_Dealer", {"address1_city", "name"}, {"haw_Dealer.address1_city", "haw_Dealer.name"})
in
    #"Expanded haw_Dealer"

Anonymous
Not applicable

Hello.

I have a similair problem where I get this error. I try to call an odata function with a list argument and this happens. Is this issue worked on? The workaround works, but is is really bad that I cannot use the UI for complex odata funcitons. 

Anonymous
Not applicable

Hi @Suvidha 

 

I hope you havde done other work than this issue in the past 3 years, because it still doesn't work 😛

You workaround works though, so thanks for that one. It just cost me a week of delay and some consultancy hours.

 

‎"06-23-2017 11:01 AM:

Hi Rhanoudi,

 

This is a known issue, we are working on it. A work around would be introducing a 

Table.Buffer(opportunities_table) before the ExpandRecordColumn. Could you let me know if that works.

 

Thanks,

Suvidha"