提问人:Hassnain 提问时间:5/31/2022 最后编辑:Hassnain 更新时间:5/31/2022 访问量:348
如何根据RDLC报告中同一tablix中第二组的条件获取单元格值
How to get a value of cell based on condition from 2nd group in same tablix in RDLC report
问:
我正在处理RDLC报告,我有一个非常具体的客户要求在报告末尾打印摘要。 请参考下图清楚理解:
报告摘要基于两个组生成:资源(否)和任务工资类型。 第 1 个 tablix 组 = 否。 第 2 个 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赞
Alan Schofield
5/31/2022
#1
我看不出你的表达式有太多问题,所以我会尝试简化事情并构建表达式的每个部分,直到你得到一个错误。
不过有两点......
- 您不需要指定范围,因为文本框似乎已在正确的范围内(它位于Resource_No1组的行中)。
"Resource_No1"
- 此外,当任务工资类型与您的标准不匹配时,您似乎正在添加到您的总金额中。我猜你应该使用或在那里代替。
1
0
nothing
你可以先尝试一下,如果这不起作用,请慢慢建立表达式的每个部分。
=Sum(Fields!Total_Cost.Value)
/
Sum(IIF(UCase(Fields!WT_TaskWageType.Value)="HOURLY TASK WAGE",
Fields!Quantity.Value,
Nothing)
)
如果仍然出现错误,请尝试仅返回表达式的第二部分,看看得到什么。
我只是在类似的设置上尝试过这个,它按预期工作。
评论
0赞
Hassnain
5/31/2022
在理想情况下可以完美工作,但当分母中的总和为 0 时就会中断。如何处理?我尝试了多种方法,但在每种情况下,它都会抛出一个 #Error。
0赞
Alan Schofield
6/1/2022
您可以通过检查表达式的两个部分的分母为 0 直接在表达式中处理此问题,但阅读起来很混乱。一种更简单的方法是向报表添加一个简单的函数。有很多关于如何做到这一点的例子(5分钟的工作),这里有一个你可以看看。看看 24 票的答案,而不是被接受的答案......stackoverflow.com/questions/10432714/......
0赞
Hassnain
6/1/2022
完美,我已经能够计算出我想要的结果。
评论