Learn more about SQL Server tools

mssqltips logo
 

Tutorials          DBA          Dev          BI          Career          Categories          Webcasts          Whitepapers          Today's Tip          Join

Tutorials      DBA      Dev      BI      Categories      Webcasts

DBA    Dev    BI    Categories

 

Display Reporting Services drill through reports in new browser


By:   |   Read Comments (45)   |   Related Tips: > Reporting Services Drill Through

Attend these FREE MSSQLTips webcasts >> click to register


Problem

When using the standard Reporting Services drill-through navigation the new report is rendered in the current browser window, therefore overlaying the original report. There is no built in way to indicate you want the drill-through report to open a new window. In a standard web browser you can use the (shift-click) functionality to open the link in a new window, but in Reporting Services this functionality is disabled. So how can you launch a new window when you open a drill-through report?

Solution

Use a little javascript with a customized URL in the "Jump to URL" option of the Navigation tab.

Non-parameterized Solution

To get started, let's pop up a simple non parameterized report. Follow these instructions:

  1. Instead of using the "Jump to Report" option on the Navigation tab, use the "Jump to URL" option.
  2. Open the expression screen (Fx button).
  3. Enter the following:
    ="javascript:void(window.open('http://servername?%2freportserver%2fpathto%2freport&rs:Command=Render'))"
  4. Click OK twice, then save and deploy the report.

Note: The link will not work from the designer environment. You must deploy the report (hopefully to a test area) to try the link.

See screenshots below.

textbox properties

expression editor

That's the easy part, ready for a more dynamic approach?

Parameterized Solution

Now, let's say you want to pass a variable to the drill through report. Let's also assume you have a field called ProductCode. Normally, you might hard code that like this:

http://servername/reportserver?%2fpathto%2freport&rs:Command=Render&ProductCode=123

In this case, you want to pass variables dynamically, using an available value from the source dataset.

You can think of it like this:

http://servername/reportserver?%2fpathto%2freport&rs:Command=Render&ProductCode=Fields!ProductCode.Value

The exact syntax in the "Jump to URL" (Fx) expression window will be:

="javascript:void(window.open('http://servername/reportserver?%2fpathto%2freport&rs:Command=Render&ProductCode="+Fields!ProductCode.Value+"'))"

Note - To avoid confusion between double and single quotes, double quotes are in red above.

Notice, that the static portion of the URL is delimited within double quotes.

Next Steps
  • Next time you build drill-through report capabilities look at using this method to open a new browser instead of overlaying the original report
  • Look at your existing reports to see if this method makes more sense for your report navigation
  • Stay tuned for other Reporting Services tips from this author


Last Update:


signup button

next tip button



About the author
MSSQLTips author Rob Fisch Rob Fisch has worked with SQL Server since version 6.5 as a dba, developer, report writer and data warehouse designer.

View all my tips





Post a comment or let the author know this tip helped.

All comments are reviewed, so stay on subject or we may delete your comment. Note: your email address is not published. Required fields are marked with an asterisk (*).

*Name    *Email    Notify for updates 


SQL tips:

*Enter Code refresh code     



Thursday, September 28, 2017 - 1:01:14 PM - venkatesh Back To Top

 HI author,thanks for your tips,i tried your code for Display Reporting Services drill through reports in new browser,and my code is not working for Dynamic parameters.

I ahve a srill through report with 2 params and i was passing the code similar to what u wrote .it was redirecting to new window but the parameters were not populating in the Text box fields automatically.

can you plz help me.

 and my code is ="javascript:void(window.open('http://crmdev:81/Reports/Pages/Report.aspx?ItemPath=%2fPublic+Reports%2fdatcp_WM_SiteInfo_Mydatcp&rs:Command=Render&FacilityId="+Fields!FacilityId.Value+"&rs:Command=Render&TankID="+Fields!TankID.Value+"'))"

where facility id and tankid are Parameters


Tuesday, October 27, 2015 - 12:59:32 PM - Terry Catt Back To Top

Hi, thanks for taking time to post your solution.

One situation which you should also consider when building your URL string is to ensure that the Parameter values are URL friendly. 

