这很难解释,并且很难找到答案。
我的数据集包含员工工作单的信息,包括估算的成本,然后是基于已完成任务的实际成本。查询看起来像
Employee WorkOrder Planned Task Actual
John j101 500 1 300
John j101 500 2 300
John J102 500 1 100
John j101 500 2 200
Chris C201 300 1 150
Chris C201 300 2 150
Chris C202 400 1 200
Chris C202 400 2 100
Chris C202 400 3 100
Chris C202 400 4 100
每个工单都在标题级别具有估计成本,并与其任务的实际成本之和进行比较。 “预期成本”列采用计划成本的最大值和实际总成本。
该表达式正常工作,看起来像
IIf(Fields!PlannedCost.Value >= Sum(Fields!TaskActualCost.Value),
Fields!PlannedCost.Value,Sum(Fields!TaskActualCost.Value))
我现在必须按员工小计这些预期成本,然后按总计整数数据集。
我一直在尝试将IIF包装在另一个SUM表达式中,但它给了我的价值高于应有的价值。我在某处找不到(找不到链接)我必须使用范围作为总和,但它没有帮助。
我尝试了以下方法,但价值仍然比应该高出3-4倍
Sum(
IIf(Fields!PlannedCost.Value >= Sum(Fields!TaskActualCost.Value, "table1_Details_Group"),
Fields!PlannedCost.Value,
Sum(Fields!TaskActualCost.Value, "table1_Details_Group")
)
)
实现这一目标的最佳方法是什么?我希望我只是错过了一些简单的东西,因为这看起来应该很简单。
答案 0 :(得分:0)
我终于在this blog post
的帮助下找出了问题我原以为是导致问题的是我的任务SUM表达式,但它实际上是PlannedCost列。当我将其包装在另一个SUM中时,它会为数据中的每一行计算它,现在看起来很明显。
无论如何,工作订单小计保持不变。
员工小计更改为(注意“最大”功能)
=FormatCurrency(
Sum(
IIf(Max(Fields!PlannedCost.Value,"table1_WONum") >= Sum(Fields!TaskActualCost.Value, "table1_WONum"),
Max(Fields!PlannedCost.Value,"table1_WONum"),
Sum(Fields!TaskActualCost.Value, "table1_WONum")
)
)
,2)
总计表达式与员工小计相同。
希望这有助于将来的其他人。