如何根据 RDLC 报告中同一 tablix 中第二组的条件获取单元格值

How to get a value of cell based on condition from 2nd group in same tablix in RDLC report

我正在处理 RDLC 报告,我有一个非常具体的客户要求在报告末尾打印摘要。 请参考下图以便清楚理解:

报告摘要是根据两个组生成的:资源(否)和任务工资类型。 第一个 tablix 组 = 否。 第二个 tablix 组 = 任务工资类型。

我需要为每个资源生成一个平均值,其中: 平均值 = 总成本 / 数量(其中任务工资类型 = 每小时任务工资

因此,我正在努力提取 数量 的值,其中任务工资类型 = 每小时任务工资 并将其显示在总计列中每个组。

我怎样才能做到这一点?

目前我已经写了这个表达式来实现结果,但是它抛出了如上图所示的错误

=Sum(CDec(Fields!Total_Cost.Value), "Resource_No1")/Sum(IIF(UCase(Fields!WT_TaskWageType.Value)="HOURLY TASK WAGE", CDec(Fields!Quantity.Value), 1), "Resource_No1")

最后我的 RDLC tablix 图像显示在下面,我有两个组

如何解决这个错误?

我看不出你的表达式有太多错误,所以我会尝试简化事情并构建表达式的每个部分,直到出现错误为止。

虽然有两点...

  1. 您不需要指定范围 "Resource_No1",因为看起来文本框已经在正确的范围内(它在 Resource_No1 组的行中)。
  2. 此外,当任务工资类型不符合您的标准时,您似乎在将 1 添加到您的总金额中。我猜你应该在那里使用 0nothing

您可以先试试这个,如果不行,再慢慢构建表达式的每个部分。

=Sum(Fields!Total_Cost.Value)
 /
Sum(IIF(UCase(Fields!WT_TaskWageType.Value)="HOURLY TASK WAGE",
    Fields!Quantity.Value,
    Nothing)
   )

如果仍然出现错误,请尝试只返回表达式的第二部分,看看会得到什么。

我刚刚在类似的设置上尝试过它,它按预期工作。