【问题标题】:Additional nested IIF额外的嵌套 IIF
【发布时间】:2016-12-07 00:59:18
【问题描述】:

我真的希望有人可以帮助解决这个问题,我对 SSRS 的细节并不是很感兴趣,而且我正在努力寻找任何能够回答我的问题的文章,或者至少为我指明正确的方向。

我正在尝试编写一份报告,查看学生在每个单元上获得的成绩,将其从“D”或“M”等更改为一个值;1 或 2 等...然后根据他们完成的单元数给我平均值。

我已经做到了这一点,但是我现在需要输出一个字段来显示平均值是否在 1.0 和 1.5 之间显示“通过”,在 1.6 和 2.5 之间显示“Merit”以及在 2.6 和 3.0 之间显示“区别”。

这是我到目前为止所得到的:

  =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,但我真的不太确定。
任何帮助将不胜感激

谢谢 S

【问题讨论】:

    标签: reporting-services


    【解决方案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 表达式的文本框。

    希望这会有所帮助。

    【讨论】:

    • 非常感谢,这绝对是我需要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多