1. Add URL encode function ( added to Report Properties / Code page)

public Function  fnUrlEncode(ByVal url as String) As String
dim i as integer, n as string
  For i = 1 To Len(url)
      n = Asc(Mid(url,i,1))
      If (n >= 48 And n = 65 And n                                  Or (n >= 97 And n            fnUrlEncode = fnUrlEncode & Mid(url,i,1)
      Else
           fnUrlEncode = fnUrlEncode & "%" & Hex(Asc(Mid(url,i,1)))
      End If
  Next
  Return url
End Function

 

2. In your expression code  - wrap function call around the parameter value logic...


="javascript:void(window.open( '"
& "http://ReportServer_xxxx"
& "?/project/DEV/RptApp/"
& "ReportName"
& "&Param="
& Code.fnUrlEncode(Parameters!Param.Value)
& "&rs:Command=Render&rc:Parameters=true"
& "', '_blank'))"

 

 

 

 

 


Wednesday, October 21, 2015 - 11:42:02 AM - Sara Back To Top

thanks for the syntax.  I have 4 paramters for URL drill through report.  Here is the url:

="javascript:void window.open('http://servername/ReportServer/Pages/ReportViewer.aspx?/ReportFromDatabaseTable/HPG Sourced Item Audit Detail&rc:Parameters=true&SCVPMapVPName="+Parameters!SCVPMapVPName.Value+"&CompanyMapMBO="+Parameters!CompanyMapMBO.Value+"&OrganizationCompanyName="+Parameters!OrganizationCompanyName.Value+"&HPGContractStatusHPGAgreementStatus=[HPG Contract Status].[HPG Agreement Status].&[Items To Review]')"

and I got error The path of the item '' 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).

don't know what to do. Appreciate any help you can give to me.  Thanks.


Wednesday, July 08, 2015 - 12:29:36 PM - Shawn Gamble Back To Top

Ok for People that were having issues with the First(field) working but +field+ was not working.

here is what I did to get it to work.

 

="javascript:void(window.open('http://synergy/docs/WflRequest.aspx?BCAction=1&ID="+Fields!Expr2.Value.ToString+"','_blank'))"

 

previously does not work.

="javascript:void(window.open('http:///synergy/docs/WflRequest.aspx?BCAction=1&ID="+Fields!Expr2.Value+"','_blank'))"

 

Previously was working but only pulling the first thing in the data set.

 

="javascript:void(window.open('http://ese/synergy/docs/WflRequest.aspx?BCAction=1&ID="+first(Fields!Expr2.Value, "dataset")+"','_blank'))"


Monday, July 21, 2014 - 8:38:49 AM - Lamin Back To Top

Thanks for all these great suggestions!

I have a situation where I am passing parameters from main report to drill-through report. However, two things happened as stated below:

1 - By passing single parameter in my JavaScript code like this [="javascript:void(window.open('Server/Drill-through report name&rs:Command=Render&ReportDate="+Parameters!ReportDate.Value+"'))"], the drill-through report opens, but parameter fields are still active, meaning that the passed parameter didn’t work.

2- By passing two parameters in my JavaScript code like this [="javascript:void(window.open('Server/Drill-through report name&rs:Command=Render&ReportDate="+Parameters!ReportDate.Value+"+Community="+Parameters!Community.Value+"'))"], the drill-through link does not get active at all.

I have replaced the (+) signs with (&), but no luck

By the way, I am using Visual Studio 2012.

Thank you


Wednesday, July 16, 2014 - 1:34:04 PM - Lamin Back To Top

Hello Rob

Thanks for all these great suggestions!

I have a situation where I am passing parameters to from main to drill-through report. However, two things happened as stated below:

1 - By passing single parameter in my JavaScript code like this [="javascript:void(window.open('Server/Drill-through report name&rs:Command=Render&ReportDate="+Parameters!ReportDate.Value+"'))"], the drill-through report opens, but parameter fields are still active, meaning that the passed parameter didn’t work.

2- By passing two parameters in my JavaScript code like this [="javascript:void(window.open('Server/Drill-through report name&rs:Command=Render&ReportDate="+Parameters!ReportDate.Value+"+Community="+Parameters!Community.Value+"'))"], the drill-through link does not get active at all.

I have replaced the (+) signs with (&), but no luck

By the way, I am using Visual Studio 2012.

Thank you

 


Friday, July 11, 2014 - 5:35:58 AM - Steve Back To Top

Hi

 

I have a requirement to pass a parameter to a URL within single quotes.  For example the url I want would be something like

http://myserver/myreportparameter='12345'%26Category=00001

My parameter in this is 12345 and must be enclosed in a single quote

I want to open this in a new window so have tried to use an expression in my SSRS report such as

="javascript;void(window.open('http://myserver/myreport='" & Trim(Fields!Parameter.Value) &"'%26category=00001 ','_blank'))"

But this will not work.  This will work if I don't have to enclose the parameter in single quotes.

Has anyone any ideas how I can achieve this please?

 

Thanks


Monday, April 21, 2014 - 4:43:55 PM - Rob Fisch Back To Top

You can NOT use the SharePoint address of the report. You must use the reportserver address. Check the address syntax in Central Admin for the report server.

http://servername/reportserver


Friday, April 18, 2014 - 6:34:48 PM - Mary Bean Back To Top

I am almost there but I cannot seem to get my code to pass the parameter value to the linked report:

"javascript:void(window.open('http://reports.dmns.org/Reports/Pages/Report.aspx?ItemPath=/GalaxyReports/ROSTER/InvoiceByOrderNumber&rs:Command-RenderOrderID=" & Fields!OrderNo.Value & "'))"

This opens the linked report in a new browser window but does not pass the OrderID parameter.

Please help.

Thanks!


Thursday, February 27, 2014 - 10:16:57 AM - Craig Back To Top

I am stumped.  I am new to SSRS and I can NOT get the link to work.

When I deploy, the results go to    http://10.10.1.2/ReportServer_SQLEXPRESS?%2fSQLreports&rs:Command=ListChildren      and my reports work.

I created a link carrying two parameters.  I get "This page can't be displayed" with "Make sure the web address http://reportserver is correct".   it has the address     http://reportserver/?%2FSQLreports%2FContractors%20Just%20Approved&rs%3ACommand=render&STdate=2%2F25%2F2014%20ENdate%3D2%2F26%2F2014%27%2C%27_blank%27))

my URL link in the report is    ="javascript;void(window.open('http://10.10.1.2/ReportServer_SQLEXPRESS/Pages/ReportViewer.aspx?%2fSQLreports%2fContractors+Just+Approved&rs:Command=render&STdate=" & Parameters!STdate.Value &" ENdate=" & Parameters!ENdate.Value & "','_blank'))"

I know I am missing something small, and I DON'T have direct access to the server -- set up by someone no longer here.

PLEASE!   Any ideas?


Friday, February 21, 2014 - 3:57:14 PM - krishna Back To Top

Hi,

I am trying to open a drill through report from the main report,from my ASP.net application and when i click on the chart/graph, it opens up the window, but asking me for credentials. Actually, it is asking me for the credentials of the server where the reports are delpoyed and not the Data source credentials. when i give the server credentials, the sub report is showing up fine. I should avoid the credentials page and should directly show the sub report in new window. Any suggestions?


Monday, September 30, 2013 - 8:30:51 AM - Lynn Huff Back To Top

Neelam, you need to specify the html path to your report.  Try this and substitute your server name.

"javascript:void(window.open(''http://localhost/Reports/Pages/Report.aspx?http%3a%2f%2fServerName%2fNewindow%2fEffortDistribution_Category&rs:Command=Render&name=" & Parameters!name.Value & "&address=" & Parameters!address.Value & "&city=" & Parameters!city.Value & "&state=" & Parameters!State.Value & "','_blank'))"


Monday, September 30, 2013 - 7:53:09 AM - Neelam Back To Top

Suppose i have barchart, if I click on any Bar, it will give me detailed information on new window as a drill through report.

now i want to click on another bar,here my requirement is - no other window will open.it will replace opened window with new data selection.

 

Thanks


Monday, September 30, 2013 - 12:07:19 AM - Neelam Back To Top

Thanks for replying.

By mistake, have added double quote.But in my code,it is single quote only.

Please needful.


Friday, September 27, 2013 - 12:31:46 PM - Lynn Huff Back To Top

Neelam, I think you need a single quote where you have a double quote in front of http://

"javascript:void(window.open('http://localhost/Reports/Pages/Report.aspx?ItemPath=%2fNewindow%2fEffortDistribution_Category&rs:Command=Render&name=" & Parameters!name.Value & "&address=" & Parameters!address.Value & "&city=" & Parameters!city.Value & "&state=" & Parameters!State.Value & "','_blank'))"


Friday, September 27, 2013 - 8:48:21 AM - Neelam Back To Top

hi,

Iam using below javascript for calling my child report in new window and passsing parent report parameter.It is not working. Can any one help me in correcting below script.

"javascript:void(window.open(''http://localhost/Reports/Pages/Report.aspx?ItemPath=%2fNewindow%2fEffortDistribution_Category&rs:Command=Render&name=" & Parameters!name.Value & "&address=" & Parameters!address.Value & "&city=" & Parameters!city.Value & "&state=" & Parameters!State.Value & "','_blank'))"

NOTE:

--Newindow is a folder on reportserver in which I have my rdls.

--EffortDistribution_Category is my child report

 

Thanks,Neelam


Tuesday, September 24, 2013 - 4:40:08 PM - Lynn Huff Back To Top

I'm sorry to have bothered you.  I stumbled upon the answer myself.  Had to replace [+] with [ & ].    The syntax should be:

="javascript:void(window.open('http://TBINet/ReportServer/Pages/ReportViewer.aspx?http%3a%2f%2fTBINet%2fRAM+Reports%2fPricing%2fPromo+Plans+SubReport.rdl&rs:Command=Render&PlanNo=" & Fields!PlanNo.Value & "&ProductCode=" & Fields!ProductCode.Value & "','SubReport','Toolbar=0,width=1000,height=575'))"


Tuesday, September 24, 2013 - 4:21:00 PM - Lynn Huff Back To Top

I have used your method before in other reports, but I'm having trouble with th following two lines of code.  I need to open a subreport and pass over two parameters.  The first line of code will open the subreport without supplying parameters.  The second line is my attempt to pass parameters, but it is not working.  Can you see any problems with my syntax?

="javascript:void(window.open('http://TBINet/ReportServer/Pages/ReportViewer.aspx?http%3a%2f%2fTBINet%2fRAM+Reports%2fPricing%2fPromo+Plans+SubReport.rdl&rs:Command=Render','SubReport','Toolbar=0,width=900,height=575'))"

="javascript:void(window.open('http://rptsvr2/ReportServer/Pages/ReportViewer.aspx?http%3a%2f%2frptsvr2%2fRAM+Reports%2fPricing%2fPromo+Plans+SubReport.rdl&rs:Command=Render&PlanNo="+Fields!PlanNo.Value+"&ProductCode="+Fields!ProductCode.Value+"','SubReport','Toolbar=0,width=900,height=575'))"

Thank you.


Tuesday, September 03, 2013 - 11:02:09 AM - Sriram Back To Top

 

How can you hardcode servername? How do I know the servername? Is there any way to build the report server url dynamically??

 

Thanks


Friday, August 09, 2013 - 3:36:08 PM - Nes Back To Top

Hi Rob,

Thanks for this article it is helpful. But I am having issue the selected value (Fields!UPC_R.Value) from parent report is not pass to the subreport. I am not sure if it matters I am using SSRS 2008 R2 and my browser is IE8. Did I missed something

The passing of values works when I use the go to report action but I prefer a pop subreport.

Your help will much be appreciated!

Here's my URL:
="javascript:void(window.open('http://blacksea/Reports/Pages/Report.aspx?ItemPath=%2fReports%2fWebCo_SUD%2fCommentForm&rs:Command=render&upc ="+Fields!UPC_R.Value+"','_blank', 'width=1200,height=400,top=300,left=500,toolbar=1,menubar=1,location=1,status=1,scrollbars'))"


Friday, April 05, 2013 - 1:25:38 PM - Musthafa Back To Top

@Harry's question:

Since you are using file protocol for the URL, the field value should evaluate to something like this: file:///e:\PurchScan\2013\1002431B.pdf   .You can paste this into a browser address bar and see that it opens that file provided it is there on the "e" drive.

Hope this helps.


Friday, March 15, 2013 - 8:47:36 AM - Amrita Back To Top

Hi Rob,

I am using SSRS 2008 R2 and have been trying to drill down to a report passing 3 parameter values to the drilled report. i am using the code as suggested by you

="javascript:void(window.open('http://lslmreporting.com/Reports/Pages/Report.aspx?ItemPath=%2fReport+Development%2fAmrita%2fMissed+Critical+SLA+Report&rs:Command=Render&Year=" +Fields!year.Value + "&month=" + Fields!month.Value + "&Crit=" & Parameters!Crit.Value & "','_blank'))"

This donot throw any error but the hyperlinked columns works as a textbox and the hyperlink doesnot work.

Please help.

Thanks,

Amrita


Saturday, March 02, 2013 - 5:52:20 PM - Jose Henao Back To Top
Hi Mr Rob.  Very clear and useful your tip about open a report in new browser. Thanks so much. I have a problem.
 
I'm trying to do suscriptions for a report.
I configured the e-mail  (I don't have a local server, my mail server is hosted in Godaddy) using the smtp parameters of the email account and I think the parameters are ok.
however,  How  to configure the password for the email account?  I'm obtaining a message from Reporting Services sending the email for the suscriptor (Error sending email : the server denied the sender address.  error 530 authentication required )
 I reviewed at this web page " http://technet.microsoft.com/es-es/library/ms157273.aspx "  the configuration for RSreportserver.config file, in the mail server configuration 's section and I don't see a key for asing the password.
Could you help me with a tip?
 
I'll apreciate your help.
 
Jose Henao.
 
Best regards

Sunday, January 20, 2013 - 4:22:56 PM - Harry Back To Top

Hi Rob, thanks for the reply.  I am not trying to pass any variables to the pdf. my field,"invoice_path.value" is only a text field with a location of where the pdf is. For Example, a Purchase order can have a scanned Invoice attached to it.  All I am trying to do is open that PDF in a new window / tab rather than the current one the report is running under.

It works fine if I put the drill down action on the item to open a URL with the location e:\PurchScan\2013\1002431B.pdf  in it (for example). But if I use the javascript call to open the pdf in a new window, it gives me the error  I had mentioned in my previous post ( Cannot find 'file:///e:Purchscan3@2431B.pdf'. Make sure the path or Internet address is correct).

I hope I have explained my issue clearly.  Look forward to  your response.




Thursday, January 17, 2013 - 9:45:50 PM - Rob Fisch Back To Top

Harry, if I am reading your question right, it sort sounds like you are trying to pass a reporting services field variable to a PDF. That's not going to work at all. Sorry I couldn't be of more help.


Thursday, January 17, 2013 - 5:06:00 PM - Harry Back To Top

Hi.. I am using the above to open a .pdf file in a shared location. It works fine if I just put that location in. But if I use the java script call ( ="javascript:void(window.open('"+ Fields!invoice_path.Value + "','_blank'))"). I get an error e.g. The location is e:\PurchScan\2013\1002431B.pdf but when I click on the link, it errors saying " Cannot fine 'file:///e:Purchscan3@2431B.pdf'. Make sure the path or Internet address is correct. How do I fix this please? I can see what it is doing.. but don't know how to fix it!


Thursday, December 20, 2012 - 4:39:36 AM - Sateesh Naraharisetti Back To Top

Hi All

I am facing problems with ,opening my sub report from my main report while passing parameters from url.

 

my main report url is: 

http://webdev01/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/SSRS_REPORT/All%20Woven%20Track.rdl&Source=http%3A%2F%2Fwebdev01%2FSSRS%5FREPORT%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1&DefaultItemOpen=1 

 

and my sub report url is:

http://webdev01/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/SSRS_REPORT/SubReport.rdl&Source=http%3A%2F%2Fwebdev01%2FSSRS%5FREPORT%2FForms%2FAllItems%2Easpx&DefaultItemOpen=1&DefaultItemOpen=1

with parameter as CO_NUMBER

i am having a column co_number in main report and iwant to pass this value as parameter to my sub report.

The URL which i built is as follows:

="javascript:void(window.open('http://webdev01/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/SSRS_REPORT/SubReport.rdl&rs:Command=Render&CO_NUMBER="+Fields!CUST_PO_NO.Value+"'))"

 

but i am getting an error when i execute the drillthrough on the main report as follows:

the report is missing a parameter value but prompting for it has been disabled.

 

both my report are hosted on share point server.

Please help as i am stuck on this for many days now.

 

Thanks in advance.

 

Sateesh Naraharisetti


Tuesday, December 11, 2012 - 2:09:50 PM - Mohammed Back To Top

Hi Rob,

Thanks a lot for this. I spend a lot of time but was unable to pass the variables dynamically. This worked exactly how I was trying to make it work.

Best Regards


Thursday, November 08, 2012 - 6:27:36 PM - Reef Fielding Back To Top

Sorry, my last post was wrong, the syntax I believe is correct that I can't get to work is:-

="javascript:void(window.open('http://W2008R2/ReportServer/Pages/ReportViewer.aspx?%2fIPMGlobal%2fIPM_MSCRM2011%2fIPM%2fIPM_Cost_Drill&rs:Command=Render&JobTaskId=" + Fields!JobTaskId.Value + "'))"

 


Thursday, November 08, 2012 - 6:20:25 PM - Reef Fielding Back To Top


I am really struggling with this.  I believe my syntax is correct but it fails to pass the dynamic variable.  With the syntax below the link is not active

="javascript:void(window.open('http://localhost/ReportServer/Pages/ReportViewer.aspx?%2fIPMGlobal%2fIPM_MSCRM2011%2fIPM%2fIPM_Cost_Drill&rs:Command=Render&JobTaskId=" + Fields.JobTaskId.Value + "'))"

Which is not what I find with the following syntax however this syntax passes a static variable becuase it is the First for the dataset.

="javascript:void(window.open('http://W2008R2/ReportServer/Pages/ReportViewer.aspx?%2fIPMGlobal%2fIPM_MSCRM2011%2fIPM%2fIPM_Cost_Drill&rs:Command=Render&JobTaskId=" + First(Fields!JobTaskId.Value, "DataSet1") + "'))"

With the first syntax the link does not activate at all


Monday, October 15, 2012 - 4:29:55 PM - Paul Richmond Back To Top

This topic is exactly what I've been looking for but I find that Report Builder 3.0 chokes on ':' in the URL.  (SSRS 1008R2).  Are there any known work arounds for this?

 

Much thanks in advance,

 

Paul


Monday, October 08, 2012 - 1:36:56 PM - Sukrath Mahajan Mahajan Back To Top

Use below script in Jump to URL box. This one working like charm!!!

="javascript:void(window.open('http://servername/ReportServer/Pages/ReportViewer.aspx?/TestFolder/TestReportName&rs:Command=Render&Parameter1=" & Parameters!Date1.Value & "&Paramerter2=" & Parameters!dayname.Value & "&Parameter3=" & Fields!Booknumber.Value & "&Parameter4=" & Fields!TopicOrderby.Value & "','_blank'))"

Please double check servername, reportname, parameternames (case sensitive).

 

if report name has spaces then use '+' instead of spaces in the url

="javascript:void(window.open('http://servername/ReportServer/Pages/ReportViewer.aspx?/TestFolder/Test+Report+Name&rs:Command=Render&Parameter1=" & Parameters!Date1.Value & "&Paramerter2=" & Parameters!dayname.Value & "&Parameter3=" & Fields!Booknumber.Value & "&Parameter4=" & Fields!TopicOrderby.Value & "','_blank'))"


Wednesday, August 08, 2012 - 5:08:52 PM - Steven Turner Back To Top

Hi there. great post. I have been able to get this running, passing parameters etc to the subreport via URL. However when I click the hyper-linked field it opens two windows.

Window 1: (Internet explorer cannot display the webpage
Address: javascript:void(window.open('http://ServerName/ReportServer/Pages/ReportViewer.aspx?%2fReportServerPath&rs:Command=Render&Parameter1=FieldValue1&Parameter2=Field2Value'))

window 2: (Correctly outputted content).
Address:http://ServerName/ReportServer/Pages/ReportViewer.aspx?/ReportServerPath&rs:Command=Render&Parameter1=Field1Value&Parameter2=Field2Value

Is this intended behaviour? If so, is there a way to suppress the first wondow?


Friday, June 22, 2012 - 6:50:58 AM - XYZ Back To Top

I am using the below string URL , it opens up the report, but the parmeter is not passed, it just shows the paramter value as Blank text Box.

http://serverapps:10090/_layouts/ReportServer/RSViewerPage.aspx?rv:RelativeReportUrl=/report/development/sales/sales.rdl&rs:Command=Render&prm_product="RAW"

 


Tuesday, May 15, 2012 - 1:38:11 AM - Suresh Back To Top

Hi,

Very Good Article.

I am using below code in Jump to URL,New window is opening but paramter is not getting passed to report.

I am getting error as parameter the 'cat' parameter is missing a value.

="javascript:void(window.open('http://localhost/Reports/Pages/Report.aspx?ItemPath=%2fDemo+Project%2fReport22&rs:Command=Render&Cat="+Fields!SubCategoryName.Value+"'))"

 

OR

="javascript:void(window.open('http://localhost/Reports/Pages/Report.aspx?ItemPath=%2fDemo+Project%2fReport22&rs:Command=Render&Cat=Bottom Brackets'))"

 

Please anyone can help me solve this issue.

 

Thanks and Regards,

Suresh S.


Wednesday, May 02, 2012 - 4:54:57 AM - Nivatha Back To Top

Hello, Great article but I have problems using Javascript. I have the complete URL as a Field value and I am trying to use that value in Go to URL property of a textbox from VS2008. Without the javascript it works fine but when provided within the javascript it fails to do anything. Here's my expression

="javascript:void(window.open('"+Fields!SprintURL.Value+"'))"

Not sure where I am going wrong with this. Any help would be greatly appreciated. Thanks


Monday, March 05, 2012 - 12:17:00 PM - Nan Back To Top

This works great for us, but I have a question.  Is there a way to control where the window pops up?  I have a main report, that has a drill through report that has a drill through report, etc. down to 4 levels of drill through.  Each report opens in a new window (which is exactly what I want), however, I would like to have each cascade down from the main report when the link is selected.  Right now it would appear the the first drill through cascades, but then when I click the link on that report, that drill through report seems to open at the top left of the monitor instead of cascading down.  I have been searching for a solution, but have been unsuccessful.

Thank you


Tuesday, May 31, 2011 - 8:12:53 AM - Rob Fisch Back To Top

Hi Khurram,

It looks like you need to replace the = sign with a + sign just before the word "Fields" toward the end. Like this:

"javascript:void(window.open(http://ss-jhq-sspmo-2/ReportServer/Pages/ReportViewer.aspx?%2fPMO+Dashboard%2fBA_SSRS_Prjt_Level_MilestonePerProject&rs:Command=Render&Project_UID="+Fields!ProjectUID.Value+"'))"

Check my syntax in the article carefully. 

ROb



Tuesday, May 31, 2011 - 4:27:35 AM - Khurram Back To Top

Hi Reda, its a great article.

but i am stuck with one issue, while passing dynamic variable in URL my syntax is not working for some reason. although i am following exactly the way you have mentioned, but when i try to pass the field.value, the hyperlink disappears at all. it never gives me an error, instead it stops allow me to click on on the text box, and the text box become a normal text box without any link.

this is my syntax:

=

"javascript:void(window.open(http://ss-jhq-sspmo-2/ReportServer/Pages/ReportViewer.aspx?%2fPMO+Dashboard%2fBA_SSRS_Prjt_Level_MilestonePerProject&rs:Command=Render&Project_UID="=Fields!ProjectUID.Value+"'))"

please help i have already wasted quite a lot of time to resolve this.


Sunday, October 31, 2010 - 7:55:49 AM - Wim Havenstein Back To Top

Great tip Rob,

It works okay on my test server.

However in the live environment I have got two servers: 1 sql server (sqlsrv) with rs on it and 1 iis server (applsrv).

Running the report on applsrv server via report manager works okay. But running the same report on applsrv as a link in a web based program (http://xx-sqlsrv/Reportserver$sql2005?/partoer/medewerkersreport&rs:Command=Render) the drill down url comes up with javascript:void(window.open('http://applsrv/synergy/docs/EPRequest.asp?Action=1&ID=%7BF3FD5DC4-8DA2-44B9-8D5F-6AB54A47C202%7D','_blank')) in stead of 'http://applsrv/synergy/docs/EPRe....

Do I have to install RS on applsrv as well or is there an easy solution?

Thanks

 Wim


Wednesday, September 22, 2010 - 11:44:02 AM - Leon Chuck Gosslin Back To Top
You can cause a link to open in a new window by sending in the "&rc:LinkTarget=_blank" in the main report URL parameter.  This causes all links on the main or parent report to open in a new window when clicked.  Of course this makes all the links open in a new window.  If you just want a single link to have this behavior, you will have to use the above method.

Tuesday, August 24, 2010 - 3:43:20 PM - Rob Back To Top
Hi Reda,

I don't know if this will help, and it's just a wild guess, but perhaps you could try replacing the special character (&) with it's hex equivant preceeded by a percent (%) sign. You can look them up on a page like this:

http://www.ascii.cl/htmlcodes.htm

You may have to do this in the support query or in the report using the 'replace' function.

Notice in the example javascript URL there are many places where '%2f' appears? This replaces the '/' in a URL path.

It's just a guess, but you could try it.

Rob


Tuesday, August 24, 2010 - 2:27:59 PM - Reda Sheinberg Back To Top

I wonder if you can help me with how to handle special characters in a parameter value? 

 

="javascript:void(window.open('http://eagnmnsg4cd/ReportServer/Pages/ReportViewer.aspx?%2fZZ+-+Development%2fHardware+Network+Information+for+DistrictComputer&rs:Command=Render&District="+Fields!altdistrict.Value+"&Name="+Fields!name.Value+"'))"

 

 

The following works except if District name has a special character in it such as

 QA_ITE&A      Is there anyway I can pass the district value so that the & will not be interpreted as an & command operator..?

 

Anyway I can Pass Parameters!DistrictName.Value through encodeURIComponent.    ?   So far can't find the correct way to do this?



 


Wednesday, June 24, 2009 - 8:22:11 AM - Sandi Back To Top

I was wondering if you can help me out on this issue.  I was able to pass a report parameter  to the url and get the new browser window to open correctly, but when I pass a field to url I am unable to capture that specific value to pass to the subreport. 

 ="BLOCKED SCRIPTvoid(window.open('" & Parameters!ServerAddress.Value & "?" & Parameters!ReportPath.Value & "&rs:Command=Render&parameter1=" & Parameters!parameter1.Value & "&Field1=" & Fields!Field1.Value & "','_blank'))"

 I was also successful in passing the value from the first value in the dataset and the report opened a new window and rendered correctly

For example using: "First(Fields!Field1.Value, "DataSet1")"  in place of the highlight string above.  The problem is that I have a list of values returned in the dataset and I want to pass the specific Field1 value that the user selects for the subreport. 

Do you know why I am unable to pass the specific field value?

Thanks,

Sandi


Thursday, May 01, 2008 - 1:49:37 PM - AceReports Back To Top

I am so close to getting this to work for me -- but the child report won't acknowledge the parameter and insists on prompting me.  Any ideas?   thanks a million for posting it---it's a much better way of drilling through....


Learn more about SQL Server tools