I am a n00b on WebI.
Could somebody please tell me how to do alternate row shading in a BO CrossTab.
Thanks
You don't say what version you are using, but in XI R2 and above it is automatically applied to a block. To manually apply it, select the block (dotted border around the entire crosstab), then in the properties under Display, is a set of options called Alternate Row/Color. Specify the colour for the non-white rows, and the frequency tells XI how often to apply the alternate colour.
In previous versions you can create a new variable with the following code:
=Mod(LineNumber(),2)
And then add an alerter to the crosstab to set the background colour to your alternative colour whenever this variable equals 1 (i.e. for odd rows).
I'm creating a web intelligence report in BO XI 3.0, I need to create blocks with a required alternative colour(239,239,239) in the rows. When i try to change the default colour (240,240,240) of non-white rows to any other colour, the colours are applied to all the body cells in all rows of block. I checked the frequency aswell, it is set to 2. But i'm not sure why is this issue..??
Related
My company has reporting standards that require the lines of a table to alternate in color for readability purposes. I know how to do that, however the latest report that I am working on has conditional visibility on each line.
What happens is that the alternating background color gets applied to the table before the visibility condition gets checked, leaving a the report with no pattern of background color to speak of.
I have searched for any kind of setting to change when certain property expressions get applied to a table. There doesn't seem to be one.
Any assistance would be greatly appreciated!
This article deals with the RowNumber function in SSRS. It contains an example of alternating row colors in the Tablix.
https://learn.microsoft.com/en-us/sql/reporting-services/report-design/report-builder-functions-rownumber-function?view=sql-server-ver15
=IIF(RowNumber("GroupbyCategory") Mod 2, "White", "PaleGreen")
I found the solution here:
https://social.msdn.microsoft.com/Forums/sqlserver/en-US/8365ca9b-7a50-4024-a706-4516ed12c038/how-to-maintain-alternating-row-background-colors-while-making-blank-rows-invisible?forum=sqlreportingservices
Instead of applying the formatting across all rows, I only apply it using the same visibility conditions that hides the rows in question. The example in the link uses blank rows where I will use some extra logic instead.
I am developing a multi-grouped report. Base on the level of a group, I am to set the bottom border width to 2pt else 1pt. I only know how to set the default for all groups. I have googled and tried various expressions but unable to get around the requirement.
An example of what I want to achieve is shown in the image below
I would imagine you could evaluate the scope on a group and set a row(s) bottom border accordingly.
If you right-click a row I assume you could apply the following in an expression:
<For the Border.BorderWidth.Bottom property of the detail or row group>
=IIF(Level("MyGroup")=0,"1pt","2pt")
The answer by Ross Bush seems to be correct. Though I would use Choose as it gives more options should you need more width.
I've used 10pt and 20pt so the difference is easily visible for this example.
I'm using interactive sorting on multiple columns and would like to change the background colour based on the column being sorted rather than just the little arrow indicator. Does anyone have any ideas?
Thanks
There is no way you can change colors while you do interactive sorting. Instead you can try the conditional formatting in SSRS.
It's possible to use the Previous function in a cell's BackgroundColor, but it's not a perfect solution. The following will shade most of a column pink if ascending and green if descending - however the first data row can't be controlled this way (since there's no Next function), and the column will have varying colours if it's sorted by a separate field.
=IIF(IsNothing(Previous(Fields!NUM.Value)), "White",
IIF(Previous(Fields!NUM.Value) > Fields!NUM.Value, "LightGreen",
IIF(Previous(Fields!NUM.Value) < Fields!NUM.Value, "Pink",
"White")))
This is as close as I've managed, so I suspect Ajith is correct.
I am using Telerik Reporting and creating reports with Report Designer.
What I want to do is set fixed colors for specific series elements.
For instance, in a monthly financial bar chart, if the series is Company, I want to set ElectricityCost as red and WaterCost as Blue all the time. The problem is that not every bar has all types of the cost, and for a specified time range, not all types will be included, which causes that the color legend varies.
I've tried some approaches but failed.
Is there anyone who knows how can I achieve this goal?
Finally I find how to set the color for specific series.
The data points' color can be set by using the Graph.Series.BarSeries.DataPointConditionalFormatting property.
The legend markers' color can be set by using the Graph.Series.BarSeries.LegendItem.MarkConditionalFormatting property.
Besides the color, other styles can also be set so that for a certain series, the style will not change even no data is displayed after the filtering.
I have created a bar chart that shows values on data labels.
The Data label is placed outside the bar
But in some cases the label appears on the bar where the bar is too long.
In this scenario I would like to conditionally change the font/colour of the data label so that it's more visible.
However I can't see a way to dynamically determine where the label has been placed.
What I can think of is this. You can change the background/font color of all those series labels who's value lies in the range of 95%-100% of the maximum "Value". To be exactly precise as to what should be the threshold to change the bg/font color seems a daunting task, but you could play around with test data.
For writing the expression to change the font color,I would first change the dataset and add a column on the lines of PercOfMax. This column can be calculated easily in the dataset by using basic aggregate functions.
Then you need to go to the Chart Series Label properties-->Color and write the expression on the lines of -
=IIF(Fields!PercOfMax.Value>=95, "YELLOW", "BLACK")
As I said, you might need to do some more research to finalize the value of this threshold(which I am assuming to be 95).
Another solution to this problem is to use fill colour of the label and set its background to a bright colour (e.g. colour), and leave the font colour of the label black. Thus you can always see the label, and there is no difference when it's outside of the bar.