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

1st Level in a Hierarchy

Started by mrcool, 24 Apr 2016 08:13:41 AM

Previous topic - Next topic

mrcool

Hi All,

Is there any Dimensional function to display members of 1st level of a hierarchy?  Descendants is giving all the members in a hierarchy.

Thanks,
Mc

MFGF

Quote from: mrcool on 24 Apr 2016 08:13:41 AM
Hi All,

Is there any Dimensional function to display members of 1st level of a hierarchy?  Descendants is giving all the members in a hierarchy.

Thanks,
Mc

Hi,

You could just select the desired level from the package tree? Alternatively, how about using the children() function based on the root member?

MF.
Meep!

mrcool

Quote from: MFGF on 25 Apr 2016 03:01:39 AM
Hi,

You could just select the desired level from the package tree? Alternatively, how about using the children() function based on the root member?

MF.
Hi MF,

I can but my requirement is bit tricky as I need hierarchy for one and level for another in the same report.
I want to derive the 1st level from the hierarchy. Children didn't work for me on hierarchy. I will check once again. Thanks.

Thanks,
Mc

Sent from my A0001 using Tapatalk


MFGF

Quote from: mrcool on 25 Apr 2016 03:11:28 AM
I can but my requirement is bit tricky as I need hierarchy for one and level for another in the same report.

Hi,

Hierarchy for one? Level for another? Can you explain what this means? One what?

Quote from: mrcool on 25 Apr 2016 03:11:28 AM
I want to derive the 1st level from the hierarchy. Children didn't work for me on hierarchy. I will check once again. Thanks.

What does "didn't work for me on hierarchy" mean?  Children() requires a member as the argument. If you use the root member of the hierarchy you will get the children at the level below this.

Cheers!

MF.
Meep!

mrcool

#4
Hi MF,

I have one query item with the level and a dataitem  with the hierarchy(in completetuple function).

We have a requirement to change the column dynamically based on the prompt. I am using prompt macro for this and passing the level of the dimension.
In order to handle non-conformed dimensions(Virtualcube) I am going with an approach as per the documentation by using completetuple. I couldn't use level with completetuple and hence I changed my prompt values to hierarchy. If I don't use completetuple, when I filter the non conformed dimension my report goes blank. With the completetuple it still displays the measures related to the filtered dimension.
Is there anyway to use a level with completetuple?
May be my thinking is wrong can you please advise any other solution?
Please let me know if my explanation isn't clear, I will provide an example.

Thanks,
mc

mrcool

May I also know how to find a parent from a level?
I am currently doing something like below but it doesn't work.

ancestor(subset(members([great_outdoors_company].[Products].[Products].[Product Type]),1,1),1)

Thanks,
mc

MFGF

Quote from: mrcool on 25 Apr 2016 07:01:27 PM
Hi MF,

I have one query item with the level and a dataitem  with the hierarchy(in completetuple function).

We have a requirement to change the column dynamically based on the prompt. I am using prompt macro for this and passing the level of the dimension.
In order to handle non-conformed dimensions(Virtualcube) I am going with an approach as per the documentation by using completetuple. I couldn't use level with completetuple and hence I changed my prompt values to hierarchy. If I don't use completetuple, when I filter the non conformed dimension my report goes blank. With the completetuple it still displays the measures related to the filtered dimension.
Is there anyway to use a level with completetuple?
May be my thinking is wrong can you please advise any other solution?
Please let me know if my explanation isn't clear, I will provide an example.

Thanks,
mc

Hi,

completeTuple() requires members / measures as arguments, not hierarchies or levels. Can you be a bit clearer about how you are using this here?

How are you filtering when you say "When I filter the non-conformed dimension my report goes blank"? Are you using a slicer? Dimensional expression? Filter function? Detail filter?

Cheers!

MF.
Meep!

mrcool

Quote from: MFGF on 26 Apr 2016 03:37:27 AM
Hi,

completeTuple() requires members / measures as arguments, not hierarchies or levels. Can you be a bit clearer about how you are using this here?

How are you filtering when you say "When I filter the non-conformed dimension my report goes blank"? Are you using a slicer? Dimensional expression? Filter function? Detail filter?

Cheers!

MF.
Hi MF,

I am using completetuple like below:
Value(completetuple(currentmember(hierarchy),measure)).
I am using detail filters. I even tried with slicers.


Sent from my A0001 using Tapatalk


MFGF

Quote from: mrcool on 26 Apr 2016 04:36:30 AM
Hi MF,

I am using completetuple like below:
Value(completetuple(currentmember(hierarchy),measure)).
I am using detail filters. I even tried with slicers.


Sent from my A0001 using Tapatalk

Ok - so you're using currentMember() too - which requires a hierarchy as an argument, and returns the current member of the hierarchy in the iteration to read the members. This is why you can then use a completeTuple() function - because the result of currentMember() is a member.

Using detail filters is very (very very very) bad news with a dimensional source. Instead you either target the member, set or level you require using dimensional expressions (if this is for inclusion in rows/columns of a crosstab) or else use a dimensional expression in a slicer if you want to filter the measure values based on context of members not being displayed.

Can you take a step back from the technical details and tell us what the requirement is here?

MF.
Meep!

mrcool

#9
Quote from: MFGF on 26 Apr 2016 04:58:03 AM
Ok - so you're using currentMember() too - which requires a hierarchy as an argument, and returns the current member of the hierarchy in the iteration to read the members. This is why you can then use a completeTuple() function - because the result of currentMember() is a member.

Using detail filters is very (very very very) bad news with a dimensional source. Instead you either target the member, set or level you require using dimensional expressions (if this is for inclusion in rows/columns of a crosstab) or else use a dimensional expression in a slicer if you want to filter the measure values based on context of members not being displayed.

Can you take a step back from the technical details and tell us what the requirement is here?

MF.
I have seen a post from linkedin forums from dynamic cubes product manager stating that detail filters perform better than slicers, which has changed my perception on detail filters.
https://www.linkedin.com/groups/4812502/4812502-6044148363425755136

So here is my requirement:

I have a crosstab report based on a virtual cube. Cross tab columns has to be changed dynamically based on prompt selection. I was using level in the prompt initially but changed that to hierarchy to make it work with completetuple.
I am using a prompt macro as an expression in side a data item to achieve this.
I have 2 measures in the report which are coming from different base cubes.
We also have prompts based on non conformed dimensions.
So when I filter on non conformed dimensions I should see values for both the measures.
How to achieve this?? Appreciate your help.

Thanks,
Mc

Sent from my A0001 using Tapatalk


navissar

That link leads to a closed group. Once I join in it I will ask whoever posted the atrocity you mentioned to answer this:
http://www.cognoise.com/index.php?topic=18290.0

mrcool

Hi Nimrod.

Sure. I think reports based on dynamic cubes perform differently to transformer cubes and I didn't see anything bad in the generated queries or the results so far.

Thanks,
mc