Repeating Map in SSRS? - reporting-services

I have a tablix in which I've inserted a chart that repeats based on the tablix row group. This effectively displays a separate chart in the report for each row group. I've scheduled this to run daily and it emails off as a pdf.
I'd like to so the same thing with a map but continue to run in to performance issues both in design and when running on the report server. In visual studio, it's just painfully slow. On the server, if I schedule it to run, I get status "Error: Thread was being aborted" after a half hour or so of running.
I'm not sure if the issue is related to my spatial data (a "Top 2" works ok), my use of Bing road maps as a base layer or something else. The spatial data I'm using is in a SQL Server 2012 table. Lat/Long data is reported from multiple sensors daily. I've created a view to aggregate the data by sensor for the previous day and built line geometry field from the lat/long pairs. The source table has ~115k records and my view returns ~90 records with 5 fields, one field being the geometry field. The dataset in my report is doing a select * on the view.
I've tried with/without the Bing layer. I've tried adjusting SimplificationResolution property (which I've not located what the units are to even guess what a reasonable value might be). I'm not sure what else to try. I would appreciate thoughts or resources that might get me on track.

Per #Alan Schofield in the comments, placing the map in a subreport and placing the subreport in the tablix resolves the issue.

Related

How to fetch data in a Single SSRS report using Multiple Dataset

I was trying to create SSRS report with a country map and a table. Country Map for showing total Number of Cases state wise and a table to show the total number of Cases in the whole country on the Top Middle side of the Report. Both (Map and Table) Using Different Datasets.
When I run the report to preview the data, It gives me an error:
The Endvalue expression for the map uses an aggregate expression without a scope. A Scope is required for all the aggregates used outside of a Data region
However, I have also tried to use the first dataset to calculate the Sum of all cases in the country.
But it shows the data in the table state wise not the Complete Sum.
=Sum(Fields!Total_Cases.Value)
I have read some issue similar to this topic but unable to implement them.
For displaying total cases in the table I have also mention the dataset name but not getting result.
=(Fields!Total_Cases.Value, "Dataset2")
Please suggest the correct way..

SSRS - filter existing dataset

I have a report that uses parameters. The default parameters are defaulted to contain all available values, so by default the report the contains all possible data.
I want the user to then be able to deselect some of the values in the parameters, and to refresh the charts in the report, so they can drill down to the data that interests them.
But each time the report is refreshed, it runs the query again, slowing down the process.
Is there a way to allow the user to filter the data in the charts, without re-running the query?
I did find this, but it seems that he also didn't get a solution, or I didn't understand how the solution would work.
http://social.msdn.microsoft.com/Forums/en-US/0f905bdb-b8f2-4d9d-ac5b-e85d2f94f0cf/textbox-action-to-filter-existing-dataset-rather-than-rerun-query
To keep the query from running again, two high level steps must happen:
1) Make sure that your filters(parameters) are not included in the query. The query needs to be identical, no matter what the user has selected for a filter. This is done by moving the filters into the report. You can set them up as the filter on the tablix or on the row groups that are displaying the data.
2) Set up caching for the dataset. The easiest way to do this is by pulling the data set out of the report and create a "Shared Dataset." when you upload that to SSRS, define the dataset caching: maybe set it to last an hour. Connect the report to the shared dataset as well.
The full details of this can fill an article, such as http://www.mssqltips.com/sqlservertip/1919/how-to-enable-caching-in-sql-server-reporting-services-ssrs/ (for an old version of SSRS, but these concepts haven't changed much.)

Creating snapshot reports when subreports require parameters?

