附加的嵌套IIF

时间:2016-12-06 16:25:31

标签: reporting-services

我真的希望有人可以帮忙解决这个问题,我对SSRS的细节并不是很热,而且我很难找到任何能够回答我的问题的文章,或者至少是我朝着正确的方向前进。

我正在尝试撰写一份报告,该报告会查看学生为每个单元获得的成绩,并通过" D"或" M'等...到一个价值; 1或2等......然后根据他们完成的单位数给出平均值。

我设法做到这一点,但我现在需要输出一个字段,显示平均值是否在1.0和1.5之间显示" Pass",在1.6和2.5之间显示&# 34;优异"在2.6和3.0之间显示" Distinction"。

这是我到目前为止的地方:

  =SUM(IIF(Fields!ActualGrade.Value="D",3,IIF(Fields!ActualGrade.Value="M",2,IIF(Fields!ActualGrade.Value="P",1,0))))/Fields!CompletedUnits.Value

我想在SUM之前我可能需要另一个IIF,但我真的不太确定。
任何帮助都将受到大力赞赏

由于 小号

1 个答案:

答案 0 :(得分:1)

尝试使用此表达式:

=Switch(
   (SUM(IIF(Fields!ActualGrade.Value="D",3,IIF(Fields!ActualGrade.Value="M",2,IIF(Fields!ActualGrade.Value="P",1,0)))) /
   Fields!CompletedUnits.Value) > 2.6, "Distinction",
   (SUM(IIF(Fields!ActualGrade.Value="D",3,IIF(Fields!ActualGrade.Value="M",2,IIF(Fields!ActualGrade.Value="P",1,0)))) /
   Fields!CompletedUnits.Value) > 1.5, "Merit",
   (SUM(IIF(Fields!ActualGrade.Value="D",3,IIF(Fields!ActualGrade.Value="M",2,IIF(Fields!ActualGrade.Value="P",1,0)))) /
   Fields!CompletedUnits.Value) > 0.9, "Pass",
   true,"Nothing"
)

此外,如果您想显示列中的平均值和确定的字符串(Metir,Pass和Distinction),您可以通过执行以下操作来引用文本值:

=Switch(
   ReportItems!TextBox14.Value > 2.6, "Distinction",
   ReportItems!TextBox14.Value > 1.5, "Merit",
   ReportItems!TextBox14.Value > 0.9, "Pass",
   true,"Nothing"
)

TextBox14是放置Sum(IIF(...))/YouField表达式的文本框。

希望这有帮助。