I need to develop a dashboard that will be displayed in a flat screen hanging from the wall. Not on a PC (of course, behind the cabinet or something there is a PC, but I mean, without any user involvement).
But the info to display does not fit a single screen, so I need to have 4-5 screens sliding / rotating with the info.
Is that something that can be done using SSRS 2008?
If yes, how?
If not, do you have good free/low-cost suggestions?
Thanks.
Create the 4/5 'screens' within their own Rectangle in the one report
Set the AutoRefresh property of the report to x number of seconds you want for the rotation to occur.
Based on the AutoRefresh length you have set, set the visibility of the various rectangles based on a formula.
Example
Set AutoRefresh to 15 seconds
We will assume you have 4 rectangles/'slides'
Therefore, each slide will be shown once every minute
We set the visibility of each rectangle independently using an IIf() function and testing the current time with the Now() function
Rectangle 1
=IIf(Second(Now()) < 15, False, True) the rectangle will show if the AutoRefresh occured during the first 15 second block of the current minute, all other times during that minute it will be hidden.
Rectangle 2
=IIf(Second(Now()) >= 15 AND Second(Now()) < 30, False, True) the rectangle will show if the AutoRefresh occurred during the second 15 second block of the current minute, all other times during that minute it will be hidden.
Rectangle 3
=IIf(Second(Now()) >= 30 AND Second(Now()) < 45, False, True) the rectangle will show if the AutoRefresh occurred during the third 15 second block of the current minute, all other times during that minute it will be hidden.
Rectangle 4
=IIf(Second(Now()) >= 45, False, True) the rectangle will show if the AutoRefresh occurred during the fourth 15 second block of the current minute, all other times during that minute it will be hidden.
Other combinations can be done for the IIf() looking at the current Minute() or current Hour(). The Mod() function could also be used to show things every say 5 minutes as well.
I don't think you can do this in SSRS 2008 on it's own. However you could simply render you report pages as images and then use a free slideshow tool (picasa is good but there are lots available) to play a slide show of the images.
Alternatively you could put together a webpage to rotate the images but I'm taking the easiest, least technical route here.
If the data needs to be 'live' then you could create a subscription to run the report(s) every xx number of minutes or whatever you need. Set the output type to TIFF and use a windows file share as the delivery method. You can also get it to overwrite existing files, so you'll end up having 4 or 5 images being overwritten every xx number of minutes.
Of course there are much more elegant ways of doing this but if you want to use SSRS and want it cheap and cheerful then this is at least an option.
Good luck!
Al.
Related
I'm looking for a pop-up alert that will trigger whenever a candle of a certain size occurs on any chart. I'd like it to be customisable and based purely on pip size ie. not relative to previous candles, averages, etc. I'd like to be able to set up multiple alerts on the same chart based on different pip sizes eg. an alert for a large candle (eg. 30 pips) and another alert for an extra large candle (eg. 80 pips). It seems simple but I'm not a programmer - is this something that has already been created..?
Good day. Faced the problem with the back drawing of the graph using syncfusion_flutter_charts (if necessary). If I need to build the values in front, then there is no problem:
chartSeriesController?.updateDataSource(addedIndexes: [...]);
But how to do it behind? The point is that my data is a date:value pair (x: date, y: value). And I display only the latest data, for example 7 days, 30 days. But if the user wants to see the previous results, then he need to scroll to the left and be able to see the previous days and their values with the same detail (7, 30 days). As far as I understand, I'm satisfied with two solutions, displaying all the data at once, but from a certain index and the number of days at a time with the ability to scroll left and right, and gradual rendering, for instance the user will move with +1 & -1 value. It is also important that the detailing of the chart is chosen not by movements on the chart, but in the menu (I have it implemented). Thanks for your suggestions.
I have a question about iOS Charts by Daniel Cohen Gindi here. The figure below shows my full dataset drawn out as a scatter chart. With the x-axis labels going from January to December (let's say 2018), and then again January to December (2019).
The problem is that I don't want to show all data in range, but just in the past six-month range, July-December, as I want the scatter chart view to look like depicted below. (Note: assume the right-most data point is today.)
I want the user to be able to scroll right to see more data points in the past. I've tried this Swift code below but it would "lock" the x-axis to show July-December, and the user can't scroll right to see past data:
#IBOutlet weak var scatterChartView: ScatterChartView!
scatterChartView.xAxis.axisMinimum = 17.5 // + or - 0.5 for padding
scatterChartView.xAxis.axisMaximum = Double(months.count) - 0.5
And then I would try this code below but it would initially show data from the first 6 months, January-June of 2018. However, the user could scroll left to see the later months.
scatterChartView.setVisibleXRangeMaximum(6)
Close but not quite. Is there any way I could show data from the last 6 months upon loading the scatter chart, and have the user scroll right to see past data?
I found the answer!
scatterChartView.moveViewToX(17.5)
Per documentation, moveViewToX(float xValue) – Moves the left side (edge) of the current viewport to the specified x-value. The view port refers to "what is visible on the chart, aim of the view).
Upon chart loading, the viewport is initialized showing the most recent 6 months, and I can scroll right to see past data.
I am trying to add a scrollbar (a slider) to a fixed-height figure. There is a panel inside the figure and on the panel, there are multiple plots. The panel is longer in Y direction than that of the figure so that the slider will be necessary to see the hidden plots. I've created it and it is sort of working: showing the plots as the slider moves up and down.
The reason why I said "sort of" is because I couldn't understand the slider behavior with respect to its Min, Max, and SliderStep.
What I want to do is as follows:
Say I have 10 plots
The figure height allows only 6 to be shown (plot 1 through 6)
I want the slider size to be 6/10 of the figure height
So that it only takes one click (down arrow) to see the rest of the plots, but this time plots 5 through 10 will be shown
If I have 18 plots, then it should take two down-arrow clicks to see the last set of 6 figures and the slider size should be 1/3 of the figure height
I searched and searched for hours today, but I couldn't even find a good documentation on how to use Min and Max in conjunction with SliderStep. All I could find was a comment that says "if you play enough with them, you'll get the size the way you want". So, I played with them for another hours, but its behavior just doesn't make sense.
I've a dynamic timeseries chart to which some value is added every 20 seconds. I want to set the width of the plot to something like say 30 minutes so that my chart starts showing a "30-min canvas/plot" starting from the left hand side until it fills up the whole plot. After every 30 minutes, I want to clear up the old data and only show the latest 30 minutes data which means at any given point of time, my chart will only show data of latest 30 minutes. I've already created chart and its working great except that the starting domain range gets fixed to the point from where it started even after couple of hours.
Get upperbound after 30 minutes, then set lowerbound to the upperbound and the new upperbound to the old upperbound+30minutes?
http://www.jfree.org/jfreechart/api/javadoc/org/jfree/chart/axis/ValueAxis.html#getUpperBound%28%29