My situation is this - I'm using SSRS to create a "cascading" report set. The top-level report pulls all of the data from a table that capture our deployment/release activity. This data includes the property that executed a release, the organization to which that property belongs, the scheduled and actual start and end times of the release (and its constituent deployments), etc., etc., etc., and in the report I aggregate the data by time windows (Fiscal Year, then Quarter, then Month). So, at the top level, the user sees a report that shows how many deployments and releases we executed, how long they were expected to take, and how long they actually took, over the last twelve months, grouped, again, by Fiscal Year, then Quarter, than Month.
Now, the next level of detail the user wants to see is for a given month. When he or she clicks on the link to run that particular sub-report, they now get the same information (number of deployment, number of releases, scheduled and actual durations, etc.) grouped by organization, for that particular month.
Here's my dilemma - the initial report takes a LONG time to render. I would like to create snapshot report to reduce this render time, but my sub-report uses the Month from the top-level report as a parameter. In other words, when I click on the link to the sub-report, the Action setting in SSRS says to use the Month that I clicked on as a parameter to generate the sub-report, and the query in the sub-report filters off of that parameter with the following query condition:
AND FiscalQuarter IN (#Quarter)
So, the reporting works fine, but I am wondering - is there some way that I can get ALL of the data, for ALL quarters, into the sub-report in a snapshot report, and then just generate that snapshot but filtered out for the quarter value that I pass from the top-level report as a parameter?
yes you can, by creating a snapshot for sub report for all values.
and the parameter defined on the subreport should be a dataset filter not a query parameter .
Now when you pass parameter from main report to subreport , it will filter it accordingly on the sub report snapshot without having to execute the costly sql
Alas, reporting services does not provide what you need. Caching reports will create a cached version of the report per distinct combination of parameter values, and a similar situation holds for cached datasets.
You have roughly two options left it seems:
Use a cached dataset, have the subreport use the cached dataset but only use the parameter to filter the data once it's retrieved (e.g. in a tablix)
Resort to a more database-oriented caching-like or performance enhancing strategy such as for example indexed views for your queries

Span chart series across multiple charts. SSRS Report Builder

I have a report which contains input parameters "Server Groups" and "Servers"
The report displays a number of performance metrics (in chart form). Each metric has it's own chart and data is obtained via a SCOM database.
The problem I'm having is that some server groups contain many servers usually over 10 which makes plotting data on a chart (+10 Series) very cluttered and difficult to read.
Is there a feature within Report Builder 3.0 that will generate a second chart and plot series # 6-10 and a third chart for series # 11-15 and so on?
I've looked at placing the chart in a matrix and also using multiple chart areas but haven't been able to find a solution.
Can anyone suggest a solution, perhaps there is a expression I could use?
Thanks
=================================
OK, I had put this issue aside for some time but now I had to revisit it. It still remains unresolved but I think I'm getting closer.
I can place the charts in a table and then group the table by the series data (servers). This will give me one series (server) per chart. I can also use this expression... =Ceiling(RowNumber(Nothing)/10)
which would work if I wanted to generate a new chart per X number lines retrieved from the database. The problem is there are many multiple lines of data per series because there is a date component to the data retrieved.
Can anyone suggest an expression that might fit my requirements?
One thought is to put your chart inside a list. Then you would need to add a column to your results that assigns the group. I'm not sure the best way to do that for your dataset, but if you can find a way to come up with a ranking of your servers from 1 to n, and then use a case statement to assign servers 1-5 to group 1, 6-10 to group 2, etc. Then your list can use this server grouping. The rendered reprot will show a chart containing data for each server grouping separately.

Microsoft Access - Variable Overrides in Reports

I'm currently in the process of creating an extensive Access report (~50 calculated fields) for a client and while I've gotten 99% of the report down, I'm having trouble handling the Sum and Count logic on the report.
In a nutshell, the report is intended to list the attendees at an event, tally up the number of attendees at each track/course, and also list any outstanding dues which will be paid at the door. In addition, and this is where I'm having trouble, the report also shows the revenue from each track/course along with a breakdown of the revenue from commuters vs. people staying overnight.
At the moment, all of the formulas follow fairly similar structures so despite having 50 fields, 99% of those are simply adjusting the fields to fit the relevant variables.
For the report now with revenue, my issue is that although I have the fee data specified in the data tables, Microsoft Access keeps zeroing out the calculations rather than displaying the total on the fly.
Here's two of the formals I'm using:
=((Count([W1]))*[Fee Charged W1])
=Sum([Room & Meals])
Earlier today I think I pinpointed the problem to the fact that Microsoft Access is showing the report essentially per individual rather than displaying one report for the entire dataset. I've confirmed this because I manually checked the data and noticed some fields had null values which explained the null tallies.
My question now is whether there is a way to assign a default value for variables in reports so that the report cancels out any invalid data in the database table? I imagine using VBA would help, but I have little experience in that realm.
Thanks very much in advance for any assistance
Just found the solution which was right under my nose the entire time. I just had to configure the fields to use a Running Sum (also called a Cumulative Total).
The answer came right from a page in the Microsoft Office Website: http://office.microsoft.com/en-us/access-help/summing-in-reports-HA001122444.aspx