I'm trying to fix a RDLC report chart to show only integer intervals in Y axis (values axis).
The problem is, as soon as values get small, like [1, 2, 4, ...], the axis intervals starts showing decimal values between the whole ones (i.e. it goes [0.5, 1, 1.5, 2, etc.]). Values them selves are calculated as count(x), so it always is an integer value. How can I remove the decimal intervals in the values axis labels?
The report is defined and edited through Visual Studio 2012 native report editor tool and/or XML definition. So I would love to see how it can be changed through that tool or straight up XML properties.
I have found that it is possible to right-click the axis and assign properties to it. But in the end, it seems it isn't possible to achieve what I need through these tools, while keeping the intervals relative to the maximum value. I would have to count the interval externally in the code and pass it as a parameter. Otherwise - no matter what, as soon as the numbers get small enough (with max value at ~ 3-5), the decimals appear.
Related
I'm not sure this is possible but thought this was the best place to ask.
Is it posible to get the position of a series value on a graph in excel?
For example, if I have a line graph in excel that has time along the x axis, is it possible to (using VBA) get the position of a specific point on that axis.
What I am trying to do is have a vertical line that is can be positioned based on a date entered by the user.
like this
Where the green line could be positioned by entering in a date (rather than just being manually moved) (or also it could be set to automatically move to the current date etc).
I was then thinking that if the position is on the graph is queryable, then I can just access the line object and move it to any position I wanted through VBA.
Any Ideas? or is this just not possible?
The "cleanest" way to do this is to add the line to the chart as a new series. In that way, Excel handles all of the positioning and your work is simplified. To get a vertical line on a chart, there are a number of options. I prefer this route:
Create a small 2x2 area with two dates and two values
Add in the date or x-axis value you want the line at (E3 in image). You can use =TODAY() here or some manually entered value.
Set the second x-axis value equal to the first
Use MAX and MIN on the data to get the values for each date. You can also use 0 and 1 and a secondary axis, but I think MAX/MIN is easier.
Add the data to the chart and format as a marker with straight line.
Formulas
E3: =TODAY()
E4: =E3
F3: =MIN(C3:C27)
F4: =MAX(C3:C27)
Result and chart data series for vertical line
I've been fiddling with a chart... I set the X axis minimum value to zero. Then I used DataBindXY on the Chart.Series.First.Points to set the values passing two lists (first is a 0-based label list and other has the actual values).
Below is the result. As I highlighted by the red arrow the first column is truncated.
Microsoft made traversing the settings of a chart in the designer as simple as getting out of a maze, so I'm clueless about where to find some offset property to be set.
Edit:
Mine could be a possible duplicate of this question, but its answer is not clear to me, so I asked a new one.
If you set the X axis minimum value to -0.5, that should solve it.
GraphChart.ChartAreas[0].AxisX.Minimum = -0.5;
or try something like:
GraphChart.ChartAreas[0].AxisX.IntervalOffset = 0.5;
The reason is that the columns width is approximately 0.8 depending on the chart configuration so in your case they might span from 0.4 to 1.4, with a center point in 1
In the following LabView diagram:
The waveform I get looks triangular, but I am expecting it to look more like square pulse waves. How can I change the time axis to display in milliseconds instead of seconds?
You can change the display of the x-format to %<%3u>T, this is selectable from the properties.
This however will add a decmal sign to the timestamp.
I don't think you can, but you can change the display format of the X-axis. Right-click on the indicator, select Properties and, on the Display Format tab, set the type to Floating point, Digits to 3 and Precision Type to Digits of precision. Then, double-click the 0.1 on your X-axis and set it to 0.001. You can make the X scrollbar visible to be able to see the whole graph.
You also appear to have missed the point on the selected frequency and width indicators in another post. You don't need them; you can make the Digital Display visible.
I am using SQL Server Reporting Services 2005 - I have created a portrait A4 report 8.5in by 11in.
The report consists of a header, body and a footer.
The body consists of a number of textboxes in a 2 column layout and underneath them a matrix placed onto a list.
The matrix consits of 2 fixed rows (with 1 fixed textual column in the top row and 2 dataset field columns in the bottom one) and a number of columns (each with a width of 0.875in and data taken from different dataset fields). I use the group expression =Ceiling(RowNumber(Nothing)/5) on the list, to make the matrix columns start below the previous ones every 5 repeated columns.
The problem I am facing is that a blank page (with only header and footer) is appearing between every page of report data when I export the report to PDF or print it physically, if the matrix spans more than one page of data. There is plenty of room for the columns of the matrix on the page. I have tried the following, but to no avail:
1) I checked that Page Width (8.5in) >= Body Width (7.20833in) + Left Margin (0) + Right Margin (0)
2) I checked that Page Height (11in) >= Page.TopMargin (0) + Header.Height (2in) + Body.Height (6.60417in) + Footer.Height (0.89583in) + Page.BottomMargin (0)
3) I played around with various margin values, ranging from 0in to 0.5in for the left, right, top and bottom margins.
4) I set all textboxes' CanGrow property to false. This also has the undesirable effect of chopping out the text when it cannot fit, but even so, the blank page problem still occurs.
5) I placed the list and the matrix together in a rectangle with the blank space (to the right of the matrix) outside the rectangle.
The only thing that stops the blank pages from appearing is changing the list grouping expression to =Ceiling(RowNumber(Nothing)/2), i.e. make the matrix start a new "table" every 2 repeated columns (rather than 5). This, however, I do not understand, as there is plenty of space for 3 other columns to their right and it is odd and untidy to just put 2!!
I would greatly appreciate any help in this!
Thanks in advance!
Tim
For anybody who is having a similar problem in SSRS 2008, I found the only way to fix this was to set the property named ConsumeContainerWhitespace on the Report itself to true.
In my case the issue was that the matrix on the page was narrow in design mode with a lot of whitespace to the right. When rendered, the matrix was rendered much wider (due to the data) but the renderer would also include the whitespace, causing the report to be much wider than the actual page.
If you set this property, the extra whitespace does not get rendered.
If I understand you correctly I've solved this problem before. The matrix claims extra white space, the solution I used is as follows:
You need to consume the white space.
[-------page width------]
[matrix][-textbox hack-]
I think you can set the textbox to be invisible
Note: When I attempted this in 2005, it only worked when the invisible textbox spanned the entire line.
I have a SQL Server Reporting Services (2008) chart (error chart). The X-axis has date intervals 1/1/2009, 2/1/2009, etc. The Y-axis has numeric intervals of 50. Values on the Y-axis are 0, 50 and 100. However, instead of displaying 0, 50 and 100 i would like to display "Small","Medium" and "Large" respectively. Does anyone know how this text replacement can be performed?
This is a bit of a hack, but here goes:
First, normalize your values around zero, so the smallest value is -50 and the largest value is 50. You can do this in the chart control itself, no need to change your dataset. Your values are between 0 and 100, so just subtract 50.
Next, under value axis properties -> axis options, set your minimum to -50, maximum to 50, and interval to 50.
Finally, under value axis properties -> Number, select Category as "Custom" and enter this in as the custom format expression: ="Large;Small;Medium"
(that's an excel format code: pos;neg;zero)
You should get something like this:
alt text http://img44.imageshack.us/img44/9011/chartz.png
According to Arbitrary Label for Y axis in SSRS Charts, you can achieve the similar effect by using strip line collection. See How to: Highlight Chart Data by Adding Strip Lines.