Saltar al contenido

Pasando el parámetro a través de la URL al servicio de informes del servidor SQL

Solución:

Tenía la misma pregunta y más, y aunque este hilo es antiguo, sigue siendo bueno, así que en resumen para SSRS 2008R2 encontré …

Situaciones

  1. Quieres usar un valor de una URL para buscar datos
  2. Quiere mostrar un parámetro de una URL en un informe.
  3. Quiere pasar un parámetro de un informe a otro informe

Comportamiento

Si corresponde, asegúrese de reemplazar Reports / Pages / Report.aspx? ItemPath = con ReportServer?. En otras palabras: en lugar de esto:

http://server/Reports/Pages/Report.aspx?ItemPath=/ReportFolder/ReportSubfolder/ReportName

Utilice esta sintaxis:

http://server/ReportServer?/ReportFolder/ReportSubfolder/ReportName

Agregue parámetros al informe y configúrelos como ocultos (o visibles si se permite la acción del usuario, aunque tenga en cuenta que, si bien el parámetro del informe cambiará, la URL lo hará). no cambio basado en una entrada actualizada).

Adjunte parámetros a la URL con & ParameterName = Value

Se puede hacer referencia a los parámetros o mostrarlos en el informe usando @ParameterName, ya sea que estén configurados en el informe o en la URL

Para ocultar la barra de herramientas donde se muestran los parámetros, agregue & rc: Toolbar = false a la URL (referencia)

Poniendo todo eso junto, puede ejecutar una URL con valores incrustados, o llamar a esto como una acción de un informe y leerlo en otro informe:

http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID=ABC123&rc:Toolbar=false

En la consulta de propiedades del conjunto de datos del informe: SELECCIONE cosas DE la vista DONDE Usuario = @ID de usuario

En el informe, establezca el valor de la expresión en [UserID] (o = Campos! UserID.Value)

Tenga en cuenta que si un informe tiene varios parámetros, es posible que deba incluir todos los parámetros en la URL, incluso si está en blanco, según cómo se escriba la consulta del conjunto de datos.

Para pasar un parámetro usando Action = Ir a URL, establezca la expresión en:

="http://server.domain.com/ReportServer?/ReportFolder1/ReportSubfolder1/ReportName&UserID="
 &Fields!UserID.Value 
 &"&rc:Toolbar=false"
 &"&rs:ClearSession=True"

Asegúrese de tener un espacio después de una expresión si va seguida de & (un salto de línea no es suficiente). No se requiere espacio antes de una expresión. Este método puede pasar un parámetro pero no lo oculta, ya que está visible en la URL.

Si no incluye & rs: ClearSession = True, el informe no se actualizará hasta que se borre la memoria caché de la sesión del navegador.

Para pasar un parámetro usando Acción = Ir al informe:

  • Especificar el informe
  • Agregar parámetro (s) para ejecutar el informe
  • Agregue los parámetros que desea pasar (los parámetros deben definirse en el informe de destino, por lo que, según mi conocimiento, no puede usar comandos específicos de URL como rc: toolbar usando este método); sin embargo, supongo que sería posible leer o configurar la casilla de verificación Preguntar al usuario, como se ve en los parámetros del servidor de informes, a través del código personalizado en el informe).

Como referencia, / =% 2f

Además de lo que dijo Shiraz, intente algo como esto:

http://<server>/ReportServer/Pages/ReportViewer.aspx?%2f<path>%2f<ReportName>&rs:Command=Render&UserID='fred'

Tenga en cuenta que la ruta solo funcionaría si se encuentra en una sola carpeta. Cuando tengo que hacer esto, simplemente busco el informe usando la ruta del servidor de informes (“informes” es el administrador de informes) y copio la URL y luego agrego &<ParameterName>=<value> hasta el final.

Acabo de resolver este problema yo mismo. Encontré la solución en MSDN: http://msdn.microsoft.com/en-us/library/ms155391.aspx.

El formato básicamente es

http://<server>/reportserver?/<path>/<report>&rs:Command=Render&<parameter>=<value>
¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *