I have an issue here with a column operation. I have 2 DrillDown s for this particular Table.I have a column which returns 1 (Flag) on a particular date. This is the detailed row.
Now , on top of the flag at the second level i do SUM(Flag) and returns "RED" if it is above 3. Now on the first level I want to create another Background change to "RED" if the value of SUM(Flag) at the second level is >3 or
Change color at the First level, if the textbox color of SUM(Flag) is "RED"
Can you please help me out on this.
Thank you
What you need to do is add a grouping reference to your SUM expressions. For example:
=iif(SUM(Fields!Flag.Value, "FirstLevelGroup") > 3,"Red",Nothing)
This allows you to control which scope you are referencing with your sums. Make sure you modify this to match the name of your group, which is at the bottom of the screen. Also make sure you place this expression in BackgroundColor field, not in the textbox itself.
Related
I put a table and a textbox in the body area.
There are three columns in the talble, ItemType, ItemId, ItemName
Page breaks when ItemType changed.
The expression of the textbox is "=First(Fields!ItemType.Value, "DataSet1")".
Set RepeatWith property to "Talix1".
When Report runs, in the 1st page, the value of the textbox is "Green" .
but 2nd page the value is still "Green". In fact I want to see "Red"
What should I do to change the value when page breaks?
thank you for your help.
Report Design Result
Because the text-box is currently outside of any data-set context, the value will not change. The expression is grabbing the first value in the data-set each time. Changing the page will not change the first value in the data-set.
You are going to have to put your text-box, and table, inside a List. Once that is done, set the group properties of the List to group, and page break, based on item type (ItemType). You can set these from the context menu you get when you right-click the Details for the List in the Row Groups pane, and choose Group Properties.
You can remove the grouping from the table since the List will handle that now.
By doing this, you now have your text-box in a data-set context. The expression for the value of the text-box can be changed to something like the following.
=First(Fields!ItemType.Value)
The scope is no longer needed since that too is set by the List.
Hope this helps you out.
I have made a matrix report in SSRS with two column groups. I have added one of the column group also in the Row groups to use page break so I can have each column group on a separate page.
And you see in the following pictures the preview of what has happened with the output.
Page One
Page Two
You see that the page break has worked but it doesn’t hide the other column that shouldn’t be present.
Does somebody has a clue how to fix this?
I don't think just adding a page break will hide the column group's visibility. In SSRS, you can set visibility of a column group based on a condition. Right click on the column group, select Group Properties, Select "Visibility", and "Show and Hide Based on Expression".
You could set an expression based on a field or parameter value. For example, if a parameter value is such, the visibility is true, else false. Example:
=IIF(Parameters!"PARAMNAME".Value.Equals(value),false,true)
I would think in your case, if some a field was null or blank, hide the column group. The page break will take care of itself.
I have solved it with the list object in the toolbox.
I have put the matrix in the list and used a page break on the list.
I have a table that is sorted by Main Tank and would like to make the first row of each sort (where the name of main tank switches to a new tank) to be grey. So if you have 10 rows with only 2 tanks you would have two lines of gray, the first for each new tank. I though I could possibly use RunningValue for this but haven't been able to get that to work. Any suggestions on a function or method I could use for this?
I think you can achieve that checking if the current value is equal to the previous, in that case you set the background-color the color you want.
I've used this table to test.
Select the row, in Background-color property use this expression:
=iif(
Fields!Tank.Value=previous(Fields!Tank.Value),
"Transparent",
"Red"
)
Replace "Red" for the color you want.
It will produce something like this:
Let me know if this helps.
Add a partitioned ROW_NUMBER() to the dataset and use it in the background color expression for the row to set the color to gray when the row number = 1.
I have an Access 2007 report with a control based on a lookup field which has a list of values. The field values are strings:
0. Late
1. Critical
2. Urgent
3. Normal
4. Low
5. Closed
6. Draft/On Hold
In the conditional formatting box, I use:
Field Value Is equal to "0) Late"
and choose a different color background and text color. This should conditionally change the background and text color of the textbox when it's value matches "0) Late", however instead of showing up as expected, the report simply doesn't print that value.
Access help says "When you apply conditional formatting to a lookup field, the condition must be based on the lookup ID, not the value returned by the lookup field."
I'm not sure what it means by Lookup ID. Is that a number based on the position in the lookup value list? I've tried using 1 instead of 0) Late, but that doesn't work either.
The fields in the report were set with background "Transparent"; the backgrounds needed to be set to "Normal" for the fill colors to show up.
What i have is a 3 group report, what I want to be able to do is if the sum of textbox145 (which is on group2) is >= make the entire background color DimGrey of group 2. I know how to change the entire row color, however, I am unable to figure out how to do that total of that group based on the data of that groups sum
Thanks!
answered my own question...
=Iif(ReportItems!textbox145.Value >= 10,"DimGrey","Silver")
The Sum function can use a scope argument, so set your background color to:
=IIF(SUM(Fields!FieldNameforTB145.Value, "Group2Name") >= 100, "LightGrey", "Transparent")
The "Group2Name" in there is the magic bit that will give you what you want. This can be set to any parent group name that contains the current data element, but can't be set to a child group. (Which instance would the item use in that case?)