Report Builder 3.0, breaking out data field for Bar Chart - reporting-services

I'm using Report Builder 3.0 and trying to figure out if i can break out one datafield with the few values I need for my bar chart. The data looks like this;
[[44278,47411],[{"name":"$41,000/year goal","y":41000}],["",""]]
I want bar 1 to be the 44,278 value, bar 2 to be the 47,411 value and the 41000 to be embedded as a goal. I've attached a screenshot of how we have it working with other grid and charting products, but this is going to be embedded in a much more in-depth SSRS report. Any sort of help would be great as i'm new to the whole SSRS reporting system.

You can do this with a custom StripLine:
Right-click the vertical chart axis and click Vertical Axis Properties.
The axis properties are displayed in the Properties window.
In the Appearance section of the Properties pane, for the StripLines property, click the Edit Collection (…) button to open the ChartStripLine Collection Editor.
Click Add to add a new strip line to the collection.
Click StripWidth to specify the width of the strip line. If your goals will fluctuate, you might want to make it relative to your Goal e.g. =Fields!YourGoalField.Value/100
Set the StripWidthType property to Number.
Set the InvervalOffset value to =Fields!YourGoalField.Value.
Set the IntervalOffsetType value to Number.
More on StripeLines: http://technet.microsoft.com/en-us/library/dd239316.aspx
EDIT To get the Goal Label outside the Chart Area as depicted, we have to do a sort of hack:
Delete the StripLine Title as there is no way to get that outside the Chart Area.
Right Click the Chart and select Add New Title.
On your new Chart Title's Properties Pane
Set the Docking Position to Right Center.
Set the TextOrientation to Horizontal.
Adjust the Font style and color to match your spec.
Set the Caption Expression to =Format(Fields!YourGoal.Value,"$0,000") & "/year goal"
Here is where the hack comes in. In order to get the Goal label to line up with the Goal Line, you need to add a certain number of carriage return/line feeds to your Caption Expression. To do this, append & vbcrlf to the Caption Expression a bunch of times and keep testing until it lines up. You might also want to adjust the DockingOffset property to move the Label closer to the Chart Area.

Related

How can we extend chart legend in Foundry-Slate

