reporting-services - 无法使用报表生成器编辑旧的 SSRS 报表
问题描述
我在一份新工作中接管了报告创建/维护。我们使用的是 SQL Server 2012 和 SSRS 2012。当我尝试使用报表生成器编辑其中一个较旧的报表时,我发现我什至无法在不破坏报表的情况下向数据集中的某些代码添加注释。这个特定的报告有 14 个参数,我所要做的就是尝试向数据集添加注释行(不要介意更改代码),然后单击“确定”关闭数据集编辑它会显示此 DEFINE QUERY PARAMETERS 提示以验证参数。如果单击“确定”,则“报告数据”窗口中的数据集下方的所有字段都会消失,并且报告不起作用。
在不尝试应用任何编辑的情况下运行报告本身仍然可以正常工作,是编辑破坏了它。我可以编辑其他以前的报告,只是这个特定的报告显示了这种行为。
解决方案
经过这么长时间终于想通了。该数据集的 SQL 至少有十几个 IF-THEN 语句分布在整个代码中,它们不断检查选定的某个输入参数。我终于将之前报告编写器的代码简化为一个大的 IF-THEN-ELSE 语句,现在可以在 Report Builder 和 Visual Studio 中毫无问题地编辑数据集。我猜微软的 SSRS 解析例程在 2018 年编写此报告(所有这些 IF-THEN 语句都没有问题)和 2020 年(当时解析失败但没有有用的错误消息)之间发生了一些变化。
推荐阅读
- python - 使用 Python 脚本中的参数调用 php 文件
- javascript - React Hooks 状态更新落后了一步。因此,我的更改无法正常工作
- keycloak - Keycloak 前端和后端客户端
- google-cloud-platform - 单词时间戳总是立即连续并且总是从 0 开始吗?
- bash - 在路径中的任意位置查找具有特定文件夹名称的文件
- c# - 更改 Telerik:radcalendar 中日期列表的样式
- javascript - Splidejs视频未显示
- javascript - 不包括周日和节假日的送货柜台
- python - PYTHON 错误:TypeError:“模块”对象不可调用
- python - 如何计算两个日期之间的差异,动态拆分它们?Python