我正在更改 .rdl
文件内数据集的命令文本:
我想知道如何更新 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 的核心是“表达式”以及您可以用它们做什么。一旦你开始了解它们如何应用于一切,你就会发疯,可以说使用它们。但一般规则是您使用和依赖的它们越多,您的报告就会变得越慢。
我希望其中一些内容可能有所帮助,我首先会问的是由于需要事件驱动或与性能相关而动态的东西。
关于sql - 更新SQL后如何自动更新字段名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15395391/