2017-11-15 6 views
1

여러 문자열 중 하나라도 컬렉션에있는 경우 하늘 검색 edm.collection을 필터링하여 결과를 반환하려고합니다. 하나의 항목을 쿼리 할 때만 작동하도록 할 수 있습니다. 이는 사용 사례에 충분하지 않습니다. 여러 매개 변수를 쿼리하는 구문을 찾을 수 없습니다. 회사 유형은 큰쿼리/필터 Azure 여러 문자열 중 하나를 사용하여 Edm.Collection을 검색합니다.

filter += "FirmTypes/any (x: x eq 'Big 4')"; 

위의 작품 반환 모든 문서는 4

내가 성공하지 (아래 일부) 하나 개 이상의 매개 변수의 필터링 할 수있는 다양한 방법을 시도했습니다

//filter += " OR any (x: x eq 'Industry')"; 
//filter += "FirmTypes/any (x: x eq 'Industry')"; 
//filter += "FirmTypes/any (x: x eq 'Big 4', 'Industry', 'PLC')" 
//filter += "FirmTypes/any (x: x eq 'Big 4' or 'Industry' or 'PLC')" 
//filter += "FirmTypes/any (x: x eq 'Big 4') or (x: x eq 'Industry')" 
//filter += "FirmTypes/any (x: x eq 'Big 4')|(x: x eq 'Industry')" 

누구든지 나를 올바른 방향으로 친절하게 안내 할 수 있습니까? 미리 감사드립니다.

답변

2

여러 값을 통해 필터링하는 가장 좋은 방법은 새로운 search.in 기능을 사용하는 것입니다 oreq이며, 필터 복잡성에 대한 엄격한 제한을 두지 않고 훨씬 더 많은 수의 값을 처리 할 수 ​​있습니다.

+0

대단히 감사합니다. 나는 msdn에 대한 search.in 구문을 읽었을 것이지만, 내 버전이 작동하지 않았기 때문에 어떤 식에서든 사용되었다는 것을 알 수 없었습니다. 대답 할 시간을내어 주셔서 감사합니다. –

0

게시하는 즉시 확인하십시오. search.in이 조합을 사용하는 것보다 훨씬 빠르게, 값의 큰 숫자에 대한

FirmTypes/any(x: search.in(x, 'Big 4|Industry', '|')) 

: 사람이 다른 동일한 문제가있는 경우

"FirmTypes/any (x: x eq 'Big 4') or FirmTypes/any (x: x eq 'Industry')"