COGNOiSe.com - The IBM Cognos Community

IBM Cognos 10 Platform => Cognos 10 BI => Report Studio => Topic started by: clabbe on 21 Oct 2014 12:46:46 PM

Title: Setting Conditional Palette on a bar chart within a data deck.
Post by: clabbe on 21 Oct 2014 12:46:46 PM
Hello,

I have a stacked bar chart where the Series (primary axis) is determined by Media Type (Call, Chat). 

The chart lies within a data deck and is being controlled by data button bars of media type and line of business (business, consumer, escalations, etc.).  As I scroll through the button options the bar color for call and chat swaps back and forth.  I assume that's because the first row of data varies depending on my media type and LOB selections.  So if the first row of data is a call on one card the call bar would be purple but if the first row is a chat on another card chat will be purple.  How I can prevent this from happening?  I want call to always be the same color and chat to always be the same color.

I've tried to accomplish this using Conditional Palette.  My expression reads: ParamDisplayValue('pMedia')='Chat' and set that to a color, where pMedia is the parameter I use to select media type in my data deck.  I did the same for Call.

I hope I described this well enough.  And thanks in advance for any ideas!
Title: Re: Setting Conditional Palette on a bar chart within a data deck.
Post by: MFGF on 22 Oct 2014 11:04:11 AM
Quote from: clabbe on 21 Oct 2014 12:46:46 PM
Hello,

I have a stacked bar chart where the Series (primary axis) is determined by Media Type (Call, Chat). 

The chart lies within a data deck and is being controlled by data button bars of media type and line of business (business, consumer, escalations, etc.).  As I scroll through the button options the bar color for call and chat swaps back and forth.  I assume that's because the first row of data varies depending on my media type and LOB selections.  So if the first row of data is a call on one card the call bar would be purple but if the first row is a chat on another card chat will be purple.  How I can prevent this from happening?  I want call to always be the same color and chat to always be the same color.

I've tried to accomplish this using Conditional Palette.  My expression reads: ParamDisplayValue('pMedia')='Chat' and set that to a color, where pMedia is the parameter I use to select media type in my data deck.  I did the same for Call.

I hope I described this well enough.  And thanks in advance for any ideas!

A conditional palette is the way to go here - an old technique we used to call "Fred is red" :)

I suspect you will need to use a data item value rather than ParamDisplayValue('pMedia') in your expression. Something like [Media Type] = 'Chat' for the first colour, and [Media Type] = 'Call' for the second colour.

Cheers!

MF.