We are looking at adding text searching to our SSAS application and have found that using InStr can be really slow with large datasets.
We are looking at being able to filter 100,000s of dimension rows.
One option we are looking at is using SQL Server FullText Search, and pass in a large result set into the MDX, any issue with that?
Something like the below:
WITH // MEMBER [Measures].[ElementCount]AS COUNT(EXISTING([Item].[CompanyItem].[CompanyItem])) MEMBER [Measures].[ElementCount]AS { EXISTS([Item].[CompanyItem].[CompanyItem],{ [Item].[CompanyItem].&[1],[Item].[CompanyItem].&[2],[Item].[CompanyItem].&[17], xxx... all the IDS up})}.COUNT SELECT [Measures].[ElementCount]ON COLUMNS FROM ( SELECT( { [Item].[Company].&[388]} ) ON COLUMNS FROM [Cube] )And using subquery slicing for returning results.
This works really quicly in the designer up to 200k IDs, then it hits a point where it goes really slowly.
Is this the right approach? Is there any other way to do this?