2

我正在更改.rdlffile 中数据集的命令文本:

在此处输入图像描述

我想知道如何更新fieldsselect 语句返回的结果:

在此处输入图像描述

我知道这些字段必须自动生成,所以我想知道是否可以在内联编辑 SQL 代码后立即更新它们?

4

1 回答 1

2

通常,当有人想查看命令文本中的数据时,他们希望将其作为最终用户的参考(据我所见)。您可能想要修改它,但最终报告您的第一个目标应该是:“我这样做是为了什么?” 如果您的目标是在运行时动态创建,那么我会避免这种情况并提供一些其他建议:

  1. 对其进行认证。如果你知道如何在 SQL Server 中创建存储过程,这是一种方便快捷的方式来获得你想要的东西,如果你知道你在用你的 SQL FU 做什么来获得好的结果,你可以优化它。不利的一面是,如果您使用多个环境,则必须为 TSQL 和 RDL 文件部署代码。

  2. 使用表达式在运行时构建数据集。如果有人告诉我查询本身没有被其他开发人员正确优化,他们提到这样做。我自己并不总是看到这样做的好处,而不是仅仅让你的谓词构造在源引擎上具有良好的索引工作得很好。无论如何,您都可以在运行时构建数据集。这类似于在文本旁边点击“fx”,然后输入类似这样的内容(假设您有一个名为 @Start 的变量):

    ="Select thing 
    from table 
    Where >= " & Parameters!Start.Value
    

    同样,我还没有真正看到这是否真的比:

    Select thing
    from table
    Where >= @Start
    

    但是,如果您只想动态构建它,它就在那里。

  3. 您可以尝试从作为 select 语句一部分的参数动态构建表达式。SSRS 就是关于“表达式”以及你可以用它们做什么。一旦你开始了解它们如何适用于所有事情,你就会发疯,可以说使用它们。不过,一般规则是您使用和依赖的报告越多,您的报告就会变得越慢。

我希望其中一些可能会有所帮助,我首先要问的是由于需要事件驱动或与性能相关的动态。

于 2013-03-13T22:30:22.580 回答