作为SSRS 2005新手,我不清楚如何实现这一点,并且未能将此处提供的其他答案的建议纳入我的具体情况。
方案: 我按部门,性别等计算员工的平均年龄。在某些情况下,没有什么可以计算,在这种情况下,我宁愿返回零。在其当前形式中,我的表达式返回#Error。
表达式:
=Int(Avg(IIF(Fields!CustGender.Value = "F", CDec(Fields!Age.Value),Nothing),"ReportDataset"))
使该表达式返回0的正确语法/逻辑是什么?该部门中没有女性员工?如果我将“Nothing”更改为零,那么是否会抛弃Avg函数的计算?
答案 0 :(得分:1)
我没试过这个,但我想如果你手动计算平均值就应该有效。总和/数:
=Int( SUM(
IIF(
Fields!CustGender.Value = "F",
CDec(Fields!Age.Value),
0
),"ReportDataset")
/ IIF(COUNT(
IIF(
Fields!CustGender.Value = "F",
1,
0
),"ReportDataset") = 0, 1,
COUNT(
IIF(
Fields!CustGender.Value = "F",
1,
0
),"ReportDataset"))
)
当然,如果“F”记录为零,则会抛出错误。