If you are unable to create a new account, please email support@bspsoftware.com

 

News:

MetaManager - Administrative Tools for IBM Cognos
Pricing starting at $2,100
Download Now    Learn More

Main Menu

Multiple attrbute filter

Started by DuVlad, 16 Nov 2013 11:06:37 AM

Previous topic - Next topic

DuVlad

Hi guys.

I'm having a weird issue and I was hoping to get some suggestions.

I have a crosstab on my report, which is using a TM1 cube. In my crosstab, I use quarter and some metrics as columns. As rows, I use three levels of an Indicators dimension (perspective, objective, indicator).

Each level has a bunch of attributes, including a group of attributes that reference a different dimension (directors).

For example, for each director A, B, C, I have the attributes A, B and C for each level of Indicators Dimension. Every attribute A is filled with the description 'A' whenever the member belongs to that director. Otherwise, it's blank

The problem is I need to make a filter that filters the attribute I use based on the current director. So, for instance, if I pass director A to the report (by drill-through), it should have a filter which, logically, goes sort of like this:

[cube].[directors].[directors]=[cube].[indicators].[indicators].[objective].[A] //Objective is the level whose attribute I need to filter

But I need to do it for every different attribute. I tried using case/if on the filter, but apparently that doesn't work.

I managed to think of a solution, but it's not working perfectly. I made a data item which is:

case
when character_length([cube].[indicators].[indicators].[objective].[A])>0 then 'A'
when character_length([cube].[indicators].[indicators].[objective].[C])>0 then 'C'
... (goes on for 21 directors)

I used char_length to find out if the attrbute has value. It will have value whenever the director matches the attribute.

then I filter this new data item like this:

caption([cube].[directors].[directors]) = [new data item]

And it works fine, until I add summarizations to the report. I added one for objective and one for the next level (indicators). Then I get an error:

Found an internal error on node 'MDXSet'. Unable to find the hierarchy info for the node

Funny thing is, if I remove the quarter level from the crosstab and replace it with the hierarchy (Time), it works perfectly.

So, now I'm stuck at this =[

If you guys know of anything that could help, that would be very much appreciated. Sorry for the long description, I just wanted to provide all information I could give. I hope I was clear.

Thank you.

bi4u2

When you are using TM1 data, the only way to filter on an attribute is to embed the filter into the data item expression for your director. Since this is based on a prompt value, you might also need to embed a prompt macro into the expression.

Your data item for Director might look something like this:

filter([Director], [attribute] in (#prompt('P_Attribute','string',[attribute]')#)