【问题标题】:How to get total from grouped row如何从分组行中获取总数
【发布时间】:2016-01-08 13:48:49
【问题描述】:

我尝试获取 Employee 的总小时数

我的报告应如下所示:

    GROUP "Month"        | Details 

Month | WorkHoursMonth | section | Hours         STATIC
----------------------------------------         --------------
      |                |   A1    |   12         
 1    |     50         |   B3    |   38         
----------------------------------------         
      |                |   A1    |   12         
 2    |     50         |   B3    |   38         
----------------------------------------         GROUP "Month"
      |                |   A1    |   12         
 3    |     62         |   B3    |   38         
      |                |   C1    |   12         
----------------------------------------         
 4    |     38         |   B3    |   38         
----------------------------------------         --------------
Total |    200                                   STATIC Total 

我尝试像SUM(Field.WorkHoursMonth.Value,"Month") 一样使用 SUM()。 但我得到一个错误

Fehler 1 Der Value-Ausdruck für das Textfeld-Objekt 'SollStunden1' weist einen Bereichsparameter auf, der für eine Aggregatfunktion ungültig 主义者。 Der Bereichsparameter muss auf eine Zeichenfolgenkonstante festgelegt sein, die einem der folgenden Werte entspricht: dem Namen einer enthaltenden Gruppe, dem Namen eines enthaltenden Datenbereichs oder dem Namen eines Datasets。


更新 1

问题是我目前的总数是 424 而不是 200 但我不知道如何在最后为该组计算总数 基于错误必须在组内

    GROUP "Month"        | Details 

Month | WorkHoursMonth | section | Hours         STATIC
----------------------------------------         --------------
      |                |   A1    |   12         
 1    |     50         |   B3    |   38         
----------------------------------------         
      |                |   A1    |   12         
 2    |     50         |   B3    |   38         
----------------------------------------         GROUP "Month"
      |                |   A1    |   12         
 3    |     62         |   B3    |   38         
      |                |   C1    |   12         
----------------------------------------         
 4    |     38         |   B3    |   38         
----------------------------------------         --------------
Total |    424                                  STATIC Total 

更新 2

【问题讨论】:

    标签: reporting rdlc rdl


    【解决方案1】:

    首先,我相信你可能犯了一个印刷错误:

    我尝试像SUM(Field.WorkHoursMonth.Value,"Month") 一样使用 SUM()。但我得到一个错误

    =SUM(Fields!WorkHoursMonth.Value,"Month")
    

    但根据您的错误消息,我怀疑这是您问题的原因。我相信您要么没有正确分组,要么您的组没有被称为“Month”。
    您可以尝试删除范围定义并简单地使用以下表达式,只要确保它仍在您的组内。

    =SUM(Fields!WorkHoursMonth.Value)
    

    编辑:我没有意识到 WorkHoursMonth 对于所有行都是相同的,并且没有被分组。谁知道这会导致尝试计算总数时出现这么多问题......

    只要整个月的 WorkHoursMonth 值相同,您设置的分组似乎是正确的,这似乎是您的情况。

    然后应该使用以下表达式计算您想要的总数:

    =Sum(Max(Fields!WorkHoursMonth.Value,"Month"))
    

    【讨论】:

    • 我们已经调查过了,没有排版错误(肯定是用了复制+粘贴),我们也不能用=SUM(!Fields.WorkHoursMonth.Value)因为结果会是424 因为(50+50)+(50+50)+(62+62+62)+38 = 424
    • 但是我该怎么做呢?那是我的问题
    • 通常组名显示在设计器的左下角。我现在无法访问我的 VisualStudio,所以我无法截屏,但我会在 google 上查找图像。
    • 我不知道您屏幕截图上的所有“静态”内容发生了什么。您尝试过吗?:在 tablix 数据区域行组区域中,右键单击行组区域中您想要总计的单元格,指向添加总计,然后单击之前或之后。当前组之外的新行被添加到数据区域,然后为行中的每个数字字段添加默认总计。
    • 静态的东西是正常的,每个代表一列,对于你的问题,这正是我所做的,右键单击组 -> 添加总计 -> 之后,但这里它只有自动 Sum Details 而没有 GroupRow
    【解决方案2】:

    只需使用 [sum(month)] 将其放在您的总数中

    【讨论】:

    • 我试过了:[sum(month)],=[sum(month)],=sum(month) 但后来我无法编译
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    相关资源
    最近更新 更多