Ssrs 2008 SSRS按最后可用日期排序

Ssrs 2008 SSRS按最后可用日期排序,ssrs-2008,reporting-services,Ssrs 2008,Reporting Services,我有一些列,有名称、描述和消息。为了在ssrs中查看这些列,应用了日期过滤器。然而,当日期很短时,我会得到一个错误。错误:由于达到资源限制,提供程序终止了执行。我的问题是:是否可以将数据过滤器减少到数据库中存在的最后一个日期。通过这种方式,可以将数据过滤器应用于数据库中最后一个存在的日期,然后消除错误 提前谢谢 编辑1: 时间戳|名称|描述|消息| 2011年11月12日上午10:50:51 | EBKBH 2349 |泵|功能| 2012年8月1日上午10:50:51 | ZDFWH 2989

我有一些列,有名称、描述和消息。为了在ssrs中查看这些列,应用了日期过滤器。然而,当日期很短时,我会得到一个错误。错误:由于达到资源限制,提供程序终止了执行。我的问题是:是否可以将数据过滤器减少到数据库中存在的最后一个日期。通过这种方式,可以将数据过滤器应用于数据库中最后一个存在的日期,然后消除错误

提前谢谢

编辑1: 时间戳|名称|描述|消息|

2011年11月12日上午10:50:51 | EBKBH 2349 |泵|功能|

2012年8月1日上午10:50:51 | ZDFWH 2989 |传感器|关闭|


假设1/08/12是数据库中的最后一个日期,但在过滤器中,我选择了1/01/13-02/02/13之间的一个日期,然后应用程序运行了很长时间,然后它给出了我前面提到的错误,我不明白为什么你要在SSR中选择多个数据源时使用Openquery

我会做更简单的事情

为表日期设置一个数据源,如果实际数据在别处,则设置另一个数据源。 设置一个数据集,称之为“MaxDate”,用于最后一个日期,如下所示:

Select Max(Date) as MaxDate
From (tableName)
这将为您提供整个表的最长日期,这听起来像是您想要的

设置在2中获取此数据集的参数。通过选择参数使用“从查询中获取值”。选择它以使用MaxDate作为id和标签

现在,按照您喜欢的方式为主查询设置一个数据集,并执行如下谓词:

Where dt between @Start and @MaxDate
您可以为日期值设置@Start参数,但@MaxDate绑定到您指定的最大日期

**可选:您将另一个日期字段设置为@End,如果希望灵活性不必使用@MaxDate,则只需将@MaxDate的值默认为该字段。您只需创建第三个变量@End,然后在“默认值”窗格中选择“指定值”。点击“Fx”表达式按钮,然后选择参数!值,这将默认为最大日期。但是你也可以选择一个提前的日期


我通常使用共享数据集中的默认日期设置我的大多数报告,以使它们都在设置的日期范围内运行。

请编辑您的问题并使其更清楚。在使用数据过滤器后,我检索了不同的列。-您使用哪种过滤器,在哪里?但是,如果将时间段设置为较短的时间段,则服务将运行很长时间,然后返回错误。确切地说,您从哪个服务中获得了哪个错误?另外,发布一个查询示例将有助于给出答案。尝试编辑,如果仍然不清楚,我将尝试找到一种方法来提供示例。从OPENQUERYServer中选择*,SELECT*FROM Table WHERE ObjectName IN SELECT Name COLLATE DATABASE_DEFAULT FROM DBServerMyTable WHERE LOCATION=Name1,SOURCE=Name2,TIMESTAMP>='+@StartDate+'和TIMESTAMP<'+@EndDate+'@Roman Badiornyi您认为查询中的if语句可以解决这个问题吗?类似于如果EndDate<@startingDate RETURN Error请提供一些屏幕截图,此外-日期是否也是您正在谈论的表格中的一列?非常感谢:这就是我正在寻找的。。。非常感谢你!顺便说一句,我使用Openquery的原因是我还需要连接到链接服务器。基本上,我有一个表,在这个表中,我使用主键从链接服务器上的表中选择多个列。你可以分别连接到两个数据集,除非你必须在同一个查询中执行它们。记住,使用SSRS,您还可以创建一个报告作为对象,引用一个完全不同的数据集和报告。然后将主报告中的单独报告称为“子报告”。子报表甚至可以嵌套在表对象的单元格中。请记住这一点,因为它可能不适合您的需要,但在某些情况下,当您同时处理多个数据集的表示时,可能会出现这种情况。