2010-01-21 4 views
0

J'ai une table qui récupère des données sur une période de 3 jours sur une base horaire, il y a plusieurs machines différentes qui fonctionnent sur une bouteille spécifique pendant une période de temps , pendant la période de trois jours, il pourrait y avoir plusieurs bouteilles différentes vont sur cette machine. Je veux montrer les résultats de la première bouteille pendant le temps où ils ont été produits, suivi par les résultats de la deuxième bouteille durant cette période, par ex.Reporting Services - Obtenir les résultats pour une période spécifique sur une période plus longue

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 

Mais le mien est à la recherche comme celui-ci, il conserve les données antérieures de bouteilles:

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 

Je le groupe de lignes groupées sur le produit et le groupe de groupe de colonnes sur DateTime.

Quelqu'un peut-il s'il vous plaît conseiller comment je peux obtenir le rapport pour fonctionner comme le premier exemple.

Cordialement, AW

Répondre

0

regroupent des données que vous les dans le rapport ou dans SQL? Si en SQL je serais intéressé de voir la requête. Cela me semble être un problème SQL au lieu de créer un rapport. Cela vous dérange-t-il de publier la requête?

Il semble que vous ayez besoin de limiter l'agrégation en fonction du produit (ou du code produit) et de l'heure. En ce moment, vous ne faites que base sur le temps.

HTH

0

HTH, Bonjour, je vous remercie d'avoir répondu, je joins la requête comme demandé:

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

Questions connexes