Question about /Info/FilterMembers

Hi everyone.

I have a cube with two dimensions, DimA and DimB, with the following structure:

DimA/H1/LevelA

DimA/H1/LevelC

DimB/H1/LevelB

DimB/H1/LevelC

LevelC is modeled in such way because its bound property (C) is group by properties A and B in transactional database, but A and B haven't relation.

I can use DeepSee REST API service /Info/FilterMembers/:datasource/:filterSpec specifying each dimension one filterSpec parameter and handle the results.

But, I would like to have the results for both dimension in only on service call.

Is that possible? I mean, calling /Info/FilterMembers/:datasource/:filterSpec with an array of filters on filterSpec parameter?

Thank you.

  • 0
  • 1
  • 79
  • 3
  • 1

Answers

You can receive all filter values for cube if you pass its name as a datasource:

/Info/FilterMembers/YourCubeName

Hi Eduard. Thank you for your response.

I've tried do a call to something like this (without filterSpec)

/Info/FilterMembers/Cube

and got this error

{"Info":{"Error":{"ErrorCode":"5002","ErrorMessage":"ERRO #5002: Erro Caché: <UNDEFINED>zWriteFilterMembers+47^%DeepSee.REST.v1.InfoServer.1 *tMembers(1)"}}}

If I append a filterSpec so I get a correct response.

Hi

Yes, the filterSpec URL parameter is required, according to the documentation here.

It looks to me like the /Info/FilterMembers service expects to get a single level (of a specified dimension and hierarchy) as the filterSpec. Although the level names are the same for the two LevelCs, they are unrelated as far as the REST service is concerned because they are in different dimensions and hierarchies.

I don't know exactly what you are trying to do with this combined list of filter members, since it may not be an accurate list of the members of either level if some items appear in one but not the other. In terms of creating the list, though, you could try running /Info/FilterMembers once for each of the two levels, and writing code to combine the result sets while removing duplicates.