DrillThrough in SSRS - sql-server

I am creating DrillThrough Report in SSRS. This is my database.
DatabaseImage
In my SSRS first Report i just want to display the period and status. I just to show how many Files run successfully and how many failed. This is the design.First Report Design
I have written this expression to show count of success.
=COUNT(IIF(Fields!Status.Value="Success",1,NOTHING))
And For failed. I just changed the Syccess to failed. This is working fine.
This is the result of first design when i run the report.First Report Output
Now what i want. if user click on 1 which is the value of Failed column in report one. It should get me to the detail page and show all the files which where Status="Failed".
And same for success.
What i did. I change the action of Failed column value from none to "go To Report" and set the parameters. But i didn't work.
Here is the picture. Action And Parameter Image

The problem is that you are using the [Status] field value to pass to the drill down report but the way you built your first report means that this will not be available.
You have 2 ways of fixing this I think.
The quick fix:
Simply change the Status parameter value from [Status] to a static text value that your drill down report will accept, such as Failed.
The longer but possibly better way...
Change the first report to be a Matrix,
Have a row group by Period and Column group by Status. This will save you having to setup specific expressions for each column. The other advantage is that if other Status value where added to the data in the future such as 'In progress', 'Cancelled' etc... then these would automatically appear in the report.
The drill down Action would then be setup exactly as you have done now (in your screen shot) and only needs to be setup once.
Obviously it's your decision but if it was me, I would spend the time getting this done properly

Related

Salesforce Report - Field Not Populating Within Report

