虽然这个问题的各个部分有很多代码示例,但作为Report Designer的新手,我无法获得正确的语法。
我有一个文本字段,我希望从三个DataSet中的一个显示“持续时间”的SUM,这由同一个DataSet中具有值“H”的另一个字段确定。
所以把它分成几部分,这可以在ReportDataset中总结所有小时。
=Sum((Fields!RegHrs.Value + Fields!OvtHrs.Value),"ReportDataset")
现在,不知何故,我需要将其嵌套在IIF中。当BillStatus =“H”时,我需要将SUM表达式作为IIF的“真实”返回。
IIF(Fields!BillStatus.Value = "H",true,false)
我似乎无法弄清楚如何将IIF和SUM结合起来,以便它们从“ReportDataset”中提取并在语法上是正确的。
我一直在尝试各种各样的排列:
=Sum(IIF(Fields!BillStatus.Value = "H",((Fields!RegHrs.Value + Fields!OvtHrs.Value),"ReportDataset"),0))
任何指针?
新信息:
以下报告语法正确,但返回值为0。
=Sum(IIF(Fields!BillStatus.Value = "H", (Fields!RegHrs.Value + Fields!OvtHrs.Value),0),"ReportDataset")
应该有数百小时的回归。
答案 0 :(得分:1)
您可以使用SQL在数据集中执行此操作吗?如果是这样,请使用以下内容:
SELECT CASE WHEN BillStatus = 'H' THEN RegHrs + OvtHrs END AS HeldHours
FROM MyTable
然后您需要做的就是总结这个字段:
=Sum(Fields!HeldHours.Value, "ReportDataSet")
答案 1 :(得分:1)
尝试嵌套总和:
=Sum(IIF(Fields!BillStatus.Value = "H", Sum(Fields!RegHrs.Value + Fields!OvtHrs.Value,"ReportDataset"),0),"ReportDataset")
或者:
=IIF(Fields!BillStatus.Value = "H", Sum(Fields!RegHrs.Value + Fields!OvtHrs.Value,"ReportDataset"),0)