Reporting services 一个数据集控制SSRS*.rdl中的其他数据集?

Reporting services 一个数据集控制SSRS*.rdl中的其他数据集?,reporting-services,ssrs-2008,ssrs-2012,ssrs-tablix,Reporting Services,Ssrs 2008,Ssrs 2012,Ssrs Tablix,我在*.rdl中看到一种神秘的行为。我定义了两个数据集。 我定义了4个参数 开始日期、结束日期、公司ID、站点代码 对于这两个数据集,我定义了一个select查询 数据集使用@Enddate 数据集B未使用它(它使用、开始日期、公司ID、站点代码) 我也想从datasetA中删除@EndDate。因此,我使用@startdate参数来定义enddate,并在我的sql查询中使用它。 例如: 但在去掉这个@EndDate之后,我的第二个数据检索到的数据更少。(即:如果它应该返回9月和1

我在*.rdl中看到一种神秘的行为。我定义了两个数据集。 我定义了4个参数

  • 开始日期、结束日期、公司ID、站点代码
对于这两个数据集,我定义了一个select查询

  • 数据集使用@Enddate
    • 数据集B未使用它(它使用、开始日期、公司ID、站点代码)
我也想从datasetA中删除@EndDate。因此,我使用@startdate参数来定义enddate,并在我的sql查询中使用它。 例如:

但在去掉这个@EndDate之后,我的第二个数据检索到的数据更少。(即:如果它应该返回9月和10月的数据,那么现在它只从9月返回) 我到处检查了rdl、行组/列组,但没有这样定义的任何过滤器。只有当我从第一个数据集中更改@EndDate参数时,我才能看到这种行为

例如: 将@eDate声明为date=EOMonth(@StartDate)

选择。。

其中date>=@StartDate和date我解决了这个问题。这是因为我在两个数据集之间使用了查找函数。因此,当dataset2试图检索正确的行数时,dataset1控制着它,因为它没有返回该日期的行数。 例如:数据集1返回9月数据,而数据集2返回9月+10月数据。
由于具有查找功能,Dataset1控制dataset2的10月数据

EOMonth(@StartDate)
是包含
@StartDate
的月份的结束。怎么可能是从下个月开始?@WolfgangKais我已经发布了答案。我明白了。对不起,可能是我的任务不清楚。
DECLARE @eDate AS date =EOMonth(@StartDate)
Select ..
Where date>=@StartDate AND date<=@Enddate to date<=@eDate