【问题标题】:SSRS - How to total a rowSSRS - 如何总计一行
【发布时间】:2016-03-31 15:40:55
【问题描述】:
Report Month         Booked Month          Hours     Available Hours    Reported Hours
2015-12-01 00:00:00 2015-10-01 00:00:00     3.5       97                   172
2015-12-01 00:00:00 2015-10-01 00:00:00     0.75      97                   172
2015-12-01 00:00:00 2015-10-01 00:00:00     6.85      97                   172
2015-12-01 00:00:00 2015-10-01 00:00:00     3         97                   172
2015-11-01 00:00:00 2015-10-01 00:00:00     3.5       97                   185
2015-11-01 00:00:00 2015-10-01 00:00:00     0.75      97                   185
2015-11-01 00:00:00 2015-10-01 00:00:00     6.85      97                   185
2015-11-01 00:00:00 2015-10-01 00:00:00     3         97                   185

在我的 SSRS 报告中,我想汇总报告的小时数列。此人在 12 月预订了 172 小时,在 11 月预订了 185 小时,因此他一年的总数应该是 185 + 172 = 357。

在我当前的报告中,它将所有行加在一起。我如何让它每月只选择一行报告的小时数?

谢谢

【问题讨论】:

    标签: reporting-services ssrs-grouping


    【解决方案1】:

    在 SSRS 中没有固定的方法来执行此操作。

    通常您会将查询包装在另一个使用 ROW_NUMBER 并按月分组的查询中。然后仅在 row_numnber = 1 时添加小时数。

    How do I use ROW_NUMBER()?

    不幸的是,这并不总是可能的。我编写了一些代码来添加基于另一个字段的唯一记录。我这样做是为了获取不同供应商的支票金额。

    对于表达式,您可以使用:

    =Code.SUMVendors(Report_Month & "|" & Fields!Reported_Hours.Value)
    

    将 Visual BASIC 添加到报告的 CODE

    FUNCTION SUMVendors(BYVAL ITEMS AS OBJECT()) AS DECIMAL
    'Returns Sum of unique vendors. Use as Code.SUMVendors(Vendor & "|" & Amount)
    IF ITEMS IS NOTHING THEN 
        RETURN NOTHING
        GOTO EXITSUB
    END IF
    
    DIM TEMP AS STRING
    DIM VENDORS AS STRING = ""
    DIM VENDOR AS STRING = ""
    DIM VALUE AS DECIMAL 
    
    FOR EACH ITEM AS OBJECT IN ITEMS
    
        TEMP = CONVERT.TOSTRING(ITEM)
    
        VENDOR = "|" & LEFT(TEMP, InStr(TEMP, "|"))
    
        VALUE = CDEC(MID(TEMP, InStr(TEMP, "|") + 1, LEN(TEMP)))
    
        IF InStr(VENDORS, VENDOR) = 0 Then  
            VENDORS = VENDORS + VENDOR 
            SUMVendors = SUMVendors + VALUE
        End If
    
    NEXT
    
    EXITSUB:
    END FUNCTION 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-08
      • 2013-08-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多