2

虽然这个问题的各个部分有很多代码示例,但作为报表设计器的新手,我无法获得正确的语法。

我有一个文本字段,我想显示三个数据集中之一的“保留时间”的总和,这由同一数据集中的另一个字段确定,其值为“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")

应该有数百小时返回。

4

2 回答 2

2

尝试嵌套总和:

=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)
于 2012-12-16T01:25:53.450 回答
1

你能用 SQL 在你的数据集中做吗?如果是这样,只需使用以下内容:

SELECT CASE WHEN BillStatus = 'H' THEN RegHrs + OvtHrs END AS HeldHours
FROM MyTable

然后你需要做的就是对这个字段求和:

=Sum(Fields!HeldHours.Value, "ReportDataSet")
于 2012-12-13T22:27:03.173 回答