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