2010-01-21 65 views
0

我有一张表格,可以每小时检索3天的数据,有几种不同的机器可以在特定的瓶子上工作一段时间,在三天的时间内,这台机器上可能会有几个不同的瓶子。我想在第一瓶生产期间显示第一瓶的结果,然后显示第二瓶在此期间的结果,例如,报告服务 - 获取特定时期的结果并延长一段时间

Rows ------------------------------------ Columns ------------------------------------- 
Machine Product  Product Start  18/01/2010 18/01/2010 18/01/2010 18/01/2010 
         Code  Date  05:00  06:00  07:00  08:00 
1  Beer Bottle 10256 17/01/2010 89   89 
           07:00 
2  Wine Bottle 10376 18/01/2010      14   50 
           07:00 

但矿山正在寻找这样的,它保留了之前的瓶的数据:

Machine Product  Product Start  18/01/2010 18/01/2010 18/01/2010 18/01/2010 
         Code  Date  05:00  06:00  07:00  08:00 
1  Beer Bottle 10256 17/01/2010 89   89   14   50 
           07:00 
2  Wine Bottle 10376 18/01/2010 89   89   14   50 
           07:00 

我对产品分组行组和日期时间列组组。

任何人都可以请建议如何让报告像第一个例子那样运行。

问候,AW

回答

0

您是在报告中还是在SQL中汇总数据?如果在SQL中,我有兴趣查看查询。它看起来像是一个SQL问题,而不是报告设置。你介意发布查询吗?

看起来您需要根据产品(或产品代码)以及时间进行聚合。现在你只是根据时间来做它。

HTH

0

HTH,您好,感谢您的回复,我附上了查询的要求:

SELECT  tblRegion.RegionName, tblSite.SiteName, tblLine.LineName, 
      tblCheck.CheckName, tblCheckResult.DateTime, tblCheckResultDecimal.Result, 
      tblProdRun.PartNo, tblProdRun.PartDesc, tblProdRun.EndDateTime 
FROM   tblRegion INNER JOIN 
        tblSite ON tblRegion.RegionID = tblSite.RegionID INNER JOIN 
        tblLine ON tblSite.SiteID = tblLine.SiteID INNER JOIN 
        tblCheckResult ON tblLine.LineID = tblCheckResult.LineID INNER JOIN 
        tblCheck ON tblCheckResult.CheckID = tblCheck.CheckID INNER JOIN 
        tblCheckResultDecimal ON tblCheckResult.CheckResultID = 
        tblCheckResultDecimal.CheckResultID INNER JOIN 
        tblProdRun ON tblLine.LineID = tblProdRun.LineID 
WHERE  (tblCheckResult.DateTime >= @DateFrom) AND (tblCheckResult.DateTime <= 
      @DateTo) AND (tblCheck.CheckID = 69) AND (tblSite.SiteID = @SiteID) AND 
      (tblProdRun.EndDateTime IS NULL) OR 
      (tblCheckResult.DateTime >= @DateFrom) AND (tblCheckResult.DateTime <= 
      @DateTo) AND (tblCheck.CheckID = 69) AND (tblSite.SiteID = @SiteID) AND 
      (tblProdRun.EndDateTime BETWEEN @DateFrom AND @DateTo) 

ORDER BY tblLine.LineName,tblSite.SiteName,tblCheckResult.DateTime