Usage of the column "ExecutionId" in the table "[dbo].[ExecutionLog2]" - reporting-services

Can any one of you please help me by providing more details of the column "ExecutionId" in the table "[dbo].[ExecutionLog2]". I thought for each and every report execution from report server it
will create one execution id. However I find one "ExecutionId" has repeated 70 times (Same "ExecutionId") in one of the report server database. So wondering what does it mean/usage of the column "ExecutionId" in the table "[dbo].[ExecutionLog2]"

The internal identifier associated with a request. Requests on the same user sessions share the same execution id.
Sql Server Reporting Services Docs

The ExecutionID field appears to be related to (one or more) executions of a specific report. As long as you are running the same report, the ExecutionId appears not to change, regardless of how many times the report is run, even if the report is run with different parameters and even if the output format is changed (e.g. render on screen, pdf, csv etc.)
As soon as you navigate away from the report, a new ExecutionId will be generated for the next report execution.

Related

SSRS data-driven subscription file share export: error on one export, others work fine

I have a report with a data-driven subscription that exports Excel files to a file share each day, one per region. (Region is a parameter in the report.) The data for the subscription comes from a configuration table that is populated with the list of regions for a given day by another process. That process takes the Region values from the same table/field that the report query uses to match to the subscription region name in its WHERE clause, so the values should be identical.
The process runs fine but the Executions table shows only two executions (with the correct parameters from the config table), and only two of three exports are generated. Subscriptions.LastStatus = 'Done: 3 processed of 3 total; 1 errors.'
The other two exports are generated correctly, so it's not a
permissions issue.
Reports for all three regions export from the
web portal to excel just fine, so it would seem there's nothing
preventing an export for that one region.
There are no differences in the web-portal-exported reports between the 'Central Office' region and
the 'Rocky Mountain' region that I can see (other than the data,
obviously). Both have a space in the name, both have the same number of pages.
I do not have access to the Report Server logs. I have requested permissions to be able to view the logs, but that's going to take a while.
In the interim, can anyone think of anything else I could try or check? Thanks in advance.

Selecting multiple parameters for a report, how to create multiple pages per item in parameter list?

I have a report that is a form per order number selected prior to running report. I want to make it so that you can select multiple order_nos from a list (populated by a query that runs first). Right now, it throws an error saying ANY or ALL must be used. I think it is trying to use both order_nos as the parameter for the report. I want it to create the report using just one of the order_nos at a time, and just replicate the report several times. Is this possible?
The attached photo shows what I tried to do and the error thrown.
Error
If you want to create completely separate outputs then you will need to do this by creating a data driven subscription for your report.
The subscription will execute your report iteratively for each record produced in a preset master query that you create.
Each record in your master query should return all the order no's you wish to execute the report for.
However, if the report needs to remain interactive, and the order no's is only decided at runtime. Then i suggest you keep your report as is. Put a grouping on your tablix based on order no then apply a page break per group instance.
This will produce a single report output with each order no appearing on a different page.
As said above if you want a completely separate output (multiple excel/pdf file outputs) then you will need to use a data driven subscription.
If you need detailed steps on how to do either of the above then just let me know here and i can include steps.

Need to write SSRS report that uses stored procedure with a pivot as a dataset but I can't get the report to be dynamic, is this even possible?

