【问题标题】:Passing a variable as a parameter to an ssrs report将变量作为参数传递给 ssrs 报告
【发布时间】:2013-08-16 06:04:31
【问题描述】:

我正在尝试将一个变量从我的经典 asp 页面传递给 ssrs。当我为参数输入一个文字值时,例如 296,它工作正常。但我想放入一个由 URL 发送的变量,以便它以不同的方式为登录的不同人工作。所以,而不是 http://servername.net/reportserver....rs:Command=Render&Agency=296 的 URL(对于编号为 296 的机构)我想要使用我设置为已登录人员的代理的变量。假设变量是 pAgency。我已经尝试过 Agency=" @pAgency (我将 pAgency = 设置为登录人的代理)和各种其他组合,并在网上搜索过,但没有找到答案。我什至尝试过会话变量,但是,没有去吧。你必须能够做到,但是......

感谢您提供的任何帮助。干杯!

【问题讨论】:

    标签: reporting-services parameters


    【解决方案1】:

    据我所知,rest URI 不是这样工作的。您需要构建字符串并首先将其完全形成,而不是在其上定义变量。你可以在代码中做一些事情,比如(使用 HTML 表单作为基础)

    在下面的例子中,有四件事情要明白:

    A.表单中的“操作”必须是报告的 Web 服务位置并发布给自己。 (或者你可以做一个 iframe 元素,但我并没有搞砸那么多)

    B. “输入”元素是基于文本的,但您必须将 id 和名称与传入的参数名称相匹配。

    C. “选择”元素为用户提供了保存方法的“选项”,以直接输出到常见类型。

    D. “提交”类型的“输入”确保表单将使用规定的数据发布到自身。

    <!DOCTYPE HTML>
    <html>
        <head>
            <title>SSRS Tester</title>
        </head>
        <body>
            <form id="SSRSRender" action="http:// (reportservername)/ReportServer?/(pathtoreport)" method="post" target="_self">
                <H3>Enter some detail for the report to render</H3>
                My Variable 'Test': <input type="text" id="Test" name="Test">
                <br/>
                My outputs:
                <select ID="rs:format" name="rs:format" size=1>
                    <option value="HTML4.0">HTML 4</option>
                    <option value="IMAGE">Tiff Image</option>
                    <option value="PDF">PDF</option>
                </select>
                <br/>
                <input type="submit" value="Render Report">
            </form>
        </body>
    </html>
    

    如果您想要做更多类型的输入变量来动态地让 SSRS 在 SSRS 登陆页面之外按照您的需要呈现,您需要确定是否要使用:

    1. 带有一些前端的服务,例如带有 HTML 的 javascript 脚本
    2. 使用 ASP.NET 或 C# 或 VB.NET 客户端应用程序的“报表查看器”等预先构建的工具更易于控制
    3. 自己在类库中创建服务代理,直接在代码中调用以及格式化

    尝试以编程方式创建休息 URI 最好通过联系服务并使用内置方法恕我直言,而不是尝试创建字符串。这可能需要更多的学习曲线,但最终会对您有所帮助。

    【讨论】:

    • 感谢 djangojazz。我会仔细研究一下,看看我是否能用它。在这一点上,我正在使用案例陈述来调用我的报告,其中包含硬编码的机构编号,具体取决于机构。它有效 - 但这是一个很长的案例陈述。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-02
    相关资源
    最近更新 更多