i有一个带有2列,辅导和目标级的表。如果用户没有等级,我们需要将其替换为给其他用户的等级。例如:
TutorInitials TargetGrade
1 A
2 B
3
4 C
辅导3没有等级,因此,无论它们在报告" Targetgrade"时弹出的地方弹出的地方,我们都需要用" Targetgrade"结果替换为辅导2(" B"(的" targetgrade"结果:
TutorInitials TargetGrade
1 A
2 B
3 B
4 C
很抱歉,如果我没有很好地解释它,我对SSR非常陌生。
我曾尝试使用IIF和表达式的位置,但无法正常工作。
谢谢Rob
编辑:发生的事情是,我们在一所学校中一年中一半发生了变化的学校中有学科。新老师需要让一个学生的目标成绩从上一位老师那里升级。因此,它不仅需要从上面的单元格中获取成绩,还需要来自特定的导师(受试者第一教师(,因此我可能需要用成绩替换成等级的1,2或4。
<。您可以使用内置的ssrs先前函数。如果您按照所需的方式对数据进行排序,则可以正常工作。
=Previous(Fields!TargetGrade.Value)
但是,,在以下情况下,导师4会发生什么(使用以前会导致目标等级为空白(:
TutorInitials TargetGrade
1 A
2 B
3
4
5 C
您可以通过两种方式之一来解决这个问题。
查看使用查找。
我更喜欢存储变量并在需要时回忆。
在您的报告代码中添加了一个变量(注释代码不在我的头顶,因为它不在我的头顶(。
Dim lastGrade As String
public Function ProcessAndReturnGrade(ByVal targetGrade AS String) As String
Begin
If (targetGrade<>DbNull.Value) Then
lastGrade = targetGrade
End If
return lastGrade
End Function
然后在您的目标级表达式
中=Code.ProcessAndReturnGrade(Fields!TargetGrade.Value)
我们对这个问题有很好的了解,正如哈利昨天所说,这实际上需要在数据集中的SQL中进行一些广泛的工作。我们发现,将旧报告重新打开给用户并手动添加目标等级将变得更加简单。
感谢大家研究。