I have a bear of a problem here. The user wants a report that shows the earnings, deductions and liabilities (EDL) code of each employee or null/blank if an EDL code doesn't apply to that employee. I needed one row for each employee name and columns for each possible EDL code combination. I got that answer fixed from my previous question here:
Struggling with a dynamic pivot on multiple columns with one being concatenated
I ran into a problem where there are a potential 270 column headings (EDL code combination with "subj", "elig" or "amt" appended) but not every employee will have a value for every column and security settings lock me out of seeing 1 of the 3 payroll groups. This made my report very limited in that when I ran it I could only show on the Crystal Report the data for what columns I had at the time I created the Crystal Report. Well, the user who requested this report has access to payroll group 1 and if even one of those employees had an EDL code that I didn't have in my data when I created the Crystal Reports file then the report wasn't useful to the user. We figured a way for her to get the info she needed by her logging into SQL Server and executing the stored procedure and she did what she needed to do with the data.
Fast forwarding to today I have to create this as a report in SSRS or give detailed instructions on how she can do this in the future if need be since my contract is coming to an end. I'm not familiar with SSRS but I thought maybe that would meet her needs over Crystal Reports. However, I'm running into the same problem. When I add the stored procedure as a dataset (adding it in as text to execute, not clicking the stored procedure radio button) I only see the EDL codes from that particular query not all potential combinations. I need a way to maybe dynamically add columns to the SSRS report, does such a thing exist?

SSRS report - main dataset sproc executes once FOR EACH dynamic default parameter

I've been trying to get around this issue, and was hoping someone here might have paced the same problem.
My SSRS report has some default parameters that are set dynamically. What is happening is that when a report page is first opened (these reports are running from a custom web app), the 'main' report sproc is fired once, just to grab those 2-3 dynamic parameters, even though no other data from that sproc is displayed at this time (if this seems like overkill, it is...I inherited these reports from a former coworker who designed them). So, since there are 2-3 dynamic parameters, the report was designed to get these default values from a query. So, by the time the report is finally run by the user, the main sproc (just call it "report_getReportData" for simplicity) will have ran about 3-4 times already before it's ever rendered to the page.
What I did was, within the report_getReportData sproc, before doing my select * statement to display all the report data, I created a physical table to hold the 2-3 default values, and I created a new dataset in the report to just run a new sproc that just selects the value from this physical table, nothing else, so the result is the getReportData sproc only fires once, and my new sproc, let's call it 'report_getTwoParameters' fires once for each parameter, but the time cost is negligible since is just does one quick select statement.
This solved the issue of the overall report performance, but since there is now a physical table involved (report_getReportData returns data from a temp table), we face the issue of multiple users not being able to run this report simultaneously. So I guess my post has two questions:
1) Is there even a way to get around the main issue of having the report have to run report_getReportData just to set the 2-3 parameters - like maybe "multicast" the result set returned from the sproc into a couple different datasets or something?
2) If we decide to keep my solution of using the physical table, would anyone have any alternate solutions to this, in order for users to be able to run the report simultaneously but avoid bumping into this same physical table?

MS reporting services limiting number of rows

I have a report working well where I extract the number of logins per user. Each login takes up one row on the report.
I have date parameters and my DB goes back a year. However it seems the report will only show 40/50 rows despite a report expecting to deliver, say, 250 for the amount of times I logged in.
Is there some setting in reporting services that limits the number of rows delivered. Can't find it anywhere..
Thanks.
The answer to your question: nope, as far as I know there's no real equivalent of SQL's TOP 50 statement in SSRS itself.
Some things that come to mind that may be causing your symptoms / can be investigated:
What happens if you run the query for the dataset in SSMS? Be sure to fill in the exact parameters the report's using (if any).
Run the query as a test from SSRS designer. If you're using Visual Studio: right-click the dataset and hit "Query...", then hit the red exclamation mark and fill in any parameters if needed.
Try putting a CountDistinct call (on your dataset) in a textbox somehwere in the report, by itself.
Check the filtering and grouping on your tablixes, perhaps even by looking at the XML source code for the RDL.
Show the parameters in textboxes (oldskool printf debugging! :D) to make sure they're what you expect them to be when the report's run on the Report Server. If they're not: try deleting the report on the server and re-deploying it.
Have a look at the ExecutionLog2 View in the ReportServer database, specifically the Number of Rows returned.
As mentioned in the comments by Atilla: You may also monitor exact SQL SSRS sends to server using SQL Server Profiler.