I'm new at SSRS and I'd like to do a special chart
So I have some data, one is my sale target and the other one is my current status by stores
So I'd like to do a chart like a stacked column but not with the sum of values like it's the case but something similar to a gauge, I can do a gauge that I put in a table but I'd prefer to have everything on a similar chart like stacked column,
So I'd like a stacked chart with similar column:
I also like to be able to change the color of my column if my current status exceed my target
Any idea of how could I do that?
Below is my design:
My data structure:
I insert a Chart(bar chart)
Then I click [amount] series to configure it, you will get result like below(if you think the target column is overlapped by amount column, you could change target column to line type)
Zoe Zhi
Related
I have a report group that currently looks like the image. It has row groups as follows:
It grouped in order like this:
Department
Agent
Year
Month
I have removed the columns with department and agent and year. I would like to put the agent and department above the column headers which repeat on each page along with the agent. I tried putting a row above the headers but you can't merge cells when adding a row above there and agent + department is very long. What I want is shown in 2nd image..I put the expression in a text box in the page header but it just repeats the first value on each page and not the actual value.
How to do? I want it above and not beside to save horizontal space.
Check these previous answers of mine. If they don't help, post the report design including group properties and I'll see what I can do.
Grouping in SSRS?
Repeat Row group on top of table as table headers between every groups in SSRS
I am looking to change the color in the "gaps" in the range chart that I have built.
Essentially I am trying to build a visualization for the staff to see the availability on bays. The red markings mean the bay is booked, I wanted green then to be in between the red to highlight free bays.
Occupied bays:
I suspect I need to go back to my dataset and add in some date tables to show "null data" to allow a "switch" to work, but I thought someone might know if I could change this without going this way.
An example of the dataset would be:
Following up
here is a screen shot of my output, i added data labels to see if i was going wrong...HOWEVER I also added shadows to my data and my data is actually still there, just hiding behing my secondary bars......
you are right about my data set, i had to add a series grouping to get my appointments all to appear other wise i was just getting the first appointments on the row only to appear....
Following up 2
A further follow up, I have followed #iamdave 's excellent RangeChart.RDL
I have applied my dataset to it but I am now getting the following output, I know I am probably missing something simple, my gut is telling me the cust_id are seperating all the appointments on to seperate lines yet I have both the primary and secondary axis set to "DrawSideBySide = False"
Here is my set up..
here is my latest output, if I could just group all the rows/bars/lines down to the 6 bays it would be great.
You can do this by adding in another data series based on your original dataset, that will require significantly less processing than filling in all your empty periods as suggested by WEI_DBA.
In your dataset, add a new column that returns dense_rank() over (order by BAY) as BayID (order by should be your desired axis label).
This may be best done as a wrapping select statement to preserve the rest of the query logic as is.
In your Range Chart, add in another Values item, with the same Category Field as your current one.
Set the Top Value to 1 and your Bottom Value to 0.
You could also set this to the min and max time of your dataset or the start and end period of your report to only cover the period the Bay was available.
Set it to display on the Secondary Axis for both Vertical and Horizontal axes.
Also select the Do not show this series in a legend option.
Set up the Secondary Vertical Axis in exactly the same way as your Primary Vertical axis.
Set the Secondary Horizontal Axis Minimum and Maximum to the same values as your Bottom and Top above.
Hide both the Secondary Axes.
Select the new Values item and in the Properties window, expand the CustomAttributes section and change DrawSideBySide to False.
If necessary, adjust the order of the Values items in your Chart Data window to make sure the new Range Bar displays underneath your actual data.
Select the original Values item and in the properties sidebar navigate to Data > DataPoint:
Change AxisLabel to =Fields!BAY.Value (Your axis label).
Change Values > X to =Fields!BayID.Value (Value from point 1.).
You should now have a range chart that that displays your data on top of a solid bar, that you can set to any colour you require:
I have a dataset like in the image below. I have used a Matrix in SSRS to unpivot the data.
What I have is like in the second image below. You will notice that percentage columns are at the far right. But what customers want is the name of a product followed by it percentage as seen in the last image. How do I accomplish this?
Add a blank tablix to your report, drag the agent field into it and go to row groups and add a group. Group it by the field agent. Now add next to the agent field in the tablix your phone field and afterwards the percentage field. Now your data is grouped by agents like in your image and the fields are were you placed them.
![enter image description here][1]I am trying to achieve column visibility based on group name. As you will see in my picture that I have displayed data based on my group name which are leakcheck, evac, pressure. I have used code below in advanced mode in the column properties for column 2 (temp 1), when i used this code my column 2 disappeared for all the phase_type instead of just phase_type 2 and I have checked this forum for corrected answer but no luck. I have tried just selecting that temp 1 column and using the same code below. This makes my temp 1 column disappear but leaves a gap between (white space in between) column phase_type column and temp 2 column for evac name group. Please help
=iif(fields!Phase_Type.value = 2,true,false)
http://i.stack.imgur.com/8o0hi.jpg
If you have a top level group that fits most grouping options then you can use something similar to ColumnVisible=Parameters!FilterGroupLevel.Value<4 and have a scheme for grouping here.
I have a problem with page breaks in an SSRS report, and I'm by no means an expert. This is in the XML mark up to provide a page break:
<TableGroups>
<TableGroup>
<Grouping Name="AdjustmentPageBreakGroup">
<PageBreakAtEnd>true</PageBreakAtEnd>
<GroupExpressions>
<GroupExpression>=CInt(Ceiling(RowNumber(Nothing)/28))</GroupExpression>
</GroupExpressions>
</Grouping>
</TableGroup>
</TableGroups>
The page break appears on different lines on the print and screen version of the report:
Print:
Screen:
As you can see, the print version has a break in the middle of the "Transfer IN" cell, with "Value" on the next page after the break. From what I can tell from the XML, it's got a hardcoded page break at row 28, and if I change this number it fixes the print version and breaks the screen version. Is there any way to specify this line break differently for print and screen?
The solution to this issue is the rectangle component. Based on your image, I am assuming that your report has a table that is grouped on location. For each location you are reporting on Number and Value. Column 1 has the location name, Column 2 is the label and Column 3 is the field values.
Create a new table (TABLE A). Set the table to group on Location. In the group footer, add a rectangle (RECTANGLE). Set the Keep Contents Together property of the rectangle to TRUE.
Add a table to the area of the rectangle (TABLE B). Do not add a grouping to TABLE B. Add to the details row of this table Column 1, Column 2, and Column 3 formatted as it is in the existing report.
When the report renders, each group will be kept together and the rectangle will force page breaks between the groupings.
The solution above works for SSRS 2008. The solution below is similar and works for SSRS 2005.
Create a new table (TABLE A). Set the table to group on Location. In the group header or footer add a table (TABLE B). Do not add a grouping to TABLE B. Add to the details row of this table Column 1, Column 2, and Column 3 formatted as it is in the existing report. On the TABLE B use the Fir table on one page if possible option.
You can solve this problem by using few small steps:
1-Go to report properties and set paper size to custom. The width and length is to be as such, that it will show all column :
2- Then set the Body Property like same :
Now View the report and download in any PDF/Any format it will not break:
Make sure the interactive size and the page size are the same. You also have to set the margins so that the print version prints properly.