cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
ericam
New Member

Does Flow support Odata filtering for contains

Hi-

 

I am using OData filtering on a Sharepoint list and would like to use contains. Is this supported?

 

Thanks,

ERica 

2 ACCEPTED SOLUTIONS

Accepted Solutions
v-monli-msft
Community Support
Community Support

Hi @ericam,

 

Currently OData filters are not implemented yet by all connectors.

See the response from SameerCh in the following thread:

ODATA Filters - are these implemented yet?

 

 

But the filter query works for SharePoint lists.

53.PNG

Currentlly the Filter Query under the Action Act as the 

$filter in OData Query,

The Order By act as the:

$orderby

There is no $select query implemented under the Action.

So if you would like to return special fields from the SharePoint list (See OData reference for SharePoint REST query), you may consider submit this as an idea, to add the $Select as an available Query under the Get Items Action.

https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas

Regards,

Mona

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

View solution in original post

the answer is to use substrigof

 

substringof('add',Title)

      is equivalent to

contains(Title,'add') 

 

note the reverse order of the arguments \

View solution in original post

15 REPLIES 15
v-monli-msft
Community Support
Community Support

Hi @ericam,

 

Currently OData filters are not implemented yet by all connectors.

See the response from SameerCh in the following thread:

ODATA Filters - are these implemented yet?

 

 

But the filter query works for SharePoint lists.

53.PNG

Currentlly the Filter Query under the Action Act as the 

$filter in OData Query,

The Order By act as the:

$orderby

There is no $select query implemented under the Action.

So if you would like to return special fields from the SharePoint list (See OData reference for SharePoint REST query), you may consider submit this as an idea, to add the $Select as an available Query under the Get Items Action.

https://powerusers.microsoft.com/t5/Flow-Ideas/idb-p/FlowIdeas

Regards,

Mona

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

I am also struggling with filtering data effectively.

 

Reading the referenced ODATA documentation, the following expression shourd work as $filter equivalent 

 

substringof(ParcelType,'d')

==> The function operator 'substringof' is not supported or its usage is invalid. clientRequestId: 7ffb26aa-5e14-4f31-a871-c28913ed6492 serviceRequestId: 3687659e-60ef-5000-cfae-fc2dec4a8e75

 

substringof(ParcelType,'d') eq true

==> The query is not valid. clientRequestId: 23684da9-2a8c-4369-ad0a-4a06447fd64b serviceRequestId: 5a87659e-60b7-5000-99fd-366ddd21103a

 

Also CONTAINS does not work - although is is efined in 

http://docs.oasis-open.org/odata/odata/v4.0/errata03/os/complete/part2-url-conventions/odata-v4.0-er...

 

contains(ParcelType,'d') eq true

The function operator 'contains' is not supported or its usage is invalid. clientRequestId: 4e09447a-6b56-49b4-8a9f-f3b8d8a42cc4 serviceRequestId: 4a86659e-e0fb-5000-99fd-3241e5e4e886

 

help will be much appreciated 

Anonymous
Not applicable

I'm having a similar problem.

I am trying to use the following Filter query on a SharePoint contact list

tolower(Email) eq 'someEmailAddress'

 

I get the following error:

"The query is not valid.\r\nclientRequestId: b4df2051-c8ec-4df4-8740-33a1182776b5\r\nserviceRequestId: a0ee8a9e-b000-6000-f58f-8d9fba05c8f2"

the answer is to use substrigof

 

substringof('add',Title)

      is equivalent to

contains(Title,'add') 

 

note the reverse order of the arguments \

Hello everyone,

 

I am trying to use substringof in a CDS "List Records" action, but I get the following error.

"An unknown function with name 'substringof' was found. This may also be a function import or a key lookup on a navigation property, which is not allowed."

 

Is this supported or am I missing the trick here?

 

Thanks everyone.

substringof isn't supported in Flow currently. I don't know if it ever was, why was that answer accepted as a solution?

 

I just tried:

 

contains(xxx_fieldname,'searchterm') eq true 

 

in the Filter query field of my Flow's List Records action, and it works.

 

I am using the CDS (current environment) connector. Note that there are 2 CDS connectors and the (current environment) version of it won't show up if you're not within a solution, and even when you are it doesn't show up unless you specifically search for that connection before selected an action under it. 

 

Update 14 Sept 2020: I just used contains again in my Flow using CDS (current environment) - List Records, and it did NOT work. FFS Microsoft, make up your mind exactly how flawed and defective you want your product to be.

I have the same issue

Substringof('xyz', Title) isn't currently supported in the filter query.

@qwert79 

Yes, this worked for me. Thank you

Hi, so what is the solution?

PhilD
Kudo Kingpin
Kudo Kingpin

Neither of these approaches seem to work when filtering a SharePoint list.

@PhilD , @Sherif-Abolsaud 
You should try this - contains(subject, “TestCall”) eq true
https://hameedhussain.com/2020/10/15/power-automate-using-contains-in-the-filter-query/

sharathdozen
Microsoft
Microsoft

https://www.linkedin.com/pulse/dynamic-odata-filter-alternative-power-automate-ms-flow-somanathan 

Guys, this article will solve your problem. It's verified. I hope you find this useful!

That seems like an overly complex workaround. If we're adding a bunch of actions anyway, why not just use the Filter Array action instead?

today I tried to use contains(property,'string') and contains(property,'string') eq true and neither worked. Substringof() worked perfectly. 

 

The odd thing is that i have a contains() in another flow from about 6 months ago that works fine.

Helpful resources

Users online (4,111)