Hope you're well. I'm currently building out a report, but despite my best efforts so far, I can't get some information to populate within the report. It does not appear to me that salesforce is recognizing the field "Agent Incoming Connecting Time" within the object "AC_Agent_Performance". However, I can pull in some other fields within the same object into the Agent Performance report, so I'm not clear on what is not taking place in the field that I wish to see within the report. Here are some of the things that I've tried:
I have checked the access to the field. The first photo (Photo 1) Shows an example of a working object, the the second one shows an example of one that does not.
The API name seems to work, and is consistent with other fields within the object that work.
I have checked the page layout for the object (even though I don't think this is the issue), and I have mirrored other fields to the best of my knowledge that ARE populating within the report.
I reviewed the CTI flows to see if there was something missing in there on a lark, but there was nothing in there that would lead me to believe that this was the source of the problem.
I have tried setting up a new field in the object (formula), that references the field that I'm trying. to pull in, but that just returns a result of 'zero' for all values.
One thing that I have done that appears to be working, is I have set up a joined report, which uses both "AC Agent Performance" object and "AC Historical Queue Metrics" object in the report. The result that is returning appears to be accurate (please see the picture (picture number 3)). However, I don't think that this is the right way to go about this, and I don't want to do it this way. I want to use the report with one object rather than with two.
I know that permissions are the most likely issue, so I've taken a close look at these. Please let me know if there is something wrong with how I have the permissions configured. The First image depicts the 'Field Level Security'. The second image depicts the'field accessibility'. They are both like this, the whole way down:
Please note one other thing, which is that the last picture depicts a different field within the object displaying in the report.
Does anyone have any ideas on how I can proceed so the field "Agent Incoming Connecting Time" will display within the report?
Please also note, that these are objects that contain data that is populated from AWS' Amazon Connect.
This last photo, shows that the object does not have any information in it within the report.
If the field isn't populated there's not much you can do on the reporting side of things. You already tried "joined report". You should check why the integration doesn't populate it, maybe read integration documentation, contact the managed package's support...
The tables are connected with lookup or master-detail, right? In a pinch you could try making formula field on "AC Agent Performance" looking "up" and pulling the value from related AC historical queue metrics. If the relationship is other way around (performance -> down to related list -> metrics) you could try to make-do with a master detail and rollup summary field. I don't know this package, no idea if you can pull it off when you don't have full control over the fields.
If you can't really use the relationships and absolutely need to report on single table - you could capture intermediate results of the report to a helper table and then report on that. It's called "reporting snapshots". Or write some nightly (hourly?) batch that recalculates stuff and writes homemade "rollup" to these fields?

How can I select all parameters to run a report, but have them run independently

My quality engineers have asked me to create a report based on a document that they fill out manually. At first glance, it appeared to be an easy enough request. It has been anything but easy. This report shows the results of two inspections and I have a parameter where the user selects one inspection or the other. As it stands now, this report runs just fine when selecting one inspection, but I am anticipating a request to be able to run the reports for both inspections at the same time. And, that's where I run into trouble.
The problem is that I have a text box in the header that is referencing a value from a table in the report that identifies the inspection. When I set the parameter to a multi-value parameter and select all, the report only displays one of the inspections across the entire report. Is it possible to have the user select both inspections but have the report run them separately? I have one dataset for the table and a column in that table that identifies the inspection. I have tried the multi-value parameter and I have tried using the filter option in the dataset properties, but I get the same result.
The easiest way to do this might be to create a new master report and use your current report as a sub-report. It's fairly simple.
Here's the basic steps...
Make a copy of your current report and rename it (say sub_InspectionReport)
Change this report so the the inspection parameter is NOT multi-valued
Create a new report and add your parameter(s) the same as you setup for your original report, This time make sure your Inspection parameter (e.g. pInspection) IS multi-valued.
Create a dataset (dsInspectionIDs) that returns a list of the selected inspection values from the pInspection parameter. The query could be something simple like
SELECT InspectionID FROM myInspectionTable WHERE InpectionID IN (#pInspection)
Note: #pInspection is the name of your report parameter, it is case sensitive.
Now add a table to the report and, as a simple, test, se the dataset of the table to your daatset dsInspectionIDs. Set the first column to show the only available field (in this example InspectionID).
Run the report and test the output using different inspection parameter selections. The table should match what you have selected...
We're almost there...
Now in one of the table cells (but not in the header) , right-click and select "Insert / Subreport". Now right-click the sub-report placeholder and set the sub report to be the copy of the original report we made at the start (sub_InspectionReport in this example). Now, still in the sub-report properties, go to the parameters tab and set the Inspection parameter to the the InspectionID field.
Now when you run the report, you will get your sub-report run once for each selected parameter value with that parameter passed to the sub-report.
Hope that makes sense, I'm not near my PC so I can't provide a sample with images at the moment.

SSRS Report-outputting ''Blank'' rather than 0 for end user

First off, I am new and just learning about databases and reporting functionality.
Background: Let's say that I am an end user and I have requested a report from my IT department. I know that my company uses SQL server and they generate SSRS reports frequently.The SQL Server database is connected to a PIM(product data) application. Within the PIM there is a numeric field holding a quantity of bulbs. In the event that there is no bulb, that field is left blank. I do not have access to our database or the reporting parameters. I am at the mercy of someone else essentially.
When I receive my report, I see zeros '0' for every item that doesn't have a bulb. That is not the desired output, I want to see the field as a 'blank' just as it is in our PIM system. When I expressed this to the report writer, he informed me that this could not be done because that is a numeric field.
Does this seem correct? Please help!! I am fighting an uphill battle. I have a job to do and it relies heavily on IT support. I now have to go to my boss and tell her that this can't be done. I also understand that I can manually manipulate the report myself in excel but this is time consuming and if this can be handled before the report hits my inbox, that would be ideal. If there is a solution that someone out there can relay to me, I would be so appreciative-Thanks!!
If the report is definitely generated in SSRS, it is absolutely possible to set zero values as a blank field. To me, it sounds as if the person responsible just doesn't want to make the change because it's a fairly simple fix. It's as simple as opening the properties window of whatever field needs to be fixed. Since the field is numeric, you would want to format the textbox as a number anyways. The highlighted option displays where this change can be made. There's actually three default options for Show zero as: being blank, a dash(-), or displaying (None).

SSDT Sub-report is incomplete

I am working on my first report designed in Visual Studio (2015) SQL Server Data Tools.
My sub-report is only returning one record for each parent event though the sub-report's dataset is returning multiple records.
My Report:
On-the-clock-report in design view
The linking value for the sub-report is the field [EmployeeWorkSessionID]
The Sub-report
Breaks Sub-report in design view
The sub-report's dataset also contains the field [EmployeeWorkSessionID]
Sub-report preview #1
Sub-report for WorkSession 293
Run by itself this sub-report returns 2 records for WorkSession 293, including a Lunch still in progress.
Sub-report preview #2
Sub-report for WorkSession 288
Run by itself this sub-report returns 2 records for WorkSession 288, including a Lunch that is completed.
The (not so) complete report
The full report preview
The preview of the full report shows the first record for each WorkSession,
but none of the others. The EmployeeWorkSessionID's are associated with the correct Employee. The report space is large enough for three lines. The correct records are return by the datasets, they are just not displayed. The open lunch break (containing NULLs) is not the only record being skipped.
Any ideas?
This does not constitute and answer but is too long to fit in a comment...
Basically the design, from what I can see, looks OK. (BTW: Thanks for posting plenty of screenshots of the design and outcome, so many people don't..)
There are a few points and thing to try, more to eliminate them than solve it but give them a go and see what happens.
Make a copy first !
Check if any items have CanGrow = false and set them to true
(True is default)
Remove the rectangle around the report items
You have several text boxes overlapping, just ot be oin the safe side, move these so they don't overlap
Move the sub report so it's below the Breaks: text box
A few more comments just for reference.
The subreport placeholder in your main report can be smaller, it will expand to fit the content
You don;t need the blank space at the bottom of the subreport, the report will expand to fit the contents, any additional white-space, by default, will be appended under the subreport's tablix. In other words, shrink the subreport body as small as you can, this will also help to eliminate issues with pages spanning more than you want further down the line.
See how you go and post the results back here. Once these things are eliminated we can look further.
This issue is caused because SSDT Report Designer caches the data collected the first time you preview the report and does not rerun the dataset queries on subsequent previews!
Obviously some actions must cause it to renew the datasets because my report did change over the course on the days; but it did not change often enough to make it obvious what was happening. The solution below looked like it was working because moving the sub-report caused an update. But after that run the report data remained static while the database changed.
Here is a tool to reset (delete) the cached data.
And the stackoverflow article that saved (what's left of) my sanity.
My report was working the whole time; Visual Studio was being lazy.
If anyone knows of a way to force live data access for all previews I would love to know about it too.

SSRS Sub-Report Won't Load Until Refresh

I have an SSRS 2008 report with a sub-report that takes a selected value as a parameter. For example, I have a report that takes in #ProjectID and then selects ClientID. If I pass [ClientID] as a parameter to the sub report I get an error the first time I load the report. However, subsequent loads (clicking refresh) all work fine. I do not have this problem if I pass the parameter directly to the sub-report, ie [#ProjectID].
Is SSRS passing along parameters before the select is issued so it's only working when it caches the values upon refreshing? Is there any way I can fix this without forcing all sub-reports to take in [#ProjectID]?
I figured this out. It did indeed appear to be an error with trying to populate the parameters before the query was run. I solved this by placing the sub-reports in a table which appears to delay rendering until the query has completed.

Resources