我正在更改.rdl
ffile 中数据集的命令文本:
我想知道如何更新fields
select 语句返回的结果:
我知道这些字段必须自动生成,所以我想知道是否可以在内联编辑 SQL 代码后立即更新它们?
我正在更改.rdl
ffile 中数据集的命令文本:
我想知道如何更新fields
select 语句返回的结果:
我知道这些字段必须自动生成,所以我想知道是否可以在内联编辑 SQL 代码后立即更新它们?
通常,当有人想查看命令文本中的数据时,他们希望将其作为最终用户的参考(据我所见)。您可能想要修改它,但最终报告您的第一个目标应该是:“我这样做是为了什么?” 如果您的目标是在运行时动态创建,那么我会避免这种情况并提供一些其他建议:
对其进行认证。如果你知道如何在 SQL Server 中创建存储过程,这是一种方便快捷的方式来获得你想要的东西,如果你知道你在用你的 SQL FU 做什么来获得好的结果,你可以优化它。不利的一面是,如果您使用多个环境,则必须为 TSQL 和 RDL 文件部署代码。
使用表达式在运行时构建数据集。如果有人告诉我查询本身没有被其他开发人员正确优化,他们提到这样做。我自己并不总是看到这样做的好处,而不是仅仅让你的谓词构造在源引擎上具有良好的索引工作得很好。无论如何,您都可以在运行时构建数据集。这类似于在文本旁边点击“fx”,然后输入类似这样的内容(假设您有一个名为 @Start 的变量):
="Select thing
from table
Where >= " & Parameters!Start.Value
同样,我还没有真正看到这是否真的比:
Select thing
from table
Where >= @Start
但是,如果您只想动态构建它,它就在那里。
您可以尝试从作为 select 语句一部分的参数动态构建表达式。SSRS 就是关于“表达式”以及你可以用它们做什么。一旦你开始了解它们如何适用于所有事情,你就会发疯,可以说使用它们。不过,一般规则是您使用和依赖的报告越多,您的报告就会变得越慢。
我希望其中一些可能会有所帮助,我首先要问的是由于需要事件驱动或与性能相关的动态。