我在* .rdl中看到一个神秘的举动。我定义了2个数据集。我定义了4个参数,
StartDate,EndDate, companyid, sitecode
对于两个数据集,我都定义了一个选择查询。
我也想从数据集A中删除@EndDate。因此,即时通讯使用@startdate参数定义结束日期,并在我的sql查询中使用它。例如:
DECLARE @eDate AS date =EOMonth(@StartDate)
但是摆脱掉@EndDate之后,我的第二个数据检索的数据更少。(即:如果它应该返回9月和10月的数据,那么现在仅从9月返回)我到处都检查了rdl,rowgroup / column组,但是没有定义任何这样的过滤器。仅当我从第一数据集中更改@EndDate参数时,我才能看到此行为。
例如:宣告@eDate AS日期= EOMonth(@StartDate)
Select ..
Where date>=@StartDate AND date<=@Enddate to date<=@eDate
我们在任何地方都将参数用作过滤器检查吗?如果是这样,我如何检查它在* .rdl中的使用位置?
我知道了这个问题。这是由于我在两个数据集之间都使用了查找功能。因此,当dataset2尝试检索正确的行数时,dataset1在对其进行控制,因为它没有在该日期返回行。例如:dataset1返回9月数据,而dataset 2返回9月+ 10月数据。由于具有查找功能,Dataset1控制数据集2的十月数据。