这将很难解释,也很难搜索答案。
我的数据集包含员工工作订单的信息,以及它们的估计成本,然后是基于已完成任务的实际成本。该查询如下所示
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表达式中,但它给出的值远远高于它应有的值。我在某处读到(找不到链接),我必须使用scope来计算和,但这没有帮助。
我尝试了以下方法,但该值仍然比正常值高出3-4倍
Sum(
IIf(Fields!PlannedCost.Value >= Sum(Fields!TaskActualCost.Value, "table1_Details_Group"),
Fields!PlannedCost.Value,
Sum(Fields!TaskActualCost.Value, "table1_Details_Group")
)
)实现这一目标的最佳方法是什么?我希望我只是错过了一些简单的东西,因为这看起来应该是相当简单的。
发布于 2018-02-01 21:49:02
在this blog post的帮助下,我终于解决了这个问题
我原以为是我的任务总和表达式导致了这个问题,但实际上是PlannedCost列。当我把它包装在另一个总和中时,它计算了数据中的每一行,这现在看起来很明显。
无论如何,工作订单小计保持不变。
按员工列出的小计更改为(请注意“”函数)
=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)总计表达式与员工小计表达式相同。
希望这对将来的其他人有所帮助。
https://stackoverflow.com/questions/48547642
复制相似问题