In slate, chart widget have label option that display legend (color dot + label name) at some place of the chart (top, left, bottom, ...).
I notice 2 limitations with this legend on bar chart and I would like to improve them on my Slate apps.
1 issue: label are ordered in the order series appears on the bar chart (from left to right).
2 issue: when segmented and not-segmented data are stacked on the bar chart, label of not-segmented data have wrong color (even if we set series color parameter, and if we don't color attribution is random and change from one loading to the next).
For that reason I decided to produce my on labels in an HTML widget. I get a nice result just with a function that sort label and return a <div class="bp3-label" style="background:${labelColor};">${labelName}<\div> for each label. But I loose the interactivity (this is a convenient function of labels).
Is there a way to transfer this interactivity to my "custom label" and make click on this selecting all relevant bars on my bar chart?
I'm thinking to use slClickEvent and slClickEventValue props on the DIVs to push data relative to the clicked Label in a variable and to make the bar chart "selectedValue" property dependant of this variable.
Is it the best ways ?
Will the bar be highlighted in accorance with chart "selectedValue"?
You're on the correct track here - I often build custom chart legends in an HTML widget to have more control over the appearance and interaction compared to the native legend. If you search on your Foundry instance, you'll even find a folder of Slate apps that are examples of different HTML widget patterns, including one called HTML - Legend that shows some examples with custom CSS and Blueprint styles.
For the interactivity, I'd probably go with using custom HTML selection, rather than custom HTML click events, because with the custom selection, Slate will automatically add a selected class to whatever element you've added the selection to, which will make it easy to update the styling to reflect the selection.
Nothing would stop you from doing this with custom clickEvents instead, but you'd then need to also do some more work to reflect the selection status in the legend or else go without that extra affordance.
If you search your Foundry instance for Line Chart Series Selection with Custom Legend you'll find an example that shows exactly this. In that specific example, the Line "selection" is indicated on the chart by changing the line styling; with a Bar chart, you'd actually want to template (with Handlebars) the selection status of the chart in the </> panel. Then, when the user makes a selection using the legend, the chart will reflect that selection as if they'd chosen by clicking on the bars themselves.

report server (ssrs): how to handle long names on vertical axis

I have a chart built in Report Builder (MS Reporting Services), where vertical axe is categorical.
Label names of categorical axe is very long.
Is it possible to shrink the length of names for first 10 symbols and show full names when mouse coursor is over the names?
I don't think this is possible natively in SSRS but you might be able to get an acceptable compromise.
First click on the chart, so the config pane opens, click on your category group and then edit the label property to something like this
=LEFT(Fields!Caption.Value, 10)
(Caption is the name of the field containing the label that appears on the Y axis in my case)
Now that you have the shortened name showing you need to show the full name somewhere. Unfortunately, the group labels do not support tooltips but chart series do.
Click anywhere on the bar (but not on the data label) and then set the tooltip property to something like
=Fields!Caption.Value & " " & Fields!Amount.Value
When we run the report and hover the mouse over the 3rd green bar, we get the following...

SSRS Sunburst chart: is there an action option for inner ring and possibility to mimic a fisheye?

I have SSRS 2016 and I want to implement sunburst chart with possibility to drillthrough existing rings.
Basically I'm staring with 2 levels chart.
- for Series properties I set Go to Report action
- it does jump to inner report but only from outer ring
- no active cursor in inner ring appears - tooltip is shown only
Is there a possibility to achieve active cursor in inner ring(s)?
Another question is there some workaround to mimic a fisheye in the center of the sunburst chart, e.g. to go back to the parent report?
I tried to put a text box with action expression within, but it does not allow to overlay it with the chart.
I think your best bet is to add a new Chart Title to the chart and use the Custom Position properties to put it in the center of your sunburst.
Set the Custom Position's Enabled property to TRUE. Then use the Height and Width properties to adjust the size of the Title and the Left and Top to position it.
You could also use a Background Image on the Title to use instead of text.
The Chart Title will let you have an ACTION so you can create the link to go back to the main report.

SSRS stacked bar chart label position

I am using SQL Server 2012. SSRS
I have a stacked bar charts that includes interest and dividends. I would like to add the sum of these values to the area just above the stacked bar chart. I have tried adjusting various properties for the labels but I can't get the label position to be anywhere but the middle of the stacked bar chart. Any ideas how to get these labels to be just above the stacked bar charts?
I tried the solutions mentioned here and found them cumbersome compared to this gem: http://peltiertech.com/label-totals-on-stacked-charts/
Add a "total" to your dataset (in my case, a percentage)
Add the total series to your stacked bar chart
Change the total series chart type to a line
Hide the line and line markers by setting their fill color to none
Set the Total series to not show in the legend
Set the data point position for your total series to "Top"
Here is my result:
There is not a way to do this with settings.
Here are a couple of links that give you step by step instructions:
http://beyondrelational.com/modules/2/blogs/65/posts/11575/display-total-on-top-of-stacked-chart.aspx
http://social.msdn.microsoft.com/Forums/sqlserver/en-US/654f30c2-ad3a-4b4e-a34f-adf4db6b78d2/stacked-column-chart-total?forum=sqlreportingservices
Basically, the workaround is to create another series or category in your chart that is the totals (which requires updating your dataset to include the totals), make it transparent, and turn data labels on. The MSDN answer says to make it a line chart while the Beyond Relational article leaves it as part of the stacked bar. Either way will work.

Implementing Target lines, in SSRS column Charts

I have a column graph, that shows a trend of consumption over time,
The y-axis being consumption and x-axis being time in month,
I have to implement a target consumption.
I implemented a target, by adding data field with a Line chart type, this is a constant, and will just display a horizontal line.
The problem i am facing is, if there is only one month, the line disappears? is there a way not to have it disappear, or is there a better way to add line target in column charts in SSRS
I am using SSRS 2008
Adding a StripLine may do what you want. They are a little hard to find, but here is how:
1) Make sure that the properties window is open beforehand. If it isn't, either hit F4 or go to the View Menu -> Properties Window.
2) Left click on your vertical axis to select it.
3) Select the StripLines entry in the Properties Window and click the ellipsis:
4) Click Add
5) Starting off, the stripline is invisible, so it can be a bit hard to adjust. :). To make it visible as a thin line, set BorderStyle to "Solid". Adjust the color with BorderColor and width with BorderWidth (not StripWidth). While positioning the line, I like to set the color to something obnoxious and make it wide to make it easier to spot.
5) To position it, you want to set the IntervalOffsetType to match the type of your interval you have set on the vertical axis. Then IntervalOffset to the y-value of where you want your target line to appear. Since you only want 1 line to appear and not repeat, you must keep Interval set to auto.
6) Once you get it positioned, make final adjustments to the appearance.
I had a hard time finding it for my Databar. I stumbled onto this...
Make sure Properties toolbar is visible
Click the Databar to highlight
Find ChartAreas in properties toolbar, click to open ChartAreas dialog
Find ValueAxes in ChartAreas dialog, click to open ChartAxis dialog
Find StripLines in ChartAxis dialog, click to open ChartStripLine dialog
I was playing around a little earlier, and i noticed that i can change the interval for the major and minor gridlines, AND change the format for the lines. I had the bright idea of making the minor lines look like the major ones i had and format the major lines to look like a target line. I don't know if this'll work for you buy you could try it.