【问题标题】:2 time periods in one report SQL Reportbuilder 2012 3.0一份报告中有 2 个时间段 SQL Report Builder 2012 3.0
【发布时间】:2016-03-16 16:59:24
【问题描述】:

我希望在 Microsoft SQL Reportbuilder 3.0 2012 中查看图片中显示的两个时期的报告。我做了一个查询,将显示红色期间,但我似乎无法在一份报告中同时获得黑色期间和红色期间。它们需要是彼此相邻的 2 个不同的列。 此报告的目的是显示某个项目从开始到今天的所有预订,并具体查看某个月份的预订情况。 有没有办法做到这一点,还是不可能?

【问题讨论】:

    标签: sql reporting-services reportbuilder3.0


    【解决方案1】:

    我想我会分享答案。这是我用来解决问题的代码。

     SELECT 
        tblReg.PurchaseOrderId,
        tblReg.Reference AS PO, 
        SUM(HoursBefore) AS HoursBefore, 
        SUM(HoursBefore)/8 AS DaysBefore, 
        SUM(HoursBetween) AS HoursBetween, 
        SUM(HoursBetween)/8 AS DaysBetween, 
        SUM(HoursAfter) AS HoursAfter, 
        SUM(HoursAfter)/8 AS DaysAfter, 
        MIN(BudgetDays) AS BudgetDays
    FROM
    (
        SELECT 
            po.PurchaseOrderId,
            po.Reference,
            BudgetDays,
            CASE 
                WHEN reg.RegistrationDate < @StartDate THEN DurationHours
                ELSE 0
            END AS HoursBefore,
            CASE 
                WHEN reg.RegistrationDate >= @StartDate AND reg.RegistrationDate <= @EndDate THEN DurationHours
                ELSE 0
            END AS HoursBetween,
            CASE 
                WHEN reg.RegistrationDate > @EndDate THEN DurationHours
                ELSE 0
            END AS HoursAfter
        FROM Registration reg
        INNER JOIN PurchaseOrder po ON reg.PurchaseOrderId = po.PurchaseOrderId
        WHERE po.statuscid = 1 AND reg.IsBillable = 1 AND SetNonBillable = 0 --AND reg.RegistrationDate >= @StartDate AND reg.RegistrationDate <= @EndDate
    )tblReg
    GROUP BY tblReg.PurchaseOrderId, tblReg.Reference
    ORDER BY tblReg.Reference;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-04-04
      • 1970-01-01
      相关资源
      最近更新 更多