【发布时间】:2018-02-07 15:10:32
【问题描述】:
我有一个包含 2 列的表,TutorInitials 和 TargetGrade。如果用户没有评分,我们需要将其替换为给予不同用户的评分。例如:
TutorInitials TargetGrade
1 A
2 B
3
4 C
TutorInitial 3 没有成绩,因此当显示“TargetGrade”时,无论他们在报告中弹出什么,我们都需要用 TutorInitial 2 ('B') 的“TargetGrade”结果替换空框,所以它显示如下:
TutorInitials TargetGrade
1 A
2 B
3 B
4 C
抱歉,如果我没有很好地解释它,我对 SSRS 很陌生。
我尝试过使用 IIF 和 WHERE 表达式,但无法使用。
谢谢 抢
编辑:发生的事情是我们在一所学校的科目中,教师在一年中换了一次。新老师需要从前任老师那里获得学生的目标成绩。因此,与其只是从上面的单元格中获取成绩,还需要来自特定的导师(科目第一老师),所以我可能需要将成绩替换为 1,2 或 4 的成绩。
【问题讨论】:
-
为什么是 2,B?我们是如何决定的?为什么不是 C 而不是 B?总是一个先前的成绩?
-
试试这个-> IIF(IsNothing(Fields!TargetGrade,Value),Previous(Fields!TargetGrade,Value),Fields!TargetGrade,Value)
-
如果上一行也没有成绩怎么办?
-
对不起,我应该更清楚。它并不是要专门去抢上一行的等级。我想用另一个特定的用户等级来填充它。所以我知道 TutorInitials 3 没有成绩,我知道 TutorInitials 1,2 和 4 确实有成绩。我可以选择其中任何一个,但如果我特别想插入 TutorInitials 2 的数据。有没有办法使用相同的代码,但只需替换 TutorInitial ,所以如果我想在 TutorInitial 1 出现时调出 TutorInitial 4 的成绩,我可以这样做吗?
-
我认为这应该在检索数据集 (SQL) 时解决,而不是在 SSRS 中解决。
标签: sql visual-studio reporting-services ssrs-expression