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

UI Property CrossTab

Started by cognos05, 24 Apr 2014 07:38:23 AM

Previous topic - Next topic

cognos05

Hi All,

Normally If I nest rows on a crosstab, it nests horizontally
Is there a way to nest the rows vertically.This is Just a requirement as how it behaves in Excel. I am not sure if there is any property to do so.

Thanks,
Nithya

MFGF

Quote from: nithya1224 on 24 Apr 2014 07:38:23 AM
Hi All,

Normally If I nest rows on a crosstab, it nests horizontally
Is there a way to nest the rows vertically.This is Just a requirement as how it behaves in Excel. I am not sure if there is any property to do so.

Thanks,
Nithya

Hi,

Can you explain this? You can "stack" rows vertically by dropping items below the current rows - is this what you mean?

MF.
Meep!

cognos05

Yes one below the other on a row. Say level 5 will have its first item, below it will be its corresponding level 4, then level5 's 2 nd item below its corresponding level 4 items.

But for me it shows all level 5 then below all level 4

Thanks,
Nithya

MFGF

Quote from: nithya1224 on 24 Apr 2014 08:06:53 AM
Yes one below the other on a row. Say level 5 will have its first item, below it will be its corresponding level 4, then level5 's 2 nd item below its corresponding level 4 items.

But for me it shows all level 5 then below all level 4

Thanks,
Nithya

Oh - I think I understand. Try deleting all your rows and dragging the hierarchy into the rows area. When you drop it, you will see a prompt that asks:"Root members" or "All members" - select the "All members" option.

Is this what you need?

MF.
Meep!

cognos05

yes, something similar to it.but sayI drag the hirerachy I get all the levels as part of the hierarchy. If I need only few levels say last three levels to be nested from that Hierarchy .Is there a way?

Thanks,
Nithya

MFGF

Quote from: nithya1224 on 24 Apr 2014 08:41:36 AM
yes, something similar to it.but sayI drag the hirerachy I get all the levels as part of the hierarchy. If I need only few levels say last three levels to be nested from that Hierarchy .Is there a way?

Thanks,
Nithya

You could take the following approach:

Build a set of all members from the levels you require - using nested union() functions

eg union(union([your level 3],[your level 4]),[your level 5])

then put this within a hierarchize function, eg:

hierarchize(union(union([your level 3],[your level 4]),[your level 5]))

Drag this to your rows, select the row headings, and in the Level Indentation property choose "Based on the level in the hierarchy"

Cheers!

MF.
Meep!

cognos05

Hi MFGF,

That worked perfectly !! Thanks a lot.

It nests level4,then 3 and then 2 accordingly. But I wanted my level 4 to be bolded. Since this is one data item which uses hierarchize (union(union(4,3),2)) .How can I bold any of the level and show.

Thanks,
Nithya

MFGF

#7
Quote from: nithya1224 on 24 Apr 2014 09:53:04 AM
Hi MFGF,

That worked perfectly !! Thanks a lot.

It nests level4,then 3 and then 2 accordingly. But I wanted my level 4 to be bolded. Since this is one data item which uses hierarchize (union(union(4,3),2)) .How can I bold any of the level and show.

Thanks,
Nithya

Ok - so we need a conditional style for this.

First, go to the query for your crosstab and drag in a new query calculation. Call it LevelNo and code the expression as

ordinal(level(currentMember([your hierarchy])))

Then hover over the condition explorer (in the middle toolbar), select "Variables" and drag in a new boolean variable. Set the expression as [your LevelNo item above] = <level number>     
where <level number> is the number of the level you want to appear in bold. Numbering starts with 0 at the top level, 1 for the next level down, 2 for the next level and so on - put in the number of the relevant level.

eg [Query1].[LevelNo] = 2

Go back to your report page and select your row headings item in your crosstab. Go to the Style Variable property and select your new boolean variable.
Next, hover over Condition Explorer and select the "Yes" value in your boolean variable (the middle toolbar will appear green after this)
Set the Font property of your row heading item to be Bold.
Double-click the green section of the middle toolbar to remove the variable selection.
Finally, select your row heading item in the crosstab and go to the Properties property. Check "LevelNo" as being a property.

Now when you run the report, the members of the level you have chosen should appear in bold while the others appear normally.

Cheers!

MF.
Meep!

cognos05

Hi MFGF,

Only the row headers data item 's font is changed and not the whole row. Say if the data item in the row is France the whole row ie the revenue vale for france back color should also change. Am I missing anything.

Thanks,

MFGF

Quote from: nithya1224 on 24 Apr 2014 11:08:59 AM
Hi MFGF,

Only the row headers data item 's font is changed and not the whole row. Say if the data item in the row is France the whole row ie the revenue vale for france back color should also change. Am I missing anything.

Thanks,

Sorry - you didn't mention the cells ;)

Click on the crosstab row headings, then right-click and choose "Select Member Fact Cells"
Go to the Style Variable property and choose your boolean variable.
Hover over condition explorer and select the "Yes" value in your boolean variable
Set the Font property of your member fact cells to be Bold
Double-click the green section of the middle toolbar to remove the variable selection

You could perhaps have figured this out yourself though. You already have all the pieces there - you just needed to select the correct part of the crosstab to format. It's the exact same technique as for the row headings.

Cheers!

MF.
Meep!

cognos05

I dint knew about the right click and select fact cells. I would have hold ctrl and selected all  measure one by one Anyways I came to know about that property. :) . It worked .Thanks MFGF.