Dears,
I am quite new with Report Builder, and also with SSRS so sorry in advance if I raise irrelevant questions. My goal, essentially, is to deploy a sort of SQL Monitoring dashboard (I just uploaded a demo picture of it, here the link 1 ), that is composed by a main report with some charts and toggled sub reports. All these sub reports are filtered by the SQL instance name, and other parameters like number of monitoring days, months etc...
Plus I make use only of shared datasets.
Now, if I deploy the whole solution with Visual Studio against my report server, it works perfectly and all the report parts are uploaded without any issue against the report site.
If I try to deploy the report using the report website manager (by trying to upload the whole solution file by file), it does not upload anything, even if I create first the data source and then trying to add the existing datasets.
If I try to deploy the solution with Report Builder (after having giving to it the target report server URL and an existing folder that starts with slash), the only option I have is to open the solution as file, and save it against the target report server configured. But then the annoying error appears even if I the path has less than 260 char and even if the path starts with the slash:
"Error: The path of the dataset "" is not valid. The full path must be
less than 260 characters long; other restrictions apply. If the report
server is in native mode, the path must start with slash.
(rsInvalidItemPath)"
What am I doing wrong? I thought that a tool like that, used also for publishing, would make the life easier, but apparently I may not know exactly how to use it.
Does anyone know of a way to add an Excel icon somewhere more visible for the user to do an export without having to click on "Actions". Not sure if any of that is customizable?
Additionally, is there a way to create a drill-through report that renders in Excel. I was trying to figure out the RS:format stuff, but not sure how to use this.
I'm trying to make the report as user friendly as possible.
Thanks.
There certainly is, you can do an export using a URL as detailed in this MSDN article: https://msdn.microsoft.com/en-us/library/ms154040.aspx.
All you need to do is set that as the action of an image you place on the report, and you have an export icon. The general format is:
http://myrshost/ReportServer?/myreport&rs:Format=Excel
The main item to note is that myrshost/ReportServer is not going to be the same address as you use when browsing through reports. Instead, it's probably going to be SERVERNAME/ReportServer_INSTANCENAME, filling in the name of your server and database instance respectively.
Edit: A more concrete example of what this would look like:
http://sqlhost/ReportServer_Report2016?/Rentals/Balance%20Overview&rs:Format=Excel
I have updated the SP for the attached dataset that the tablix is using. The refresh worked fine and I can see my new fields in the shared data set when I look in the Fields tab. My problem is the tablix itself is not giving me access to the new fields. There is a disconnect somewhere and I cannot figure out hot to get the tablix to see the updated fields available in the dataset. I run into this problem frequently and hope I can get a good answer here to return to in the future as I am sure I will need to. I have googled and looked through the suggested questions here and I cannot find one that is directly related to this issue.
I will also know note that the report project is in TFS source control as I read that has some adverse side affects. I have marked the whole project for edit and also went to the folder structure and made sure everything was unset to read only.
I am using SSRS 2008 in VS 2010.
Just found it... I don't understand the need for hidden menus like this..
Click the report itself, then go up to View on the menu and at the very bottom there is "Report Data". From here you can select your dataset and go to its properties and refresh the reports attached dataset's fields. What a pain in the butt.
Here is a link that helps better explain it.
http://blog.dontpaniclabs.com/post/2012/01/26/Developings-Reports-for-SQL-Server-Reporting-Services
You can also delete the .data file if you still can't get it to refresh.
Go into the file folder where the .rdl file exists
Next to it, there should be a file with the same name with the
.rdl.data extensions. Delete this file.
It appears to force the refresh probably because it has to recreate the file.
Here's a less invasive way but may not always work:
In the Report Data windown, right click on you dataset and click
Dataset Properties like so:
Click Refresh Fields near the bottom right of the Dataset Properties
window:
After changing the Stored Procedure code, without changing the name and number of fields returned, I could only get the report to seemingly call the new format of the stored procedure by clicking the Refresh button in the report's Preview tab.
Go into your solution folder, where the rdl's are stored and delete .rdl.data file for your report.
Next time you'll run the report, new rdl.data file will be created and it will have all the new fields from the updated SP.
ok, this maybe an older thread, but I kept running into the same problem on occasion. The absolutely easiest way to fix this is adding the following line of code to the beginning of the stored procedure that produces your dataset for the report:
SET FMTONLY OFF;
Happy coding :)
I ran into a very similar issue:
Added a new field to an existing SQL table function
(With some difficulty) added the new field to the existing dataset in SSRS
Spent some time unsuccessfully trying to add the new fields to the table (tablix?) in design mode.
This didn't work for me so eventually I opened the particular report file [filename].rdl in a text editor and surprise surprise it was XML. It was easy enough to add the missing field manually, and visual studio then prompted me to refresh the report.
<DataSets>
<DataSet Name="DataSet1">
...
<Fields>
<!-- add new field at this level -->
<Field Name="[newfield]">
<DataField>Email</DataField>
<rd:TypeName>System.String</rd:TypeName>
</Field>
</Fields>
</DataSet>
</DataSets>
I am having exact same issue in VS 2012. The stored procedure used as a query will not allow to refresh fields. When the button is pressed nothing happens.
The only solution I found is to flip the Query Type to Text and provide the parameter values on the exec call to the SP.
Why do we have to put up with these obvious show stopper bugs?
Had the same issue and I was able to resolve it by renaming my dataset in properties, creating a new dataset with the original name, and then hitting the refresh button.
Old thread, but I ran into this using VS 2015 and SSMS 2016. I was certain it was an issue with VS. When I went back to SSMS and tried executing my stored procedure, however, I found that passing certain parameter values would cause the query to fail. Interestingly, I was able to ALTER the stored procedure without encountering any errors. (Perhaps because some combinations of parameters wouldn't result in a failure?)
Anyways, at the end of the day it was faulty coding in my sproc that was causing the fields in SSRS not to refresh. When I went back and corrected the issues with my code, everything worked as expected in VS.
I am working in Visual Studio 2015 and none of the above answers worked for me. If you are getting the data from a stored procedure, you need to open the .xsd file and right click on the data model. Select Configure, and the correct values from the procedure should appear on the right of the window.
Then refresh your dataset from the Report Data tab.
I had the same issue.
I installed SP1 so that .rdl.data file would get generated which inturn also fixed the data refresh issue.
Reference: http://social.msdn.microsoft.com/Forums/sqlserver/en-US/e2b199df-bc1b-4211-9110-85a0c63454b8/why-does-ssrs-not-create-a-rdldata-file-when-previewing-a-report?forum=sqlreportingservices
I was trying to use an ODBC driver for the datasource that connected ok, but wouldn't show Fields in VS 2015 SSRS report. I went back and used a datasource based on SQL Server driver (it's in the choices when designing a datasource) and it worked perfectly.
I had this same issue but the cause was different from the other answers at the time of this writing.
In my case, the stored procedure used as the data source was returning multiple data sets (due to some debugging code that I had left in there).
SSRS was "seeing" the fields in the first dataset, whereas I was expecting it to see the fields in the second dataset.
Removing the extraneous datasets fixed the issue and SSRS was able to see the fields that I intended.
Clearing reportviewer's datasources works for me.
this.(reportviewername).LocalReport.DataSources.Clear();
Open the Visual Studio 2008 reports solution
Open (double click) your report (.rpt file) on left pane
Press Ctrl + Alt + D to open the Report Data panel
Expand the DataSets folder
Find the report's main data set and right click the "DataSet Properties" menu
Click the "Refresh Fields" button on the popup window.
Deleting .data no work for me. Deleting Dataset and adding again worked. And I had previously configured VS/SSRS to NOT cache.
refresh and deleting .data did not work for me. So I just manually added the fields.
I am trying to use the custom code option to pull down the querystring and set the parameters for the report all in the custom code. So I may have a url such as:
http://mywebsite.com/index.aspx?ProjectID=1
I would want the code in the SSRS custom code to pull down that 1 and put it in the parameters for the report. So when I run the report it shows the data with the ProjectID of 1.
Is this possible to do in Reporting services? If so, how would one go about doing this. Thanks for any help I have seriously been trying to figure this our for weeks.
Thanks!
SSRS can parse a parameter value from the URL as long as it's in the format parameter=value. See this msdn article
The sample URL in your question doesn't look like a report server URL, so (like bhupendra indicates) it's hard to know exactly what you're doing.
I'm trying to display an external image within a SSRS 2005 report, however I can't accomplish that. I've tried a lot of things but they just don't work.
I have a table in my report that displays a dynamic image based on code, I thought the error was in the code however it wasn't because I can see the image in BIDS, however when I try to display it on the report server or within an ASP.NET webpage it doesn't show up.
My Code is as follows:
Function ShowImage(value as Object) As String
Dim strImg as String
If value < 0
strImg= "http://icons.iconarchive.com/icons/fatcow/farm-fresh/24/traffic-lights-green-icon.png"
ElseIf value > 0
strImg= "http://icons.iconarchive.com/icons/fatcow/farm-fresh/24/traffic-lights-red-icon.png"
Else
strImg= "http://icons.iconarchive.com/icons/fatcow/farm-fresh/24/traffic-lights-yellow-icon.png"
End If
Return strImg End Function
The value in my image control is as follows:
=Code.ShowImage(Fields!Diferencia_Entre_Importes.Value)
When I see the preview in BIDS it shows up the way it's supposed to be, but it doesn't happen in the report server.
As you see the images don't need any kind of authentication, besides that, I tried configuring the Execution Account with the same result (I just get a horrible X instead of the image)
I also tried setting the image's value as
http://icons.iconarchive.com/icons/fatcow/farm-fresh/24/traffic-lights-green-icon.png
But had no success, also I tried using an image in the server in this way:
file:ImagePath
And had the same problem, using all of these solutions I can see the image in BIDS, but not in the Report Server.
Thank you very much
I suspect this is caused by an internet access issue on the account on the server running the SSRS report. Whether it is or not, I recommend saving those .png files locally on the server, and modifying the code accordingly - it should improve report performance as well as getting rid of this issue.