【发布时间】:2019-10-28 04:29:08
【问题描述】:
我在我的 *.rdl 中看到了一个神秘的行为。我定义了 2 个数据集。 我定义了 4 个参数,
StartDate,EndDate, companyid, sitecode
对于这两个数据集,我都定义了一个选择查询。
- DatasetA 使用 @Enddate
- DatasetB 没有使用它(它使用,startdate,companyid,sitecode)
我也想从 datasetA 中删除 @EndDate。所以,我使用 @startdate 参数来定义 enddate 并在我的 sql 查询中使用它。 例如:
DECLARE @eDate AS date =EOMonth(@StartDate)
但是在摆脱这个之后,@EndDate,我的第二个数据检索到的数据更少。(即:如果它应该返回 9 月和 10 月的数据,现在它只返回 9 月的数据) 我到处检查了 rdl、行组/列组,但没有任何像这样定义的过滤器。只有当我从第一个数据集更改 @EndDate 参数时,我才会看到这种行为。
例如: 声明 @eDate 为日期 =EOMonth(@StartDate)
Select ..
Where date>=@StartDate AND date<=@Enddate to date<=@eDate
有没有我们使用参数作为过滤检查的地方?如果是这样,我该如何检查它,它在 *.rdl 中的哪些位置使用过?
【问题讨论】:
-
EOMonth(@StartDate)是包含@StartDate的月末。怎么可能从下个月开始? -
@WolfgangKais 我已经发布了答案。我自己想通了。抱歉,可能是我的问题不清楚。
标签: reporting-services ssrs-2008 ssrs-2012 ssrs-tablix